MacOSX/Qt system tweaks
These changes clean up build warnings and allow the resulting "NetHack" Application icons to be dragged around freely in the Finder, as is expected for Mac apps.
This commit is contained in:
@@ -60,7 +60,7 @@ char *argv[];
|
||||
running from finder --sam */
|
||||
#define MAC_PATH_VALUE ".app/Contents/MacOS/"
|
||||
char mac_cwd[1024], *mac_exe = argv[0], *mac_tmp;
|
||||
int arg0_len = strlen(mac_exe), mac_tmp_len;
|
||||
int arg0_len = strlen(mac_exe), mac_tmp_len, mac_lhs_len=0;
|
||||
getcwd(mac_cwd, 1024);
|
||||
if(mac_exe[0] == '/' && !strcmp(mac_cwd, "/")) {
|
||||
if((mac_exe = strrchr(mac_exe, '/')))
|
||||
@@ -72,10 +72,11 @@ char *argv[];
|
||||
mac_tmp = malloc(mac_tmp_len + 1);
|
||||
sprintf(mac_tmp, "%s%s%s", mac_exe, MAC_PATH_VALUE, mac_exe);
|
||||
if(!strcmp(argv[0] + (arg0_len - mac_tmp_len), mac_tmp)) {
|
||||
if(arg0_len - mac_tmp_len > mac_tmp_len - 1)
|
||||
mac_tmp = realloc(mac_tmp, arg0_len - mac_tmp_len);
|
||||
strncpy(mac_tmp, argv[0], arg0_len - mac_tmp_len);
|
||||
mac_tmp[arg0_len - mac_tmp_len] = '\0';
|
||||
mac_lhs_len = (arg0_len - mac_tmp_len) + strlen(mac_exe) + 5;
|
||||
if(mac_lhs_len > mac_tmp_len - 1)
|
||||
mac_tmp = realloc(mac_tmp, mac_lhs_len);
|
||||
strncpy(mac_tmp, argv[0], mac_lhs_len);
|
||||
mac_tmp[mac_lhs_len] = '\0';
|
||||
chdir(mac_tmp);
|
||||
}
|
||||
free(mac_tmp);
|
||||
|
||||
Reference in New Issue
Block a user