This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Use both cache entries for Perl_sv_pos_b2u().
[perl5.git] / ext / GDBM_File / typemap
CommitLineData
8990e307
LW
1#
2#################################### DBM SECTION
3#
4
9fe6733a 5datum_key T_DATUM_K
5bbd4290 6datum_key_copy T_DATUM_K
9fe6733a 7datum_value T_DATUM_V
8990e307
LW
8NDBM_File T_PTROBJ
9GDBM_File T_PTROBJ
10SDBM_File T_PTROBJ
11ODBM_File T_PTROBJ
12DB_File T_PTROBJ
13DBZ_File T_PTROBJ
14FATALFUNC T_OPAQUEPTR
15
16INPUT
9fe6733a 17T_DATUM_K
6a31061a 18 DBM_ckFilter($arg, filter_store_key, \"filter_store_key\");
5bbd4290 19 $var.dptr = SvPVbyte($arg, PL_na);
9fe6733a 20 $var.dsize = (int)PL_na;
0bf2e707
PM
21T_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
PM
27 }
28 else
29 tmpSV = $arg;
5bbd4290 30 $var.dptr = SvPVbyte(tmpSV, PL_na);
0bf2e707
PM
31 $var.dsize = (int)PL_na;
32 }
9fe6733a 33T_DATUM_V
6a31061a 34 DBM_ckFilter($arg, filter_store_value, \"filter_store_value\");
cbc5248d 35 if (SvOK($arg)) {
5bbd4290 36 $var.dptr = SvPVbyte($arg, PL_na);
cbc5248d
PM
37 $var.dsize = (int)PL_na;
38 }
39 else {
40 $var.dptr = \"\";
41 $var.dsize = 0;
42 }
8990e307 43OUTPUT
9fe6733a 44T_DATUM_K
caa0600b 45 output_datum(aTHX_ $arg, $var.dptr, $var.dsize);
6a31061a 46 DBM_ckFilter($arg, filter_fetch_key,\"filter_fetch_key\");
9fe6733a 47T_DATUM_V
caa0600b 48 output_datum(aTHX_ $arg, $var.dptr, $var.dsize);
6a31061a 49 DBM_ckFilter($arg, filter_fetch_value,\"filter_fetch_value\");
4e2a63a7
PM
50T_PTROBJ
51 sv_setref_pv($arg, dbtype, (void*)$var);