Using the constant in a regular `if (...)` pretends that this is anything but a compile time option. Let's use `#if JOBS` instead, making it *much* clearer what `JOBS` actually is.
Incidentally, 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.schinde...@gmx.de> --- shell/ash.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/shell/ash.c b/shell/ash.c index 8c2098dd9..5c8216331 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -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,7 +4186,9 @@ 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)) +#endif jobless--; out: INT_ON; -- 2.13.3.windows.1.13.gaf0c2223da0 _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox