diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index c9e8c7ca4..b25261f1b 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -1331,6 +1331,9 @@ when one monster swallowed/engulfed another and killed it, impossible "placing over itself ..." could be given by place_monster() if the game crashed or the process was killed, recovering a save file ended up with incorrect stairway connections between levels +when using --nethackrc=file on the command line (currently only implemented + for ports that use unixmain.c), options parsing freed the string + containing 'file' before using it as the RC file name curses: 'msg_window' option wasn't functional for curses unless the binary also included tty support diff --git a/src/options.c b/src/options.c index a5c038784..075def9ea 100644 --- a/src/options.c +++ b/src/options.c @@ -6233,7 +6233,6 @@ initoptions_finish(void) if (g.cmdline_rcfile) { namesrc = "command line"; nameval = g.cmdline_rcfile; - free((genericptr_t) g.cmdline_rcfile), g.cmdline_rcfile = 0; xtraopts = opts; if (opts && (*opts == '/' || *opts == '\\' || *opts == '@')) xtraopts = 0; /* NETHACKOPTIONS is a file name; ignore it */ @@ -6274,6 +6273,9 @@ initoptions_finish(void) (void) parseoptions(xtraopts, TRUE, FALSE); config_error_done(); } + + if (g.cmdline_rcfile) + free((genericptr_t) g.cmdline_rcfile), g.cmdline_rcfile = 0; /*[end of nethackrc handling]*/ (void) fruitadd(g.pl_fruit, (struct fruit *) 0);