50 lines
1.5 KiB
Text
50 lines
1.5 KiB
Text
|
store log file in ~/.config/eduke32/
|
||
|
|
||
|
Index: source/duke3d/src/game.cpp
|
||
|
--- source/duke3d/src/game.cpp.orig
|
||
|
+++ source/duke3d/src/game.cpp
|
||
|
@@ -6323,6 +6323,9 @@ void G_DrawFrame(void)
|
||
|
|
||
|
int app_main(int argc, char const* const* argv)
|
||
|
{
|
||
|
+ char logpath[BMAX_PATH];
|
||
|
+ char *homedir;
|
||
|
+ int r;
|
||
|
#ifndef NETCODE_DISABLE
|
||
|
if (enet_initialize() != 0)
|
||
|
initprintf("An error occurred while initializing ENet.\n");
|
||
|
@@ -6349,21 +6352,22 @@ int app_main(int argc, char const* const* argv)
|
||
|
|
||
|
G_ExtPreInit(argc, argv);
|
||
|
|
||
|
-#ifdef __APPLE__
|
||
|
- if (!g_useCwd)
|
||
|
+ homedir = Bgethomedir();
|
||
|
+ if (!g_useCwd && homedir != NULL)
|
||
|
{
|
||
|
- char cwd[BMAX_PATH];
|
||
|
- char *homedir = Bgethomedir();
|
||
|
- if (homedir)
|
||
|
- Bsnprintf(cwd, sizeof(cwd), "%s/Library/Logs/" APPBASENAME ".log", homedir);
|
||
|
+ Bsnprintf(logpath, sizeof(logpath), "%s/.config/%s", homedir, APPBASENAME);
|
||
|
+ r = Bmkdir(logpath, S_IRWXU);
|
||
|
+ if (r == 0 || (r == -1 && errno == EEXIST))
|
||
|
+ {
|
||
|
+ Bsnprintf(logpath, sizeof(logpath), "%s/.config/%s/%s.log", homedir, APPBASENAME, APPBASENAME);
|
||
|
+ OSD_SetLogFile(logpath);
|
||
|
+ }
|
||
|
else
|
||
|
- Bstrcpy(cwd, APPBASENAME ".log");
|
||
|
- OSD_SetLogFile(cwd);
|
||
|
- Xfree(homedir);
|
||
|
+ OSD_SetLogFile(APPBASENAME ".log");
|
||
|
}
|
||
|
else
|
||
|
-#endif
|
||
|
- OSD_SetLogFile(APPBASENAME ".log");
|
||
|
+ OSD_SetLogFile(APPBASENAME ".log");
|
||
|
+ Bfree(homedir);
|
||
|
|
||
|
OSD_SetFunctions(GAME_drawosdchar,
|
||
|
GAME_drawosdstr,
|