Since only developers know that "13" is EACCES, try to include the text
message. I'm not 100% sure the ifdefs are complete, but it can be tweaked
as needed. This was the only common message in files.c that included errno
so it's the only one I changed. Of course, "13" is only one of several
possible errno values that might reasonably show up here.
linux: use random() by default instead of lrand48()
OpenBSD: time() prototype and correct default Mail program
Gnome: compilation problems on Solaris
+unix: better error message for .nethackrc access problems
General New Features
}
# endif
if (errno != ENOENT) {
- /* e.g., problems when setuid NetHack can't search home
- * directory restricted to user */
- raw_printf("Couldn't open default config file %s (%d).",
- tmp_config, errno);
- wait_synch();
+ char *details;
+
+ /* e.g., problems when setuid NetHack can't search home
+ * directory restricted to user */
+
+#if defined(POSIX_TYPES) || defined(BSD) || defined(SYSV)
+ if ((details = strerror(errno)) == 0)
+#endif
+ details = "";
+ raw_printf("Couldn't open default config file %s %s(%d).",
+ tmp_config, details, errno);
+ wait_synch();
}
# endif
#endif