From: nethack.rankin Date: Sat, 23 Apr 2011 01:51:01 +0000 (+0000) Subject: SYSCF for VMS (trunk only) X-Git-Tag: MOVE2GIT~212 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2228943015482d9dc8642e9b58772ce60ef8805a;p=nethack SYSCF for VMS (trunk only) Enable SYSCF_FILE for VMS, and simplify option initialization in the process. I still need to put a template into the playground directory during initial install, and the one in sys/unix/ probably isn't appropriate. --- diff --git a/include/vmsconf.h b/include/vmsconf.h index 6f5494931..8e64f67ec 100644 --- a/include/vmsconf.h +++ b/include/vmsconf.h @@ -43,12 +43,17 @@ # define WIZARD 1 # define WIZARD_NAME Local_WIZARD #endif +#ifndef SYSCF +# define SYSCF +#endif /* filenames require punctuation to avoid redirection via logical names */ #undef RECORD #define RECORD "record;1" /* scoreboard file (retains high scores) */ #undef LOGFILE #define LOGFILE "logfile;0" /* optional file (records all games) */ +#undef SYSCF_FILE +#define SYSCF_FILE "sysconf;0" #define HLOCK "perm;1" /* an empty file used for locking purposes */ diff --git a/src/options.c b/src/options.c index 39fa10b1d..b212a5360 100644 --- a/src/options.c +++ b/src/options.c @@ -561,12 +561,17 @@ const char *ev; return (char *)0; } -/* Split initoptions into 2 parts for SYSCF but don't break anything not - * using SYSCF. */ +/* process options, possibly including SYSCF */ void initoptions() { initoptions_init(); +#ifdef SYSCF + /* someday there may be other SYSCF alternatives besides text file */ +# ifdef SYSCF_FILE + read_config_file(SYSCF_FILE, SET_IN_SYS); +# endif +#endif initoptions_finish(); } @@ -660,9 +665,7 @@ initoptions_init() if ((opts = nh_getenv("TERM")) && !strncmp(opts, "AT", 2)) { #ifdef LOADSYMSETS if (!symset[PRIMARY].name) load_symset("IBMGraphics", PRIMARY); - if (!symset[ROGUESET].name) load_symset("RogueIBM", ROGUESET); - switch_symbols(TRUE); #endif # ifdef TEXTCOLOR diff --git a/sys/unix/unixmain.c b/sys/unix/unixmain.c index cf671ee5d..8caa24b9b 100644 --- a/sys/unix/unixmain.c +++ b/sys/unix/unixmain.c @@ -136,9 +136,7 @@ char *argv[]; chdirx(dir,0); #endif #ifdef SYSCF - initoptions_init(); - read_config_file(SYSCF_FILE, SET_IN_SYS); - initoptions_finish(); + initoptions(); #endif #ifdef PANICTRACE ARGV0 = argv[0]; /* save for possible stack trace */ @@ -165,11 +163,7 @@ char *argv[]; #ifdef __linux__ check_linux_console(); #endif - initoptions_init(); -#ifdef SYSCF - read_config_file(SYSCF_FILE, SET_IN_SYS); -#endif - initoptions_finish(); + initoptions(); #ifdef PANICTRACE ARGV0 = argv[0]; /* save for possible stack trace */ # ifndef NO_SIGNAL diff --git a/sys/vms/vmsmain.c b/sys/vms/vmsmain.c index 1b15175a1..7992c806c 100644 --- a/sys/vms/vmsmain.c +++ b/sys/vms/vmsmain.c @@ -91,6 +91,9 @@ char *argv[]; if (!strncmp(argv[1], "-s", 2)) { #ifdef CHDIR chdirx(dir, FALSE); +#endif +#ifdef SYSCF + initoptions(); #endif prscore(argc, argv); exit(EXIT_SUCCESS);