]> granicus.if.org Git - nethack/commitdiff
validate_prefix_locations follow-up2
authornethack.allison <nethack.allison>
Fri, 5 Jul 2002 15:38:27 +0000 (15:38 +0000)
committernethack.allison <nethack.allison>
Fri, 5 Jul 2002 15:38:27 +0000 (15:38 +0000)
translate errno in the log file too
check for standard C

src/files.c

index 73f85eaefa6df27d0c9c7eee1865c235961f537a..35cfe98f4e08fa3eff82ca4233af97f7820062fd 100644 (file)
@@ -167,8 +167,8 @@ char *reasonbuf;
        FILE *fp;
        const char *filename;
        int prefcnt, failcount = 0;
-       char panicbuf1[BUFSZ], panicbuf2[BUFSZ];
-       
+       char panicbuf1[BUFSZ], panicbuf2[BUFSZ], *details;
+
        if (reasonbuf) reasonbuf[0] = '\0';
        for (prefcnt = 1; prefcnt < PREFIX_COUNT; prefcnt++) {
                /* don't test writing to configdir or datadir; they're readonly */
@@ -184,8 +184,12 @@ char *reasonbuf;
                        }
                        /* the paniclog entry gets the value of errno as well */
                        Sprintf(panicbuf1,"Invalid %s", fqn_prefix_names[prefcnt]);
+#if defined (NHSTDC) && !defined(NOTSTDC)
+                       if (!(details = strerror(errno)))
+#endif
+                       details = "";
                        Sprintf(panicbuf2,"\"%s\", (%d) %s",
-                               fqn_prefix[prefcnt], errno, strerror(errno));
+                               fqn_prefix[prefcnt], errno, details);
                        paniclog(panicbuf1, panicbuf2);
                        failcount++;
                }