Wrapped setjmp(), sigsetjmp(), and vfork() calls to silence gcc -Wclobbered for good...
[mmh] / sbr / getans.c
index 987ed3c..95e34c4 100644 (file)
@@ -2,12 +2,14 @@
 /*
  * getans.c -- get an answer from the user and return a string array
  *
- * $Id$
+ * This code is Copyright (c) 2002, by the authors of nmh.  See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
  */
 
 #include <h/mh.h>
 #include <h/signals.h>
-#include <setjmp.h>
+#include <h/m_setjmp.h>
 #include <signal.h>
 
 static char ansbuf[BUFSIZ];
@@ -16,17 +18,17 @@ static jmp_buf sigenv;
 /*
  * static prototypes
  */
-static RETSIGTYPE intrser (int);
+static void intrser (int);
 
 
 char **
 getans (char *prompt, struct swit *ansp)
 {
     int i;
-    SIGNAL_HANDLER istat;
+    SIGNAL_HANDLER istat = NULL;
     char *cp, **cpp;
 
-    if (!(setjmp (sigenv))) {
+    if (!(m_setjmp (sigenv))) {
        istat = SIGNAL (SIGINT, intrser);
     } else {
        SIGNAL (SIGINT, istat);
@@ -46,7 +48,7 @@ getans (char *prompt, struct swit *ansp)
        *cp = '\0';
        if (ansbuf[0] == '?' || cp == ansbuf) {
            printf ("Options are:\n");
-           print_sw (ALL, ansp, "");
+           print_sw (ALL, ansp, "", stdout);
            continue;
        }
        cpp = brkstring (ansbuf, " ", NULL);
@@ -65,9 +67,11 @@ getans (char *prompt, struct swit *ansp)
 }
 
 
-static RETSIGTYPE
+static void
 intrser (int i)
 {
+    NMH_UNUSED (i);
+
     /*
      * should this be siglongjmp?
      */