]> granicus.if.org Git - nethack/commitdiff
adjust PREFIXES_IN_USE for SYSCF
authornhmall <mjnh@persona.ca>
Sun, 22 Mar 2015 15:11:41 +0000 (11:11 -0400)
committernhmall <mjnh@persona.ca>
Sun, 22 Mar 2015 15:11:41 +0000 (11:11 -0400)
include/decl.h
src/decl.c
src/files.c

index 5dea2ff432b18d5123fcf0feb6216c6a7bb7355a..15191842e4e52bb2242672998cb0dea79d98e8a0 100644 (file)
@@ -1,4 +1,4 @@
-/* NetHack 3.5 decl.h  $NHDT-Date: 1427035422 2015/03/22 14:43:42 $  $NHDT-Branch: master $:$NHDT-Revision: 1.56 $ */
+/* NetHack 3.5 decl.h  $NHDT-Date: 1425081976 2015/02/28 00:06:16 $  $NHDT-Branch: master $:$NHDT-Revision: 1.50 $ */
 /* NetHack 3.5 decl.h  $Date: 2011/12/29 20:06:27 $  $Revision: 1.44 $ */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
@@ -363,9 +363,10 @@ E const char * const monexplain[], invisexplain[], * const oclass_names[];
 #define DATAPREFIX     4       /* this one must match hardcoded value in dlb.c */
 #define SCOREPREFIX    5
 #define LOCKPREFIX     6
-#define CONFIGPREFIX   7
-#define TROUBLEPREFIX  8
-#define PREFIX_COUNT   9
+#define SYSCONFPREFIX  7
+#define CONFIGPREFIX   8
+#define TROUBLEPREFIX  9
+#define PREFIX_COUNT   10
 /* used in files.c; xxconf.h can override if needed */
 # ifndef FQN_MAX_FILENAME
 #define FQN_MAX_FILENAME 512
index d0d29a35f3718a2be8b831d86fe975e0b9c89c23..75203c0567521574fa28caf2c8a02407478c7a2b 100644 (file)
@@ -268,12 +268,14 @@ char toplines[TBUFSZ];
 struct tc_gbl_data tc_gbl_data = { 0,0, 0,0 }; /* AS,AE, LI,CO */
 
 char *fqn_prefix[PREFIX_COUNT] = { (char *)0, (char *)0, (char *)0, (char *)0,
-                               (char *)0, (char *)0, (char *)0, (char *)0, (char *)0 };
+                               (char *)0, (char *)0, (char *)0, (char *)0,
+                               (char *)0 , (char *)0 };
 
 #ifdef PREFIXES_IN_USE
 char *fqn_prefix_names[PREFIX_COUNT] = { "hackdir", "leveldir", "savedir",
                                        "bonesdir", "datadir", "scoredir",
-                                       "lockdir", "configdir", "troubledir" };
+                                       "lockdir", "sysconfdir", "configdir",
+                                       "troubledir" };
 #endif
 
 NEARDATA struct savefile_info sfcap = {
index e638fa640b7abd56289e75df2366367d6203b9e9..ace417e7dd67f6a0f33f3123e9745ef4cafa78f0 100644 (file)
@@ -1,4 +1,4 @@
-/* NetHack 3.5 files.c $NHDT-Date: 1427035432 2015/03/22 14:43:52 $  $NHDT-Branch: master $:$NHDT-Revision: 1.138 $ */
+/* NetHack 3.5 files.c $NHDT-Date: 1426969026 2015/03/21 20:17:06 $  $NHDT-Branch: master $:$NHDT-Revision: 1.137 $ */
 /* NetHack 3.5 files.c $Date: 2012/03/10 02:49:08 $  $Revision: 1.124 $ */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
@@ -362,7 +362,9 @@ char *reasonbuf;  /* reasonbuf must be at least BUFSZ, supplied by caller */
 #if defined(NOCWD_ASSUMPTIONS)
        for (prefcnt = 1; prefcnt < PREFIX_COUNT; prefcnt++) {
                /* don't test writing to configdir or datadir; they're readonly */
-               if (prefcnt == CONFIGPREFIX || prefcnt == DATAPREFIX) continue;
+               if (prefcnt == SYSCONFPREFIX ||
+                   prefcnt == CONFIGPREFIX ||
+                   prefcnt == DATAPREFIX) continue;
                filename = fqname("validate", prefcnt, 3);
                if ((fp = fopen(filename, "w"))) {
                        fclose(fp);
@@ -1858,6 +1860,12 @@ int src;
                        wait_synch();
                        /* fall through to standard names */
                } else
+#endif
+#ifdef PREFIXES_IN_USE
+               if (src == SET_IN_SYS) {
+                       (void) strncpy(lastconfigfile,
+                               fqname(filename, SYSCONFPREFIX, 0), BUFSZ-1);
+               } else
 #endif
                (void) strncpy(lastconfigfile, filename, BUFSZ-1);
                lastconfigfile[BUFSZ-1] = '\0';
@@ -1886,7 +1894,7 @@ int src;
                        fqname(backward_compat_configfile, CONFIGPREFIX, 0),
                        BUFSZ-1);
        lastconfigfile[BUFSZ-1] = '\0';
-       else if ((fp = fopenp(fqname(lastconfigfile, "r")) != (FILE *)0)
+       else if ((fp = fopenp(lastconfigfile, "r")) != (FILE *)0)
                return(fp);
 # endif
 #else