diff options
Diffstat (limited to 'games-emulation/hatari/files/hatari-1.8.0-gentoo.patch')
-rw-r--r-- | games-emulation/hatari/files/hatari-1.8.0-gentoo.patch | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/games-emulation/hatari/files/hatari-1.8.0-gentoo.patch b/games-emulation/hatari/files/hatari-1.8.0-gentoo.patch new file mode 100644 index 000000000000..4f10d6d9e3ce --- /dev/null +++ b/games-emulation/hatari/files/hatari-1.8.0-gentoo.patch @@ -0,0 +1,112 @@ +--- hatari-1.4.0.orig/src/paths.c ++++ hatari-1.4.0/src/paths.c +@@ -109,71 +109,6 @@ + free(pTmpName); + } + +- +-/** +- * Locate the directory where the hatari executable resides +- */ +-static char *Paths_InitExecDir(const char *argv0) +-{ +- char *psExecDir; /* Path string where the hatari executable can be found */ +- +- /* Allocate memory for storing the path string of the executable */ +- psExecDir = malloc(FILENAME_MAX); +- if (!psExecDir) +- { +- fprintf(stderr, "Out of memory (Paths_Init)\n"); +- exit(-1); +- } +- +- /* Determine the bindir... +- * Start with empty string, then try to use OS specific functions, +- * and finally analyze the PATH variable if it has not been found yet. */ +- psExecDir[0] = '\0'; +- +-#if defined(__linux__) +- { +- int i; +- /* On Linux, we can analyze the symlink /proc/self/exe */ +- i = readlink("/proc/self/exe", psExecDir, FILENAME_MAX); +- if (i > 0) +- { +- char *p; +- psExecDir[i] = '\0'; +- p = strrchr(psExecDir, '/'); /* Search last slash */ +- if (p) +- *p = 0; /* Strip file name from path */ +- } +- } +-//#elif defined(WIN32) || defined(__CEGCC__) +-// /* On Windows we can use GetModuleFileName for getting the exe path */ +-// GetModuleFileName(NULL, psExecDir, FILENAME_MAX); +-#endif +- +- /* If we do not have the execdir yet, analyze argv[0] and the PATH: */ +- if (psExecDir[0] == 0) +- { +- if (strchr(argv0, PATHSEP) == 0) +- { +- /* No separator in argv[0], we have to explore PATH... */ +- Paths_GetExecDirFromPATH(argv0, psExecDir, FILENAME_MAX); +- } +- else +- { +- /* There was a path separator in argv[0], so let's assume a +- * relative or absolute path to the current directory in argv[0] */ +- char *p; +- strncpy(psExecDir, argv0, FILENAME_MAX); +- psExecDir[FILENAME_MAX-1] = 0; +- p = strrchr(psExecDir, PATHSEP); /* Search last slash */ +- if (p) +- *p = 0; /* Strip file name from path */ +- } +- } +- +- return psExecDir; +-} +- +- + /** + * Initialize the users home directory string + * and Hatari's home directory (~/.hatari) +@@ -226,8 +161,6 @@ + */ + void Paths_Init(const char *argv0) + { +- char *psExecDir; /* Path string where the hatari executable can be found */ +- + /* Init working directory string */ + if (getcwd(sWorkingDir, FILENAME_MAX) == NULL) + { +@@ -238,27 +171,11 @@ + /* Init the user's home directory string */ + Paths_InitHomeDirs(); + +- /* Get the directory where the executable resides */ +- psExecDir = Paths_InitExecDir(argv0); +- +- /* Now create the datadir path name from the bindir path name: */ +- if (psExecDir && strlen(psExecDir) > 0) +- { +- snprintf(sDataDir, sizeof(sDataDir), "%s%c%s", +- psExecDir, PATHSEP, BIN2DATADIR); +- } +- else +- { +- /* bindir could not be determined, let's assume datadir is relative +- * to current working directory... */ +- strcpy(sDataDir, BIN2DATADIR); +- } ++ strcpy(sDataDir, BIN2DATADIR); + + /* And finally make a proper absolute path out of datadir: */ + File_MakeAbsoluteName(sDataDir); + +- free(psExecDir); +- + /* fprintf(stderr, " WorkingDir = %s\n DataDir = %s\n UserHomeDir = %s\n HatariHomeDir = %s\n", + sWorkingDir, sDataDir, sUserHomeDir, sHatariHomeDir); */ + } |