fix const-correctness in sigandset/sigorset arguments
authorRich Felker <dalias@aerifal.cx>
Tue, 7 Jan 2014 07:50:34 +0000 (02:50 -0500)
committerRich Felker <dalias@aerifal.cx>
Tue, 7 Jan 2014 07:50:34 +0000 (02:50 -0500)
this change is consistent with the corresponding glibc functions and
is semantically const-correct. the incorrect argument types without
const seem to have been taken from erroneous man pages.

include/signal.h
src/signal/sigandset.c
src/signal/sigorset.c

index 6f10a11820e64e036e83aab6ef73e3d0002a2a3f..8ef5ff1406edc2cb1532b9254f83790409f40d6b 100644 (file)
@@ -227,8 +227,8 @@ typedef void (*sig_t)(int);
 typedef void (*sighandler_t)(int);
 void (*bsd_signal(int, void (*)(int)))(int);
 int sigisemptyset(const sigset_t *);
-int sigorset (sigset_t *, sigset_t *, sigset_t *);
-int sigandset(sigset_t *, sigset_t *, sigset_t *);
+int sigorset (sigset_t *, const sigset_t *, const sigset_t *);
+int sigandset(sigset_t *, const sigset_t *, const sigset_t *);
 
 #define SA_NOMASK SA_NODEFER
 #define SA_ONESHOT SA_RESETHAND
index e0c6f4867f9037eea8fd3f108acbddb290dd49e5..974186f3d034bf3c77d70ccec6657fd558f2eaf5 100644 (file)
@@ -3,7 +3,7 @@
 
 #define SST_SIZE (_NSIG/8/sizeof(long))
 
-int sigandset(sigset_t *dest, sigset_t *left, sigset_t *right)
+int sigandset(sigset_t *dest, const sigset_t *left, const sigset_t *right)
 {
        unsigned long i = 0, *d = (void*) dest, *l = (void*) left, *r = (void*) right;
        for(; i < SST_SIZE; i++) d[i] = l[i] & r[i];
index df1b1b17deb9040586f6f1b043feebbe79ba8690..ed488738c4ec3779c40db13d5eac3ebac6369489 100644 (file)
@@ -3,7 +3,7 @@
 
 #define SST_SIZE (_NSIG/8/sizeof(long))
 
-int sigorset(sigset_t *dest, sigset_t *left, sigset_t *right)
+int sigorset(sigset_t *dest, const sigset_t *left, const sigset_t *right)
 {
        unsigned long i = 0, *d = (void*) dest, *l = (void*) left, *r = (void*) right;
        for(; i < SST_SIZE; i++) d[i] = l[i] | r[i];