X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=bd069f921a93ad629d1e61e1d0d3995672f59639;hb=ff84e204dde10499c64dace35dc5c4a017b70765;hp=4ffb51c707adb555962ba68876d13e685f369e74;hpb=56fe208c3f5ededc520ee0d76ad2fb72146e3dc9;p=rocksndiamonds.git diff --git a/src/libgame/misc.c b/src/libgame/misc.c index 4ffb51c7..bd069f92 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -709,11 +709,19 @@ static char *getProgramMainDataPath() char *main_data_path_old = main_data_path; // cut relative path to Mac OS X application binary directory from path - main_data_path_old[strlen(main_data_path_old) - - strlen(main_data_binary_subdir)] = '\0'; + main_data_path[strlen(main_data_path) - + strlen(main_data_binary_subdir)] = '\0'; + + // cut trailing path separator from path (but not if path is root directory) + if (strSuffix(main_data_path, "/") && !strEqual(main_data_path, "/")) + main_data_path[strlen(main_data_path) - 1] = '\0'; + + // replace empty path with current directory + if (strEqual(main_data_path, "")) + main_data_path = "."; // add relative path to Mac OS X application resources directory to path - main_data_path = getPath2(main_data_path_old, main_data_files_subdir); + main_data_path = getPath2(main_data_path, main_data_files_subdir); free(main_data_path_old); }