X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FExtUtils%2Ftypemap;h=8377bd7cec9d61c85962ea7b9a7e7243f25a4add;hb=84a9aad5c224d0cf574731960d4cf03373a57222;hp=08ca108465baa018605f4636f89a99d4fab67045;hpb=c725d1150e34e93ef99448f1b52ff246bc32946a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/ExtUtils/typemap b/lib/ExtUtils/typemap index 08ca108..8377bd7 100644 --- a/lib/ExtUtils/typemap +++ b/lib/ExtUtils/typemap @@ -19,7 +19,7 @@ size_t T_IV ssize_t T_IV time_t T_NV unsigned long * T_OPAQUEPTR -char ** T_PACKED +char ** T_PACKEDARRAY void * T_PTR Time_t * T_PV SV * T_SV @@ -99,7 +99,7 @@ T_LONG T_U_LONG $var = (unsigned long)SvUV($arg) T_CHAR - $var = (char)*SvPV($arg,PL_na) + $var = (char)*SvPV_nolen($arg) T_U_CHAR $var = (unsigned char)SvUV($arg) T_FLOAT @@ -109,7 +109,7 @@ T_NV T_DOUBLE $var = (double)SvNV($arg) T_PV - $var = ($type)SvPV($arg,PL_na) + $var = ($type)SvPV_nolen($arg) T_PTR $var = INT2PTR($type,SvIV($arg)) T_PTRREF @@ -120,7 +120,7 @@ T_PTRREF else Perl_croak(aTHX_ \"$var is not a reference\") T_REF_IV_REF - if (sv_isa($arg, \"${type}\")) { + if (sv_isa($arg, \"${ntype}\")) { IV tmp = SvIV((SV*)SvRV($arg)); $var = *INT2PTR($type *, tmp); } @@ -163,9 +163,9 @@ T_REFOBJ else Perl_croak(aTHX_ \"$var is not of type ${ntype}\") T_OPAQUE - $var NOT IMPLEMENTED + $var = *($type *)SvPV_nolen($arg) T_OPAQUEPTR - $var = ($type)SvPV($arg,PL_na) + $var = ($type)SvPV_nolen($arg) T_PACKED $var = XS_unpack_$ntype($arg) T_PACKEDARRAY