Win32 counterpart of change #19065
[p5sagit/p5-mst-13.2.git] / ext / DB_File / typemap
index a614cc4..8ad7b12 100644 (file)
@@ -1,8 +1,8 @@
 # typemap for Perl 5 interface to Berkeley 
 #
 # written by Paul Marquess <Paul.Marquess@btinternet.com>
-# last modified 6th June 1999
-# version 1.67
+# last modified 10th December 2000
+# version 1.74
 #
 #################################### DB SECTION
 #
@@ -15,24 +15,26 @@ DBTKEY                      T_dbtkeydatum
 
 INPUT
 T_dbtkeydatum
-       ckFilter($arg, filter_store_key, \"filter_store_key\");
-       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(aTHX_ db, SvIV($arg)) ; 
-           $var.data = & Value; 
-           $var.size = (int)sizeof(recno_t);
-           DBT_flags($var);
        }
-T_dbtdatum
-       ckFilter($arg, filter_store_value, \"filter_store_value\");
-       $var.data = SvPV($arg, PL_na);
-       $var.size = (int)PL_na;
-       DBT_flags($var);
-
 
 OUTPUT