From: nethack.rankin Date: Sat, 23 Apr 2011 01:37:30 +0000 (+0000) Subject: SYSCF/PANICLOG fix (trunk only) X-Git-Tag: MOVE2GIT~213 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4222d09874f66d8d28e470637877c7deedafc31c;p=nethack SYSCF/PANICLOG fix (trunk only) files.c wouldn't compile if SYSCF was defined and PANICLOG wasn't. Also, a couple of PANICLOG option sanity checks treated 0 as an error but then said that the value had to be 0, 1, or 2. I went with the message and changed it to treat 0 as ok. Unfortunately the numeric value is derived via atoi() so you get 0 from bogus input. Perhaps it should use sscanf(string,"%d%c",&number,&dummy)==1 to try harder to make sure it actually gets a number. --- diff --git a/src/files.c b/src/files.c index 394854c6c..ce62db20f 100644 --- a/src/files.c +++ b/src/files.c @@ -2138,18 +2138,21 @@ int src; return 0; } sysopt.pointsmin = temp; -#ifdef PANICTRACE_GLIBC - } else if ( (src==SET_IN_SYS) && match_varname(buf, "PANICTRACE_GLIBC", 16)) { +# ifdef PANICTRACE +# ifdef PANICTRACE_GLIBC + } else if (src == SET_IN_SYS && + match_varname(buf, "PANICTRACE_GLIBC", 16)) { int temp = atoi(bufp); - if(temp < 1 || temp > 2){ + if (temp < 0 || temp > 2) { raw_printf("Illegal value in PANICTRACE_GLIBC (not 0,1,2)."); return 0; } sysopt.panictrace_glibc = temp; -#endif - } else if ( (src==SET_IN_SYS) && match_varname(buf, "PANICTRACE_GDB", 14)) { +# endif /* PANICTRACE_GLIBC */ + } else if (src == SET_IN_SYS && + match_varname(buf, "PANICTRACE_GDB", 14)) { int temp = atoi(bufp); - if(temp < 1 || temp > 2){ + if (temp < 0 || temp > 2) { raw_printf("Illegal value in PANICTRACE_GDB (not 0,1,2)."); return 0; } @@ -2162,7 +2165,8 @@ int src; if(sysopt.greppath) free(sysopt.greppath); sysopt.greppath = (char*)alloc(strlen(bufp)+1); Strcpy(sysopt.greppath, bufp); -#endif +# endif /* PANICTRACE */ +#endif /* SYSCF */ } else if (match_varname(buf, "BOULDER", 3)) { (void) get_uchars(fp, buf, bufp, &iflags.bouldersym, TRUE, 1, "BOULDER");