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