From f74f7e821df0acc1aad374a44fe672440a5b5985 Mon Sep 17 00:00:00 2001 From: Kenichi Ishigaki Date: Tue, 18 Sep 2012 07:10:01 +0000 Subject: [PATCH] patch from VOVKASM 4: (new) fixed HV typemap --- typemap | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 typemap diff --git a/typemap b/typemap new file mode 100644 index 0000000..933c1d1 --- /dev/null +++ b/typemap @@ -0,0 +1,21 @@ +HV * T_HVREF_REFCOUNT_FIXED + +INPUT +T_HVREF_REFCOUNT_FIXED + STMT_START { + SV* const xsub_tmp_sv = $arg; + SvGETMAGIC(xsub_tmp_sv); + if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVHV){ + $var = (HV*)SvRV(xsub_tmp_sv); + } + else{ + Perl_croak(aTHX_ \"%s: %s is not a HASH reference\", + ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]}, + \"$var\"); + } + } STMT_END + +OUTPUT +T_HVREF_REFCOUNT_FIXED + $arg = newRV_noinc((SV*)$var); +