X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FDB_File%2Ftypemap;h=a614cc4c29a6b8fc540166acba34ac581afe1eb4;hb=3e3318e754fa4289ad1c682811dbe6a31cd59e26;hp=4acc65e0781d9b33a69115f2160254b04e072f57;hpb=8e07c86ebc651fe92eb7e3b25f801f57cfb8dd6f;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/DB_File/typemap b/ext/DB_File/typemap index 4acc65e..a614cc4 100644 --- a/ext/DB_File/typemap +++ b/ext/DB_File/typemap @@ -1,8 +1,8 @@ -# typemap for Perl 5 interface to Berkeley DB +# typemap for Perl 5 interface to Berkeley # -# written by Paul Marquess (pmarquess@bfsec.bt.co.uk) -# last modified 23rd June 1994 -# version 0.1 +# written by Paul Marquess +# last modified 6th June 1999 +# version 1.67 # #################################### DB SECTION # @@ -15,21 +15,24 @@ DBTKEY T_dbtkeydatum INPUT T_dbtkeydatum - if (db->type != DB_RECNO) - { - $var.data = SvPV($arg, na); - $var.size = (int)na; + ckFilter($arg, filter_store_key, \"filter_store_key\"); + if (db->type != DB_RECNO) { + $var.data = SvPV($arg, PL_na); + $var.size = (int)PL_na; + DBT_flags($var); } - else - { - Value = SvIV($arg) ; - ++ Value ; + else { + Value = GetRecnoKey(aTHX_ db, SvIV($arg)) ; $var.data = & Value; $var.size = (int)sizeof(recno_t); + DBT_flags($var); } T_dbtdatum - $var.data = SvPV($arg, na); - $var.size = (int)na; + ckFilter($arg, filter_store_value, \"filter_store_value\"); + $var.data = SvPV($arg, PL_na); + $var.size = (int)PL_na; + DBT_flags($var); + OUTPUT @@ -37,3 +40,5 @@ T_dbtkeydatum OutputKey($arg, $var) T_dbtdatum OutputValue($arg, $var) +T_PTROBJ + sv_setref_pv($arg, dbtype, (void*)$var);