-#if defined(PLATFORM_MACOSX)
- static char *main_data_binary_subdir = NULL;
- static char *main_data_files_subdir = NULL;
-
- if (main_data_binary_subdir == NULL)
- {
- main_data_binary_subdir = checked_malloc(strlen(program.program_title) + 1 +
- strlen("app") + 1 +
- strlen(MAC_APP_BINARY_SUBDIR) + 1);
-
- sprintf(main_data_binary_subdir, "%s.app/%s",
- program.program_title, MAC_APP_BINARY_SUBDIR);
- }
-
- if (main_data_files_subdir == NULL)
- {
- main_data_files_subdir = checked_malloc(strlen(program.program_title) + 1 +
- strlen("app") + 1 +
- strlen(MAC_APP_FILES_SUBDIR) + 1);
-
- sprintf(main_data_files_subdir, "%s.app/%s",
- program.program_title, MAC_APP_FILES_SUBDIR);
- }
+ /* if the program is configured to start from current directory (default),
+ determine program package directory from program binary (some versions
+ of KDE/Konqueror and Mac OS X (especially "Mavericks") apparently do not
+ set the current working directory to the program package directory) */
+ char *main_data_path = getBasePath(command_filename);