jcs
/amend
/amendments
/30
About box: Fix VersRecHndl parsing
The length of the inital shortVersion is variable, it's a Pascal
string.
jcs made amendment 30 over 3 years ago
--- main.c Mon Oct 18 09:22:19 2021
+++ main.c Wed Nov 17 10:52:34 2021
@@ -208,11 +208,18 @@ handle_menu(long menu_id)
VersRecHndl vers;
char vers_s[255];
char short_vers[255] = { 0 };
+ short vlen;
if ((vers = (VersRecHndl)GetResource('vers', 1))) {
+ /*
+ * vers "long version string" is a pascal string after the
+ * short version pascal string
+ */
HLock(vers);
- memcpy(short_vers, (*vers)->shortVersion + 3,
- ((*vers)->shortVersion)[2]);
+ vlen = (*vers)->shortVersion[0];
+ memcpy(short_vers, (*vers)->shortVersion + vlen + 1,
+ sizeof((*vers)->shortVersion) - vlen - 1);
+ PtoCstr(short_vers);
sprintf(vers_s, "%s %s", PROGRAM_NAME, short_vers);
ReleaseResource(vers);
note("%s", vers_s);