X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsetup.c;h=4f00449473f8cadcb520d70c9a0ea542c40f4797;hp=ff8485bce818df7358ea49379fc43503cae5a7da;hb=e14251b595dcb8586f57ea78a6a52b3bd03ee272;hpb=cf23d62727053bfef711fb08fb4894e0936b9645 diff --git a/src/libgame/setup.c b/src/libgame/setup.c index ff8485bc..4f004494 100644 --- a/src/libgame/setup.c +++ b/src/libgame/setup.c @@ -1205,18 +1205,20 @@ char *getPersonalDataDir(void) char *getUserGameDataDir(void) { - if (program.userdata_path == NULL) - program.userdata_path = getPath2(getPersonalDataDir(), - program.userdata_subdir); + static char *user_game_data_dir = NULL; - return program.userdata_path; + if (user_game_data_dir == NULL) + user_game_data_dir = getPath2(getPersonalDataDir(), + program.userdata_subdir); + + return user_game_data_dir; } void updateUserGameDataDir() { #if defined(PLATFORM_MACOSX) char *userdata_dir_old = getPath2(getHomeDir(), program.userdata_subdir_unix); - char *userdata_dir_new = getUserGameDataDir(); + char *userdata_dir_new = getUserGameDataDir(); /* do not free() this */ /* convert old Unix style game data directory to Mac OS X style, if needed */ if (fileExists(userdata_dir_old) && !fileExists(userdata_dir_new)) @@ -1233,7 +1235,6 @@ void updateUserGameDataDir() } free(userdata_dir_old); - free(userdata_dir_new); #endif }