cvs commit: modperl-2.0/xs typemap

2002-05-23 Thread dougm

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

2002-05-23 Thread dougm

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

2002-04-09 Thread dougm

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)