$var.dsize = (int)PL_na;
T_DATUM_V
ckFilter($arg, filter_store_value, \"filter_store_value\");
- $var.dptr = SvPV($arg, PL_na);
- $var.dsize = (int)PL_na;
+ if (SvOK($arg)) {
+ $var.dptr = SvPV($arg, PL_na);
+ $var.dsize = (int)PL_na;
+ }
+ else {
+ $var.dptr = \"\";
+ $var.dsize = 0;
+ }
OUTPUT
T_DATUM_K
- output_datum($arg, $var.dptr, $var.dsize);
+ output_datum(aTHX_ $arg, $var.dptr, $var.dsize);
ckFilter($arg, filter_fetch_key,\"filter_fetch_key\");
T_DATUM_V
- output_datum($arg, $var.dptr, $var.dsize);
+ output_datum(aTHX_ $arg, $var.dptr, $var.dsize);
ckFilter($arg, filter_fetch_value,\"filter_fetch_value\");
T_PTROBJ
sv_setref_pv($arg, dbtype, (void*)$var);