diff options
-rw-r--r-- | src/signal/sigaddset.c | 2 | ||||
-rw-r--r-- | src/signal/sigdelset.c | 2 | ||||
-rw-r--r-- | src/signal/sigisemptyset.c | 4 | ||||
-rw-r--r-- | src/signal/sigismember.c | 2 |
4 files changed, 5 insertions, 5 deletions
diff --git a/src/signal/sigaddset.c b/src/signal/sigaddset.c index edb48d1c..085d1f4a 100644 --- a/src/signal/sigaddset.c +++ b/src/signal/sigaddset.c @@ -4,7 +4,7 @@ int sigaddset(sigset_t *set, int sig) { unsigned s = sig-1; - if (s >= 8*sizeof(sigset_t) || sig-32U<3) { + if (s >= _NSIG-1 || sig-32U < 3) { errno = EINVAL; return -1; } diff --git a/src/signal/sigdelset.c b/src/signal/sigdelset.c index a77c638f..ce69280e 100644 --- a/src/signal/sigdelset.c +++ b/src/signal/sigdelset.c @@ -4,7 +4,7 @@ int sigdelset(sigset_t *set, int sig) { unsigned s = sig-1; - if (s >= 8*sizeof(sigset_t) || sig-32U<3) { + if (s >= _NSIG-1 || sig-32U < 3) { errno = EINVAL; return -1; } diff --git a/src/signal/sigisemptyset.c b/src/signal/sigisemptyset.c index e2410514..312c66cf 100644 --- a/src/signal/sigisemptyset.c +++ b/src/signal/sigisemptyset.c @@ -4,6 +4,6 @@ int sigisemptyset(const sigset_t *set) { - static const sigset_t zeroset; - return !memcmp(set, &zeroset, 8); + static const unsigned long zeroset[_NSIG/8/sizeof(long)]; + return !memcmp(set, &zeroset, _NSIG/8); } diff --git a/src/signal/sigismember.c b/src/signal/sigismember.c index 1a22108b..dd1a8dbe 100644 --- a/src/signal/sigismember.c +++ b/src/signal/sigismember.c @@ -4,6 +4,6 @@ int sigismember(const sigset_t *set, int sig) { unsigned s = sig-1; - if (s >= 8*sizeof(sigset_t)) return 0; + if (s >= _NSIG-1) return 0; return !!(set->__bits[s/8/sizeof *set->__bits] & 1UL<<(s&8*sizeof *set->__bits-1)); } |