--- src/freecnc.cpp.orig 2003-07-31 22:53:04.000000000 -0400 +++ src/freecnc.cpp 2003-07-31 22:54:06.000000000 -0400 @@ -79,8 +79,8 @@ #endif args = new Args(); binpath = determineBinaryLocation(argv[0]); - lf = new char[strlen(binpath)+strlen("freecnc.log")+2]; - sprintf(lf, "freecnc.log"); + lf = new char[strlen("GENTOO_LOGDIR")+strlen("freecnc.log")+2]; + sprintf(lf, "GENTOO_LOGDIR/freecnc.log"); VFS_PreInit(binpath); // Log level is so that only errors are shown on stdout by default logger = new Logger(lf,0); --- src/vfs/vfs.cpp.orig 2003-07-31 22:53:14.000000000 -0400 +++ src/vfs/vfs.cpp 2003-07-31 22:55:02.000000000 -0400 @@ -52,7 +52,11 @@ #if defined _WIN32 #elif defined(macintosh) #else - externals->loadArchive("/etc/freecnc/"); + char f[1024];sprintf(f, "%s/.freecnc/", getenv("HOME")); + externals->loadArchive(f); + externals->loadArchive("GENTOO_CONFDIR"); + externals->loadArchive("GENTOO_DATADIR/conf/"); + externals->loadArchive("GENTOO_DATADIR/"); #endif try { --- tools/audplay/audplay.cpp.orig 2003-07-31 22:57:04.000000000 -0400 +++ tools/audplay/audplay.cpp 2003-07-31 22:57:20.000000000 -0400 @@ -35,8 +35,8 @@ exit(1); } binpath = determineBinaryLocation(argv[0]); - lf = new char[strlen(binpath)+strlen("audplay.log")+2]; - sprintf(lf, "%s/audplay.log", binpath); + lf = new char[strlen("GENTOO_LOGDIR")+strlen("audplay.log")+2]; + sprintf(lf, "GENTOO_LOGDIR/audplay.log"); VFS_PreInit(binpath); logger = new Logger(lf,0); delete[] lf;