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.
This commit is contained in:
nethack.rankin
2011-04-23 01:51:01 +00:00
parent 4222d09874
commit 2228943015
4 changed files with 17 additions and 12 deletions

View File

@@ -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 */

View File

@@ -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

View File

@@ -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

View File

@@ -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);