55 lines
1.0 KiB
Plaintext
55 lines
1.0 KiB
Plaintext
Compress::Raw::Bzip2 T_PTROBJ
|
|
Compress::Raw::Bunzip2 T_PTROBJ
|
|
|
|
const char * T_PV
|
|
char * T_PV
|
|
uLong T_UV
|
|
z_off_t T_UV
|
|
DualType T_DUAL
|
|
int_undef T_IV_undef
|
|
|
|
|
|
#############################################################################
|
|
INPUT
|
|
T_UV
|
|
$var = (unsigned long)SvUV($arg)
|
|
T_IV_undef
|
|
if (SvOK($arg))
|
|
$var = SvIV($arg);
|
|
else
|
|
$var = 0 ;
|
|
T_PV
|
|
if (SvOK($arg))
|
|
$var = ($type)SvPVbyte_nolen($arg);
|
|
else
|
|
$var = NULL ;
|
|
|
|
T_PTROBJ_AV
|
|
if ($arg == &PL_sv_undef || $arg == NULL)
|
|
$var = NULL ;
|
|
else if (sv_derived_from($arg, \"${ntype}\")) {
|
|
IV tmp = SvIV(getInnerObject($arg)) ;
|
|
$var = INT2PTR($type, tmp);
|
|
|
|
}
|
|
else
|
|
croak(\"$var is not of type ${ntype}\")
|
|
|
|
|
|
|
|
#############################################################################
|
|
OUTPUT
|
|
T_UV
|
|
sv_setuv($arg, (IV)$var);
|
|
|
|
|
|
T_DUAL
|
|
setDUALstatus($arg, $var) ;
|
|
|
|
|
|
T_PV
|
|
sv_setpv((SV*)$arg, $var);
|
|
|
|
|
|
|