ash: protect WIFSTOPPED use with #if JOBS
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Fri, 14 Jul 2017 20:25:58 +0000 (22:25 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sat, 15 Jul 2017 09:38:00 +0000 (11:38 +0200)
This change fixes the build in setups where there are
no headers defining WIFSTOPPED and WSTOPSIG (where JOBS has to be
set to 0).

This partially reverts 4700fb5be (ash: make dowait() a bit more
readable. Logic is unchanged, 2015-10-09).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/ash.c

index 8c2098dd9d745fd91ffce45435cf7fc1789166fc..b0c7dac54222ac963a99da35110e17cc39603822 100644 (file)
@@ -4022,15 +4022,19 @@ sprint_status48(char *s, int status, int sigonly)
 
        col = 0;
        if (!WIFEXITED(status)) {
-               if (JOBS && WIFSTOPPED(status))
+#if JOBS
+               if (WIFSTOPPED(status))
                        st = WSTOPSIG(status);
                else
+#endif
                        st = WTERMSIG(status);
                if (sigonly) {
                        if (st == SIGINT || st == SIGPIPE)
                                goto out;
-                       if (JOBS && WIFSTOPPED(status))
+#if JOBS
+                       if (WIFSTOPPED(status))
                                goto out;
+#endif
                }
                st &= 0x7f;
 //TODO: use bbox's get_signame? strsignal adds ~600 bytes to text+rodata
@@ -4182,8 +4186,10 @@ dowait(int block, struct job *job)
                goto out;
        }
        /* The process wasn't found in job list */
-       if (JOBS && !WIFSTOPPED(status))
+#if JOBS
+       if (!WIFSTOPPED(status))
                jobless--;
+#endif
  out:
        INT_ON;