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 | gdatum T_GDATUM |
9 | NDBM_File T_PTROBJ |
10 | GDBM_File T_PTROBJ |
11 | SDBM_File T_PTROBJ |
12 | ODBM_File T_PTROBJ |
13 | DB_File T_PTROBJ |
14 | DBZ_File T_PTROBJ |
15 | FATALFUNC T_OPAQUEPTR |
16 | |
17 | INPUT |
9fe6733a |
18 | T_DATUM_K |
bfd025d9 |
19 | { |
20 | STRLEN len; |
d0cc0e64 |
21 | DBM_ckFilter($arg, filter_store_key, \"filter_store_key\"); |
bfd025d9 |
22 | $var.dptr = SvPVbyte($arg, len); |
23 | $var.dsize = (int)len; |
24 | } |
0bf2e707 |
25 | T_DATUM_K_C |
26 | { |
27 | SV * tmpSV ; |
bfd025d9 |
28 | STRLEN len; |
0bf2e707 |
29 | if (db->filter_store_key){ |
30 | tmpSV = sv_2mortal(newSVsv($arg)); |
6a31061a |
31 | DBM_ckFilter(tmpSV, filter_store_key, \"filter_store_key\"); |
0bf2e707 |
32 | } |
33 | else |
34 | tmpSV = $arg; |
bfd025d9 |
35 | $var.dptr = SvPVbyte(tmpSV, len); |
36 | $var.dsize = (int)len; |
0bf2e707 |
37 | } |
9fe6733a |
38 | T_DATUM_V |
6a31061a |
39 | DBM_ckFilter($arg, filter_store_value, \"filter_store_value\"); |
cbc5248d |
40 | if (SvOK($arg)) { |
bfd025d9 |
41 | STRLEN len; |
42 | $var.dptr = SvPVbyte($arg, len); |
43 | $var.dsize = (int)len; |
cbc5248d |
44 | } |
45 | else { |
46 | $var.dptr = \"\"; |
47 | $var.dsize = 0; |
48 | } |
8990e307 |
49 | T_GDATUM |
50 | UNIMPLEMENTED |
51 | OUTPUT |
9fe6733a |
52 | T_DATUM_K |
53 | sv_setpvn($arg, $var.dptr, $var.dsize); |
6a31061a |
54 | DBM_ckFilter($arg, filter_fetch_key,\"filter_fetch_key\"); |
9fe6733a |
55 | T_DATUM_V |
ef50df4b |
56 | sv_setpvn($arg, $var.dptr, $var.dsize); |
6a31061a |
57 | DBM_ckFilter($arg, filter_fetch_value,\"filter_fetch_value\"); |
8990e307 |
58 | T_GDATUM |
ef50df4b |
59 | sv_usepvn($arg, $var.dptr, $var.dsize); |