CID 135020: Argument cannot be negative (NEGATIVE_RETURNS)
CID 135021: Argument cannot be negative (NEGATIVE_RETURNS)
sigismember()
sigaddset()
sigdelset()
Note that sigaction() already has its own handling for the signal number.
typedef long SysRetLong;
typedef sigset_t* POSIX__SigSet;
typedef HV* POSIX__SigAction;
+typedef int POSIX__SigNo;
#ifdef I_TERMIOS
typedef struct termios* POSIX__Termios;
#else /* Define termios types to int, and call not_here for the functions.*/
SysRet
addset(sigset, sig)
POSIX::SigSet sigset
- int sig
+ POSIX::SigNo sig
ALIAS:
delset = 1
CODE:
int
sigismember(sigset, sig)
POSIX::SigSet sigset
- int sig
+ POSIX::SigNo sig
MODULE = Termios PACKAGE = POSIX::Termios PREFIX = cf
POSIX::SigSet T_OPAQUEPTROBJ
POSIX::Termios T_OPAQUEPTROBJ
POSIX::SigAction T_HVREF
+POSIX::SigNo T_SIGNO
INPUT
T_OPAQUEPTROBJ
\"$var\", \"$ntype\");
}
+T_SIGNO
+ if ((sig = SvIV($arg)) < 0) {
+ croak(\"%s: Negative signals are not allowed %d\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ sig);
+ }
+
OUTPUT
T_OPAQUEPTROBJ
sv_setref_pvn($arg, \"${ntype}\", (const char*)$var, sizeof(*$var));