Commit | Line | Data |
---|---|---|
8990e307 LW |
1 | # |
2 | #################################### DBM SECTION | |
3 | # | |
4 | ||
9fe6733a PM |
5 | datum_key T_DATUM_K |
6 | datum_value T_DATUM_V | |
8990e307 LW |
7 | gdatum T_GDATUM |
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 |
bfd025d9 NC |
18 | { |
19 | STRLEN len; | |
f4603e30 | 20 | DBM_ckFilter($arg, filter[store_key], \"filter_store_key\"); |
bfd025d9 NC |
21 | $var.dptr = SvPVbyte($arg, len); |
22 | $var.dsize = (int)len; | |
23 | } | |
9fe6733a | 24 | T_DATUM_V |
f4603e30 | 25 | DBM_ckFilter($arg, filter[store_value], \"filter_store_value\"); |
cbc5248d | 26 | if (SvOK($arg)) { |
bfd025d9 NC |
27 | STRLEN len; |
28 | $var.dptr = SvPVbyte($arg, len); | |
29 | $var.dsize = (int)len; | |
cbc5248d PM |
30 | } |
31 | else { | |
32 | $var.dptr = \"\"; | |
33 | $var.dsize = 0; | |
34 | } | |
8990e307 LW |
35 | T_GDATUM |
36 | UNIMPLEMENTED | |
37 | OUTPUT | |
9fe6733a PM |
38 | T_DATUM_K |
39 | sv_setpvn($arg, $var.dptr, $var.dsize); | |
f4603e30 | 40 | DBM_ckFilter($arg, filter[fetch_key],\"filter_fetch_key\"); |
9fe6733a | 41 | T_DATUM_V |
ef50df4b | 42 | sv_setpvn($arg, $var.dptr, $var.dsize); |
f4603e30 | 43 | DBM_ckFilter($arg, filter[fetch_value],\"filter_fetch_value\"); |
8990e307 | 44 | T_GDATUM |
ef50df4b | 45 | sv_usepvn($arg, $var.dptr, $var.dsize); |
4e2a63a7 PM |
46 | T_PTROBJ |
47 | sv_setref_pv($arg, dbtype, (void*)$var); |