diff --git a/include/config.h b/include/config.h index b12ac77cb..4e3a0e2c7 100644 --- a/include/config.h +++ b/include/config.h @@ -198,7 +198,11 @@ * otherwise it will be the current directory. */ # ifndef HACKDIR -# define HACKDIR "/usr/games/lib/nethackdir" /* nethack directory */ +# ifdef __APPLE__ +# define HACKDIR "nethackdir" /* nethack directory */ +# else +# define HACKDIR "/usr/games/lib/nethackdir" +# endif # endif /* diff --git a/src/hacklib.c b/src/hacklib.c index dc074ec21..768dfbc6e 100644 --- a/src/hacklib.c +++ b/src/hacklib.c @@ -452,7 +452,7 @@ setrandom() #ifdef RANDOM /* srandom() from sys/share/random.c */ srandom((unsigned int) time((time_t *)0)); #else -# if defined(BSD) || defined(ULTRIX) || defined(CYGWIN32) /* system srandom() */ +# if defined(__APPLE__) || defined(BSD) || defined(ULTRIX) || defined(CYGWIN32) /* system srandom() */ # ifdef BSD # if defined(SUNOS4) (void) diff --git a/sys/unix/unixmain.c b/sys/unix/unixmain.c index 9208448c4..a5b0a0dcc 100644 --- a/sys/unix/unixmain.c +++ b/sys/unix/unixmain.c @@ -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); diff --git a/win/Qt/qt_win.cpp b/win/Qt/qt_win.cpp index 89d9235d4..1705720db 100644 --- a/win/Qt/qt_win.cpp +++ b/win/Qt/qt_win.cpp @@ -99,7 +99,11 @@ extern "C" { #include "qt_xpms.h" #include -#include +#ifdef Q_WS_MACX +# include +#else +# include +#endif #ifdef _WS_X11_ // For userid control