about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/signal/sigaddset.c2
-rw-r--r--src/signal/sigdelset.c2
-rw-r--r--src/signal/sigisemptyset.c4
-rw-r--r--src/signal/sigismember.c2
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));
 }