summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralex <alex@ASUS>2018-09-23 22:41:59 +0200
committeralex <alex@ASUS>2018-09-23 22:41:59 +0200
commit09653099ab1c788982b795dc16af22e36465ca76 (patch)
treef5288703a9f69c436e464aacc2ba228980d9cea3
parente16bfa4492b0d3976a427dfe8149e711f13ccae9 (diff)
Don't change saved_name if saving in non-default dir
-rw-r--r--modules/game/src/game_iface.c1
-rw-r--r--modules/save/src/save.c19
2 files changed, 13 insertions, 7 deletions
diff --git a/modules/game/src/game_iface.c b/modules/game/src/game_iface.c
index 9841d7c..6ab5501 100644
--- a/modules/game/src/game_iface.c
+++ b/modules/game/src/game_iface.c
@@ -358,6 +358,7 @@ static void game_iface_xyzzy_off (void)
static void game_iface_save_score (void)
{
+ /* Save board and score */
switch (game_iface_score.level) {
case GAME_IFACE_LEVEL_BEGINNER:
save_game_file(var_boards_beginner_path);
diff --git a/modules/save/src/save.c b/modules/save/src/save.c
index c25010f..e7214bc 100644
--- a/modules/save/src/save.c
+++ b/modules/save/src/save.c
@@ -132,21 +132,21 @@ void save_game_file (char *filepath)
{
char file_name [FILENAME_MAX];
char tmp [FILENAME_MAX];
- char file_num [6] = "";
+ char old_saved [FILENAME_MAX];
+ char file_num [6];
FILE *fp;
-
int i;
int j;
- /* Input box size */
- int w;
- int r;
- w = 70;
- r = 10;
+ /* Don't change saved_name variable if not in default dir */
+ if (filepath != NULL) {
+ snprintf(old_saved, FILENAME_MAX, "%s", saved_name);
+ }
/* Default path & name */
save_clr();
snprintf(saved_name, FILENAME_MAX, "%s", SAVED_NAME_DEFAULT);
+ sprintf(file_num, "");
/* Request file name */
player_iface_save_name(filepath, saved_name, FILENAME_MAX);
@@ -207,6 +207,11 @@ void save_game_file (char *filepath)
fclose(fp);
}
+
+ /* Don't change saved_name variable if not in default dir */
+ if (filepath != NULL) {
+ snprintf(saved_name, FILENAME_MAX, "%s", old_saved);
+ }
}