[PATCH 3/3] ash: use JOBS as the compile time option it actually is
Johannes Schindelin
johannes.schindelin at gmx.de
Fri Jul 14 14:11:51 UTC 2017
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.schindelin at 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
More information about the busybox
mailing list