1# 2#################################### DBM SECTION 3# 4 5datum_key T_DATUM_K 6datum_key_copy T_DATUM_K 7datum_value T_DATUM_V 8NDBM_File T_PTROBJ 9GDBM_File T_PTROBJ 10SDBM_File T_PTROBJ 11ODBM_File T_PTROBJ 12DB_File T_PTROBJ 13DBZ_File T_PTROBJ 14FATALFUNC T_OPAQUEPTR 15 16INPUT 17T_DATUM_K 18 DBM_ckFilter($arg, filter_store_key, \"filter_store_key\"); 19 $var.dptr = SvPVbyte($arg, PL_na); 20 $var.dsize = (int)PL_na; 21T_DATUM_K_C 22 { 23 SV * tmpSV; 24 if (db->filter_store_key) { 25 tmpSV = sv_2mortal(newSVsv($arg)); 26 DBM_ckFilter(tmpSV, filter_store_key, \"filter_store_key\"); 27 } 28 else 29 tmpSV = $arg; 30 $var.dptr = SvPVbyte(tmpSV, PL_na); 31 $var.dsize = (int)PL_na; 32 } 33T_DATUM_V 34 DBM_ckFilter($arg, filter_store_value, \"filter_store_value\"); 35 if (SvOK($arg)) { 36 $var.dptr = SvPVbyte($arg, PL_na); 37 $var.dsize = (int)PL_na; 38 } 39 else { 40 $var.dptr = \"\"; 41 $var.dsize = 0; 42 } 43OUTPUT 44T_DATUM_K 45 output_datum(aTHX_ $arg, $var.dptr, $var.dsize); 46 DBM_ckFilter($arg, filter_fetch_key,\"filter_fetch_key\"); 47T_DATUM_V 48 output_datum(aTHX_ $arg, $var.dptr, $var.dsize); 49 DBM_ckFilter($arg, filter_fetch_value,\"filter_fetch_value\"); 50T_PTROBJ 51 sv_setref_pv($arg, dbtype, (void*)$var); 52