--- a/src/input/input.c +++ b/src/input/input.c @@ -240,7 +240,10 @@ * ******************************************************************************/ int load_input_cfg(void) { - FILE *fp = fopen("./.epiar-input.ecf", "rb"); + char filename[PATH_MAX]; + FILE *fp; + snprintf(filename, sizeof(filename), "%s/.epiar-input.ecf", getenv("HOME")); + fp = fopen(filename, "rb"); /* make sure all keys are enabled */ unlock_keys(); @@ -282,7 +285,7 @@ } else { float file_version = 0.0f; /* read the file into the struct */ - fp = fopen("./.epiar-input.ecf", "rb"); + fp = fopen(filename, "rb"); if (fp == NULL) { fprintf(stdout, "Could not open \"./.epiar-input.ecf\" for reading, assuming default bindings.\n"); @@ -472,10 +475,12 @@ } void save_keybindings(void) { + char filename[PATH_MAX]; float file_version = 0.2f; FILE *fp; - fp = fopen("./.epiar-input.ecf", "wb"); + snprintf(filename, sizeof(filename), "%s/.epiar-input.ecf", getenv("HOME")); + fp = fopen(filename, "wb"); if (fp == NULL) { fprintf(stdout, "Could not create '~/.epiar-input.ecf' to save keybindings\n"); return; --- a/src/main.c +++ b/src/main.c @@ -16,7 +16,7 @@ unsigned char view_mode = 0; int ship_to_follow = 0; int desired_bpp = 16; -char *game_path; +const char * const game_path = "GENTOO_DATADIR"; unsigned char use_ogl = 0; unsigned char skip_intro = 0; FILE *epiar_eaf = NULL, *main_eaf = NULL; @@ -78,8 +78,6 @@ parse_commandline(argc, argv); - get_absolute_path(argv[0]); - init(desired_bpp); menu(); --- a/src/main.h +++ b/src/main.h @@ -1,2 +1,2 @@ extern char epiar_version[6]; -extern char *game_path; +extern const char * const game_path; --- a/src/system/init.c +++ b/src/system/init.c @@ -89,9 +89,6 @@ main_eaf = NULL; } - assert(game_path != NULL); - free(game_path); - game_path = NULL; if (average_loop_time == 0) average_loop_time = 18; /* in case they quit on menu */ #ifndef NDEBUG --- a/src/system/path.c +++ b/src/system/path.c @@ -45,7 +45,7 @@ } #endif -#ifdef LINUX +#if 0 char *strip_path_of_binary(char *argv) { int len = 0, i, blen = 0; char *stripped = NULL;