Apply same default filename fix from #92 for Curses interface.
authorDavid Griffith <dave@661.org>
Tue, 4 Sep 2018 08:01:45 +0000 (01:01 -0700)
committerDavid Griffith <dave@661.org>
Tue, 4 Sep 2018 08:01:45 +0000 (01:01 -0700)
src/curses/ux_init.c

index 96459edd172e1a901c25f702b17dec229caaf978..3bd03b20c09477b63db2c5d4e974becee9698aac 100644 (file)
@@ -354,6 +354,8 @@ void os_process_arguments (int argc, char *argv[])
 
     f_setup.story_path = strdup(dirname(argv[zoptind]));
 
+   /* Create nice default file names */
+
     f_setup.script_name = malloc((strlen(f_setup.story_name) + strlen(EXT_SCRIPT)) * sizeof(char) + 1);
     strncpy(f_setup.script_name, f_setup.story_name, strlen(f_setup.story_name) + 1);
     strncat(f_setup.script_name, EXT_SCRIPT, strlen(EXT_SCRIPT));
@@ -363,12 +365,12 @@ void os_process_arguments (int argc, char *argv[])
     strncat(f_setup.command_name, EXT_COMMAND, strlen(EXT_COMMAND));
 
     if (!f_setup.restore_mode) {
-       f_setup.save_name = malloc(strlen(f_setup.story_name) * sizeof(char) + 5);
-       strncpy(f_setup.save_name, f_setup.story_name, strlen(f_setup.story_name));
+       f_setup.save_name = malloc((strlen(f_setup.story_name) + strlen(EXT_SAVE)) * sizeof(char) + 1);
+       strncpy(f_setup.save_name, f_setup.story_name, strlen(f_setup.story_name) + 1);
        strncat(f_setup.save_name, EXT_SAVE, strlen(EXT_SAVE));
     } else {  /*Set our auto load save as the name_save*/
-       f_setup.save_name = malloc(strlen(f_setup.tmp_save_name) * sizeof(char) + 5);
-       strncpy(f_setup.save_name, f_setup.tmp_save_name, strlen(f_setup.tmp_save_name));
+       f_setup.save_name = malloc((strlen(f_setup.tmp_save_name) + strlen(EXT_SAVE)) * sizeof(char) + 1);
+       strncpy(f_setup.save_name, f_setup.tmp_save_name, strlen(f_setup.tmp_save_name) + 1);
        free(f_setup.tmp_save_name);
     }