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/05/23 15:19:34 Modified:xs typemap Log: add T_UVOBJ typemap Revision ChangesPath 1.7 +15 -0 modperl-2.0/xs/typemap Index: typemap === RCS file: /home/cvs/modperl-2.0/xs/typemap,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- typemap 9 Apr 2002 20:19:25 - 1.6 +++ typemap 23 May 2002 22:19:34 - 1.7 @@ -17,12 +17,27 @@ T_APR_TIME sv_setnv($arg, (NV)($var / APR_USEC_PER_SEC)); +T_UVOBJ + sv_setref_uv($arg, \"${ntype}\", (UV)$var); + ## 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\"); +} + +INPUT +T_UVOBJ + if (SvROK($arg) && sv_derived_from($arg, \"${ntype}\")) { + UV tmp = SvUV((SV*)SvRV($arg)); + $var = ($type)tmp; } else { Perl_croak(aTHX_ SvROK($arg) ?
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)