Upgrade to Win32API-File 0.1101
[p5sagit/p5-mst-13.2.git] / ext / B / typemap
index 5f6af0f..7d14ba6 100644 (file)
@@ -7,9 +7,8 @@ B::LOGOP        T_OP_OBJ
 B::LISTOP      T_OP_OBJ
 B::PMOP                T_OP_OBJ
 B::SVOP                T_OP_OBJ
-B::GVOP                T_OP_OBJ
+B::PADOP       T_OP_OBJ
 B::PVOP                T_OP_OBJ
-B::CVOP                T_OP_OBJ
 B::LOOP                T_OP_OBJ
 B::COP         T_OP_OBJ
 
@@ -18,6 +17,7 @@ B::PV         T_SV_OBJ
 B::IV          T_SV_OBJ
 B::NV          T_SV_OBJ
 B::PVMG                T_SV_OBJ
+B::REGEXP      T_SV_OBJ
 B::PVLV                T_SV_OBJ
 B::BM          T_SV_OBJ
 B::RV          T_SV_OBJ
@@ -26,16 +26,21 @@ B::CV               T_SV_OBJ
 B::HV          T_SV_OBJ
 B::AV          T_SV_OBJ
 B::IO          T_SV_OBJ
+B::FM          T_SV_OBJ
 
 B::MAGIC       T_MG_OBJ
 SSize_t                T_IV
-STRLEN         T_IV
+STRLEN         T_UV
+PADOFFSET      T_UV
+
+B::HE          T_HE_OBJ
+B::RHE         T_RHE_OBJ
 
 INPUT
 T_OP_OBJ
        if (SvROK($arg)) {
            IV tmp = SvIV((SV*)SvRV($arg));
-           $var = ($type)PTR_CAST tmp;
+           $var = INT2PTR($type,tmp);
        }
        else
            croak(\"$var is not a reference\")
@@ -43,7 +48,7 @@ T_OP_OBJ
 T_SV_OBJ
        if (SvROK($arg)) {
            IV tmp = SvIV((SV*)SvRV($arg));
-           $var = ($type)PTR_CAST tmp;
+           $var = INT2PTR($type,tmp);
        }
        else
            croak(\"$var is not a reference\")
@@ -51,18 +56,40 @@ T_SV_OBJ
 T_MG_OBJ
        if (SvROK($arg)) {
            IV tmp = SvIV((SV*)SvRV($arg));
-           $var = ($type)PTR_CAST tmp;
+           $var = INT2PTR($type,tmp);
+       }
+       else
+           croak(\"$var is not a reference\")
+
+T_HE_OBJ
+       if (SvROK($arg)) {
+           IV tmp = SvIV((SV*)SvRV($arg));
+           $var = INT2PTR($type,tmp);
+       }
+       else
+           croak(\"$var is not a reference\")
+
+T_RHE_OBJ
+       if (SvROK($arg)) {
+           IV tmp = SvIV((SV*)SvRV($arg));
+           $var = INT2PTR($type,tmp);
        }
        else
            croak(\"$var is not a reference\")
 
 OUTPUT
 T_OP_OBJ
-       sv_setiv(newSVrv($arg, cc_opclassname(aTHX_ (OP*)$var)), (IV)PTR_CAST $var);
+       sv_setiv(newSVrv($arg, cc_opclassname(aTHX_ (OP*)$var)), PTR2IV($var));
 
 T_SV_OBJ
        make_sv_object(aTHX_ ($arg), (SV*)($var));
 
 
 T_MG_OBJ
-       sv_setiv(newSVrv($arg, "B::MAGIC"), (IV)PTR_CAST $var);
+       sv_setiv(newSVrv($arg, "B::MAGIC"), PTR2IV($var));
+
+T_HE_OBJ
+       sv_setiv(newSVrv($arg, "B::HE"), PTR2IV($var));
+
+T_RHE_OBJ
+       sv_setiv(newSVrv($arg, "B::RHE"), PTR2IV($var));