POSIX says that you can't capture the return value of sigsetjmp().
authorguenther <guenther@openbsd.org>
Sun, 25 Oct 2015 03:40:58 +0000 (03:40 +0000)
committerguenther <guenther@openbsd.org>
Sun, 25 Oct 2015 03:40:58 +0000 (03:40 +0000)
Fortunately, we don't need it as we only pass siglongjmp() a single value.

ok deraadt@

bin/ed/main.c

index b98dcef..0cfa899 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: main.c,v 1.54 2015/10/21 16:06:57 millert Exp $       */
+/*     $OpenBSD: main.c,v 1.55 2015/10/25 03:40:58 guenther Exp $      */
 /*     $NetBSD: main.c,v 1.3 1995/03/21 09:04:44 cgd Exp $     */
 
 /* main.c: This file contains the main control and user-interface routines
@@ -174,7 +174,8 @@ top:
        signal(SIGHUP, signal_hup);
        signal(SIGQUIT, SIG_IGN);
        signal(SIGINT, signal_int);
-       if ((status = sigsetjmp(env, 1))) {
+       if (sigsetjmp(env, 1)) {
+               status = -1;
                fputs("\n?\n", stderr);
                seterrmsg("interrupt");
        } else {