cvs commit: modperl-2.0/xs typemap
dougm 02/05/23 21:42:57 Modified:xs typemap Log: need to use modperl version of sv_setref_uv, since it doesn't exist in 5.6.x Revision ChangesPath 1.8 +1 -1 modperl-2.0/xs/typemap Index: typemap === RCS file: /home/cvs/modperl-2.0/xs/typemap,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- typemap 23 May 2002 22:19:34 - 1.7 +++ typemap 24 May 2002 04:42:57 - 1.8 -18,7 +18,7 sv_setnv($arg, (NV)($var / APR_USEC_PER_SEC)); T_UVOBJ - sv_setref_uv($arg, \${ntype}\, (UV)$var); + modperl_perl_sv_setref_uv(aTHX_ $arg, \${ntype}\, (UV)$var); ## INPUT
cvs commit: modperl-2.0/xs typemap
dougm 02/04/09 13:19:25 Modified:xs typemap Log: override T_PTROBJ INPUT typemap to croak if object is not a blessed reference, to prevent possible segv from e.g. Apache::Server-process Revision ChangesPath 1.6 +11 -0 modperl-2.0/xs/typemap Index: typemap === RCS file: /home/cvs/modperl-2.0/xs/typemap,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- typemap 25 Sep 2001 19:44:03 - 1.5 +++ typemap 9 Apr 2002 20:19:25 - 1.6 -19,6 +19,17 ## INPUT +T_PTROBJ + if (SvROK($arg) sv_derived_from($arg, \${ntype}\)) { + IV tmp = SvIV((SV*)SvRV($arg)); + $var = INT2PTR($type,tmp); + } + else { + Perl_croak(aTHX_ SvROK($arg) ? + \$var is not of type ${ntype}\ : + \$var is not a blessed reference\); +} + T_APACHEOBJ $var = modperl_xs_sv2request_rec(aTHX_ $arg, \$ntype\, cv)