--- cvsroot/EV/typemap 2007/10/28 09:39:18 1.4 +++ cvsroot/EV/typemap 2007/10/29 09:00:43 1.6 @@ -1,8 +1,9 @@ Base T_BASE Event T_EVENT +Signal T_SIGNAL -/* for 5.6 compatibility */ -const char * T_PV +char * T_PVbyte +const char * T_PVbyte INPUT @@ -18,6 +19,13 @@ croak (\"object is not of type EV::Event\"); $var = (Event)SvPVX (SvRV ($arg)); +T_SIGNAL + if (($var = sv_signum ($arg)) <= 0) + croak (\"'%s' is not a valid signal number or name\", SvPV_nolen ($arg)); + +T_PVbyte + $var = ($type)SvPVbyte_nolen ($arg) + OUTPUT T_BASE @@ -26,3 +34,6 @@ T_EVENT $arg = e_self ($var); +T_PVbyte + sv_setpv ((SV *)$arg, $var); +