[patch] Cwd.xs optimizations/abstraction
[p5sagit/p5-mst-13.2.git] / ext / GDBM_File / typemap
1 #
2 #################################### DBM SECTION
3 #
4
5 datum_key               T_DATUM_K
6 datum_value             T_DATUM_V
7 NDBM_File               T_PTROBJ
8 GDBM_File               T_PTROBJ
9 SDBM_File               T_PTROBJ
10 ODBM_File               T_PTROBJ
11 DB_File                 T_PTROBJ
12 DBZ_File                T_PTROBJ
13 FATALFUNC               T_OPAQUEPTR
14
15 INPUT
16 T_DATUM_K
17         ckFilter($arg, filter_store_key, \"filter_store_key\");
18         $var.dptr = SvPV($arg, PL_na);
19         $var.dsize = (int)PL_na;
20 T_DATUM_V
21         ckFilter($arg, filter_store_value, \"filter_store_value\");
22         if (SvOK($arg)) {
23             $var.dptr = SvPV($arg, PL_na);
24             $var.dsize = (int)PL_na;
25         }
26         else {
27             $var.dptr = \"\";
28             $var.dsize = 0;
29         }
30 OUTPUT
31 T_DATUM_K
32         output_datum(aTHX_ $arg, $var.dptr, $var.dsize);
33         ckFilter($arg, filter_fetch_key,\"filter_fetch_key\");
34 T_DATUM_V
35         output_datum(aTHX_ $arg, $var.dptr, $var.dsize);
36         ckFilter($arg, filter_fetch_value,\"filter_fetch_value\");
37 T_PTROBJ
38         sv_setref_pv($arg, dbtype, (void*)$var);