# typemap for Perl 5 interface to Berkeley
#
# written by Paul Marquess <Paul.Marquess@btinternet.com>
-# last modified 21st February 1999
-# version 1.65
+# last modified 20th June 2004
+# version 1.809
#
#################################### DB SECTION
#
INPUT
T_dbtkeydatum
- if (db->type != DB_RECNO) {
- $var.data = SvPV($arg, PL_na);
- $var.size = (int)PL_na;
- DBT_flags($var);
- }
- else {
- Value = GetRecnoKey(db, SvIV($arg)) ;
+ {
+ SV * my_sv = $arg;
+ DBM_ckFilter(my_sv, filter_store_key, \"filter_store_key\");
+ DBT_clear($var) ;
+ SvGETMAGIC(my_sv) ;
+ if (db->type == DB_RECNO) {
+ if (SvOK(my_sv))
+ Value = GetRecnoKey(aTHX_ db, SvIV(my_sv)) ;
+ else
+ Value = 1 ;
$var.data = & Value;
$var.size = (int)sizeof(recno_t);
- DBT_flags($var);
+ }
+ else if (SvOK(my_sv)) {
+ $var.data = SvPVbyte(my_sv, PL_na);
+ $var.size = (int)PL_na;
}
+ }
T_dbtdatum
- $var.data = SvPV($arg, PL_na);
- $var.size = (int)PL_na;
- DBT_flags($var);
+ {
+ SV * my_sv = $arg;
+ DBM_ckFilter(my_sv, filter_store_value, \"filter_store_value\");
+ DBT_clear($var) ;
+ SvGETMAGIC(my_sv) ;
+ if (SvOK(my_sv)) {
+ $var.data = SvPVbyte(my_sv, PL_na);
+ $var.size = (int)PL_na;
+ }
+ }
OUTPUT