Win32 counterpart of change #19065
[p5sagit/p5-mst-13.2.git] / ext / DB_File / typemap
index 7af55ae..8ad7b12 100644 (file)
@@ -1,8 +1,8 @@
 # typemap for Perl 5 interface to Berkeley 
 #
-# written by Paul Marquess (pmarquess@bfsec.bt.co.uk)
-# last modified 13th May 1998
-# version 1.59
+# written by Paul Marquess <Paul.Marquess@btinternet.com>
+# last modified 10th December 2000
+# version 1.74
 #
 #################################### DB SECTION
 #
@@ -15,21 +15,26 @@ DBTKEY                      T_dbtkeydatum
 
 INPUT
 T_dbtkeydatum
-       if (db->type != DB_RECNO) {
+       DBM_ckFilter($arg, filter_store_key, \"filter_store_key\");
+       DBT_clear($var) ;
+       if (SvOK($arg)){
+           if (db->type != DB_RECNO) {
+               $var.data = SvPV($arg, PL_na);
+               $var.size = (int)PL_na;
+           }
+           else {
+               Value =  GetRecnoKey(aTHX_ db, SvIV($arg)) ; 
+               $var.data = & Value; 
+               $var.size = (int)sizeof(recno_t);
+           }
+       }
+T_dbtdatum
+       DBM_ckFilter($arg, filter_store_value, \"filter_store_value\");
+       DBT_clear($var) ;
+       if (SvOK($arg)) {
            $var.data = SvPV($arg, PL_na);
            $var.size = (int)PL_na;
-           DBT_flags($var);
        }
-       else {
-           Value =  GetRecnoKey(db, SvIV($arg)) ; 
-           $var.data = & Value; 
-           $var.size = (int)sizeof(recno_t);
-           DBT_flags($var);
-       }
-T_dbtdatum
-       $var.data = SvPV($arg, PL_na);
-       $var.size = (int)PL_na;
-       DBT_flags($var);
 
 OUTPUT