This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade to PathTools-3.15
[perl5.git] / ext / ODBM_File / typemap
1 #
2 #################################### DBM SECTION
3 #
4
5 datum_key               T_DATUM_K
6 datum_key_copy          T_DATUM_K_C
7 datum_value             T_DATUM_V
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
18 T_DATUM_K
19         DBM_ckFilter($arg, filter_store_key, \"filter_store_key\");
20         $var.dptr = SvPVbyte($arg, PL_na);
21         $var.dsize = (int)PL_na;
22 T_DATUM_K_C
23         {
24             SV * tmpSV ;
25             if (db->filter_store_key){
26                 tmpSV = sv_2mortal(newSVsv($arg));
27                 DBM_ckFilter(tmpSV, filter_store_key, \"filter_store_key\");
28             }
29             else
30                 tmpSV = $arg;
31             $var.dptr = SvPVbyte(tmpSV, PL_na);
32             $var.dsize = (int)PL_na;
33         }
34 T_DATUM_V
35         DBM_ckFilter($arg, filter_store_value, \"filter_store_value\");
36         if (SvOK($arg)) {
37             $var.dptr = SvPVbyte($arg, PL_na);
38             $var.dsize = (int)PL_na;
39         }
40         else {
41             $var.dptr = \"\";
42             $var.dsize = 0;
43         }
44 T_GDATUM
45         UNIMPLEMENTED
46 OUTPUT
47 T_DATUM_K
48         sv_setpvn($arg, $var.dptr, $var.dsize);
49         DBM_ckFilter($arg, filter_fetch_key,\"filter_fetch_key\");
50 T_DATUM_V
51         sv_setpvn($arg, $var.dptr, $var.dsize);
52         DBM_ckFilter($arg, filter_fetch_value,\"filter_fetch_value\");
53 T_GDATUM
54         sv_usepvn($arg, $var.dptr, $var.dsize);