type changes, casts, and arg touching to prevent warnings.
[catagits/fcgi2.git] / perl / typemap
index ce9cd7b..b8e1a4d 100644 (file)
@@ -1,5 +1,8 @@
 TYPEMAP
-FCGI   T_FCGIOBJNOMUNGE
+FCGI           T_FCGIOBJNOMUNGE
+FCGI::Stream   T_FCGISTREAM
+GLOBREF                T_GLOBREF
+HASHREF                T_HASHREF
 
 INPUT
 T_FCGIOBJNOMUNGE
@@ -7,3 +10,18 @@ T_FCGIOBJNOMUNGE
        $var = ($type) SvIV((SV*)SvRV($arg));
     } else
        croak(\"$var is not of type ${ntype}\")
+T_FCGISTREAM
+    if (sv_isa($arg, \"FCGI::Stream\")) {
+       $var = ($type) SvIV((SV*)SvRV($arg));
+    } else
+       croak(\"$var is not of type ${ntype}\")
+T_GLOBREF
+    if (SvROK($arg) && isGV(SvRV($arg))) {
+       $var = (GV*)SvRV($arg);
+    } else
+       croak(\"$var is not a GLOB reference\");
+T_HASHREF
+    if (SvROK($arg) && SvTYPE(SvRV($arg)) == SVt_PVHV) {
+       $var = (HV*)SvRV($arg);
+    } else
+       croak(\"$var is not a reference to a hash\");