From 8d164f018ebe5312b6a40e08483d4a9d1fcd3156 Mon Sep 17 00:00:00 2001 From: njl Date: Wed, 28 Jan 2004 19:01:10 +0000 Subject: Use sys_nsig instead of NSIG for the length of the signal arrays. This is important if we add new signals later. From DragonflyBSD: jobs.c:1.4, trap.c:1.3. Obtained from: DragonflyBSD --- bin/sh/jobs.c | 4 ++-- bin/sh/trap.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/sh/jobs.c b/bin/sh/jobs.c index 7c9cfa4..36b075c 100644 --- a/bin/sh/jobs.c +++ b/bin/sh/jobs.c @@ -362,7 +362,7 @@ showjob(struct job *jp, pid_t pid, int sformat, int lformat) else #endif i = WTERMSIG(ps->status); - if ((i & 0x7F) < NSIG && sys_siglist[i & 0x7F]) + if ((i & 0x7F) < sys_nsig && sys_siglist[i & 0x7F]) scopy(sys_siglist[i & 0x7F], s); else fmtstr(s, 64, "Signal %d", i & 0x7F); @@ -985,7 +985,7 @@ dowait(int block, struct job *job) if (!mflag || (thisjob->foreground && !WIFSTOPPED(status))) { i = WTERMSIG(status); - if ((i & 0x7F) < NSIG && sys_siglist[i & 0x7F]) + if ((i & 0x7F) < sys_nsig && sys_siglist[i & 0x7F]) out1str(sys_siglist[i & 0x7F]); else out1fmt("Signal %d", i & 0x7F); diff --git a/bin/sh/trap.c b/bin/sh/trap.c index f848ee1..f00c6d5 100644 --- a/bin/sh/trap.c +++ b/bin/sh/trap.c @@ -106,8 +106,8 @@ sigstring_to_signum(char *sig) if (strncasecmp(sig, "sig", 3) == 0) sig += 3; - for (n = 1; n < NSIG; n++) - if (strcasecmp(sys_signame[n], sig) == 0) + for (n = 1; n < sys_nsig; n++) + if (sys_signame[n] && strcasecmp(sys_signame[n], sig) == 0) return (n); } return (-1); @@ -122,7 +122,7 @@ printsignals(void) { int n; - for (n = 1; n < NSIG; n++) { + for (n = 1; n < sys_nsig; n++) { out1fmt("%s", sys_signame[n]); if (n == (NSIG / 2) || n == (NSIG - 1)) out1str("\n"); @@ -142,7 +142,7 @@ trapcmd(int argc, char **argv) int signo; if (argc <= 1) { - for (signo = 0 ; signo < NSIG ; signo++) { + for (signo = 0 ; signo < sys_nsig ; signo++) { if (trap[signo] != NULL) out1fmt("trap -- '%s' %s\n", trap[signo], (signo) ? sys_signame[signo] : "exit"); -- cgit v1.1