]> granicus.if.org Git - nethack/commitdiff
First batch of changes from FailSafeC
authorkeni <keni>
Wed, 10 Feb 2010 16:08:51 +0000 (16:08 +0000)
committerkeni <keni>
Wed, 10 Feb 2010 16:08:51 +0000 (16:08 +0000)
This is all tiny stuff - allow overriding WIDENED_PROTOTYPES from the hints
file, missing NO_SIGNAL conditionals, remove a GCC-ism, conditional indentation,
void return in a non-void function.

include/tradstdc.h
src/end.c
src/files.c
sys/share/ioctl.c
sys/unix/unixmain.c
sys/unix/unixunix.c
win/tty/wintty.c

index 5e080a6990fda6ad91c35deaf54a2fae237d1661..0405059909bfc6abcc842d5d20eb7f51ed217693 100644 (file)
@@ -215,31 +215,33 @@ typedef genericptr genericptr_t;  /* (void *) or (char *) */
  * prototypes to match the standard and thus lose the typechecking.
  */
 #if defined(MSDOS) && !defined(__GO32__)
-#define UNWIDENED_PROTOTYPES
+# define UNWIDENED_PROTOTYPES
 #endif
 #if defined(AMIGA) && !defined(AZTEC_50)
-#define UNWIDENED_PROTOTYPES
+# define UNWIDENED_PROTOTYPES
 #endif
 #if defined(macintosh) && (defined(__SC__) || defined(__MRC__))
-#define WIDENED_PROTOTYPES
+# define WIDENED_PROTOTYPES
 #endif
 #if defined(__MWERKS__) && defined(__BEOS__)
-#define UNWIDENED_PROTOTYPES
+# define UNWIDENED_PROTOTYPES
 #endif
 #if defined(WIN32)
-#define UNWIDENED_PROTOTYPES
+# define UNWIDENED_PROTOTYPES
 #endif
 
 #if defined(ULTRIX_PROTO) && defined(ULTRIX_CC20)
-#define UNWIDENED_PROTOTYPES
+# define UNWIDENED_PROTOTYPES
 #endif
 #if defined(apollo)
-#define UNWIDENED_PROTOTYPES
+# define UNWIDENED_PROTOTYPES
 #endif
 
 #ifndef UNWIDENED_PROTOTYPES
 # if defined(NHSTDC) || defined(ULTRIX_PROTO) || defined(THINK_C)
-# define WIDENED_PROTOTYPES
+#  ifndef WIDENED_PROTOTYPES
+#   define WIDENED_PROTOTYPES
+#  endif
 # endif
 #endif
 
index 56c5199d3bc1b1eef7f4eeb7c86616c1b26a38bd..64e05024d6dbe7445f938dd3158b9f6116051b58 100644 (file)
--- a/src/end.c
+++ b/src/end.c
@@ -228,13 +228,14 @@ NH_panictrace_gdb(){
        char *gdbpath = GDBPATH;
        char *greppath = GREPPATH;
        char buf[BUFSZ];
+       FILE *gdb;
 
        if(gdbpath == NULL || gdbpath[0] == 0) return FALSE;
        if(greppath == NULL || greppath[0] == 0) return FALSE;
 
        sprintf(buf, "%s -n -q %s %d 2>&1 | %s '^#'",
                        gdbpath, ARGV0, getpid(), greppath);
-       FILE *gdb = popen(buf, "w");
+       gdb = popen(buf, "w");
        if(gdb){
                raw_print("Generating more information you may report:\n");
                fprintf(gdb, "bt\nquit\ny");
@@ -327,7 +328,9 @@ done2()
 #  endif
 # endif
            if ((c = ynq(tmp)) == 'y') {
+# ifndef NO_SIGNAL
                (void) signal(SIGINT, (SIG_RET_TYPE) done1);
+# endif
                exit_nhwindows((char *)0);
                NH_abort();
            } else if (c == 'q') done_stopprint++;
index 6cf6fb970dce7d0c7a543006db275420323688a1..c9d157927adc16c43800f3950ea5a7d887d80b78 100644 (file)
@@ -1281,13 +1281,23 @@ boolean uncomp;
                        uncomp ? "un" : "", filename);
                return;
        }
+# ifndef NO_SIGNAL
        (void) signal(SIGINT, SIG_IGN);
        (void) signal(SIGQUIT, SIG_IGN);
        (void) wait((int *)&i);
        (void) signal(SIGINT, (SIG_RET_TYPE) done1);
-# ifdef WIZARD
+#  ifdef WIZARD
        if (wizard) (void) signal(SIGQUIT, SIG_DFL);
-# endif
+#  endif
+#else
+       /* I don't think we can really cope with external compression
+        * without signals, so we'll declare that compress failed and
+        * go on.  (We could do a better job by forcing off external
+        * compression if there are no signals, but we want this for
+        * testing with FailSafeC
+        */
+       i = 1;
+#endif
        if (i == 0) {
            /* (un)compress succeeded: remove file left behind */
            if (uncomp)
index 779fdd5b75381af00af490bb841075d882d25154..f8e8abc6182071b7cb2594bb24aaf9613d0bd1c7 100644 (file)
@@ -162,10 +162,10 @@ dosuspend()
           || !check_user_string(sysopt.shellers)
        ){
                Norep("Suspend command not available.");
-               return;
+               return 0;
        }
 #endif
-# ifdef SIGTSTP
+# if defined(SIGTSTP) && !defined(NO_SIGNAL)
        if(signal(SIGTSTP, SIG_IGN) == SIG_DFL) {
                suspend_nhwindows((char *)0);
 #  ifdef _M_UNIX
index 45854f93bec880b315ae60312178d2ab5012a869..cf671ee5d3e30c24e09cb53daeed173481cf0506 100644 (file)
@@ -183,7 +183,9 @@ char *argv[];
         */
        u.uhp = 1;      /* prevent RIP on early quits */
        program_state.preserve_locks = 1;
+#ifndef NO_SIGNAL
        sethanguphandler((SIG_RET_TYPE)hangup);
+#endif
 
        process_options(argc, argv);    /* command line options */
        init_nhwindows(&argc, argv);    /* now we can set up window system */
@@ -268,7 +270,9 @@ char *argv[];
                const char *fq_save = fqname(SAVEF, SAVEPREFIX, 1);
 
                (void) chmod(fq_save,0);        /* disallow parallel restores */
+#ifndef NO_SIGNAL
                (void) signal(SIGINT, (SIG_RET_TYPE) done1);
+#endif
 #ifdef NEWS
                if(iflags.news) {
                    display_file(NEWS, FALSE);
index 7d2af5add77d7ae33f37abb5ff886f8368bd46d5..3dc095c3ef35b8f0bdfbf724e29dfe80732027a8 100644 (file)
@@ -298,8 +298,10 @@ int wt;
                return(0);
        }
        /* fork succeeded; wait for child to exit */
+#ifndef NO_SIGNAL
        (void) signal(SIGINT,SIG_IGN);
        (void) signal(SIGQUIT,SIG_IGN);
+#endif
        (void) wait( (int *) 0);
 #ifdef _M_UNIX
        sco_mapoff();
@@ -307,9 +309,11 @@ int wt;
 #ifdef __linux__
        linux_mapoff();
 #endif
+#ifndef NO_SIGNAL
        (void) signal(SIGINT, (SIG_RET_TYPE) done1);
-#ifdef WIZARD
+# ifdef WIZARD
        if(wizard) (void) signal(SIGQUIT,SIG_DFL);
+# endif
 #endif
        if(wt) {
                raw_print("");
index 948d8e459cd033b8306dcb1193f80b7301fb0bff..e93a74cf0f47aea12f37484ffac2763d3ace3d30 100644 (file)
@@ -338,7 +338,7 @@ char** argv;
 
     ttyDisplay->lastwin = WIN_ERR;
 
-#if defined(SIGWINCH) && defined(CLIPPING)
+#if defined(SIGWINCH) && defined(CLIPPING) && !defined(NO_SIGNAL)
     (void) signal(SIGWINCH, winch);
 #endif