Win32 counterpart of change #19065
[p5sagit/p5-mst-13.2.git] / ext / DB_File / typemap
index 41a24f4..8ad7b12 100644 (file)
@@ -1,8 +1,8 @@
 # typemap for Perl 5 interface to Berkeley 
 #
 # written by Paul Marquess <Paul.Marquess@btinternet.com>
-# last modified 7th September 1999
-# version 1.71
+# last modified 10th December 2000
+# version 1.74
 #
 #################################### DB SECTION
 #
@@ -15,23 +15,26 @@ DBTKEY                      T_dbtkeydatum
 
 INPUT
 T_dbtkeydatum
-       ckFilter($arg, filter_store_key, \"filter_store_key\");
+       DBM_ckFilter($arg, filter_store_key, \"filter_store_key\");
        DBT_clear($var) ;
-       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);
+       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
-       ckFilter($arg, filter_store_value, \"filter_store_value\");
+       DBM_ckFilter($arg, filter_store_value, \"filter_store_value\");
        DBT_clear($var) ;
-       $var.data = SvPV($arg, PL_na);
-       $var.size = (int)PL_na;
-
+       if (SvOK($arg)) {
+           $var.data = SvPV($arg, PL_na);
+           $var.size = (int)PL_na;
+       }
 
 OUTPUT