summaryrefslogtreecommitdiff
path: root/typemap
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2012-09-24 10:15:50 +0000
committerLorry <lorry@roadtrain.codethink.co.uk>2012-09-26 13:46:46 +0000
commit485b97be9f2f2abf5a40923b5fd85f75714a8c02 (patch)
treeca05cb0ecf3828d909a898c3e5805804a0aff5f8 /typemap
downloadperl-dbd-sqlite-tarball-485b97be9f2f2abf5a40923b5fd85f75714a8c02.tar.gz
Imported from /srv/lorry/lorry-area/perl-dbd-sqlite-tarball/DBD-SQLite-1.38_01.tar.gz.HEADDBD-SQLite-1.38_01masterbaserock/morph
Diffstat (limited to 'typemap')
-rw-r--r--typemap21
1 files changed, 21 insertions, 0 deletions
diff --git a/typemap b/typemap
new file mode 100644
index 0000000..337bc2f
--- /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);
+