]> git.imager.perl.org - imager.git/blobdiff - typemap
- add samples/tk-photo.pl
[imager.git] / typemap
diff --git a/typemap b/typemap
index 52ad53cb8a96e088bb95641e2495c42bb8c0bcfc..1312b02e520f39d2b649b8be204d2503bbf35abe 100644 (file)
--- a/typemap
+++ b/typemap
@@ -10,16 +10,29 @@ const char *                T_PV
 float                  T_FLOAT
 float*                 T_ARRAY
 undef_int              T_IV_U
+undef_neg_int           T_IV_NEGU
 HASH                   T_HVREF
+utf8_str               T_UTF8_STR
 #############################################################################
 INPUT
 T_PTR_NULL
        if (SvOK($arg)) $var = INT2PTR($type,SvIV($arg));
        else $var = NULL
+
+# the pre-5.8.0 T_AVREF input map was fixed in 5.8.0
+T_AVREF
+        if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVAV)
+            $var = (AV*)SvRV($arg);
+        else
+            Perl_croak(aTHX_ \"$var is not an array reference\")
+
 #############################################################################
 OUTPUT
 T_IV_U
        if ($var == 0) $arg=&PL_sv_undef;
        else sv_setiv($arg, (IV)$var);
+T_IV_NEGU
+       if ($var < 0) $arg=&PL_sv_undef;
+       else sv_setiv($arg, (IV)$var);
 T_PTR_NULL
        sv_setiv($arg, (IV)$var);