caddr_t T_PV
wchar_t * T_PV
wchar_t T_IV
+# bool_t is defined in <rpc/rpc.h>
bool_t T_IV
-size_t T_IV
+size_t T_UV
ssize_t T_IV
time_t T_NV
unsigned long * T_OPAQUEPTR
-char ** T_PACKED
+char ** T_PACKEDARRAY
void * T_PTR
Time_t * T_PV
SV * T_SV
I32 T_IV
I16 T_IV
I8 T_IV
-STRLEN T_IV
+STRLEN T_UV
U32 T_U_LONG
U16 T_U_SHORT
U8 T_UV
if (SvROK($arg))
$var = (SV*)SvRV($arg);
else
- Perl_croak(aTHX_ \"$var is not a reference\")
+ Perl_croak(aTHX_ \"%s: %s is not a reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\")
T_AVREF
if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVAV)
$var = (AV*)SvRV($arg);
else
- Perl_croak(aTHX_ \"$var is not an array reference\")
+ Perl_croak(aTHX_ \"%s: %s is not an array reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\")
T_HVREF
if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVHV)
$var = (HV*)SvRV($arg);
else
- Perl_croak(aTHX_ \"$var is not a hash reference\")
+ Perl_croak(aTHX_ \"%s: %s is not a hash reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\")
T_CVREF
if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVCV)
$var = (CV*)SvRV($arg);
else
- Perl_croak(aTHX_ \"$var is not a code reference\")
+ Perl_croak(aTHX_ \"%s: %s is not a code reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\")
T_SYSRET
$var NOT IMPLEMENTED
T_UV
T_U_LONG
$var = (unsigned long)SvUV($arg)
T_CHAR
- $var = (char)*SvPV($arg,PL_na)
+ $var = (char)*SvPV_nolen($arg)
T_U_CHAR
$var = (unsigned char)SvUV($arg)
T_FLOAT
T_DOUBLE
$var = (double)SvNV($arg)
T_PV
- $var = ($type)SvPV($arg,PL_na)
+ $var = ($type)SvPV_nolen($arg)
T_PTR
$var = INT2PTR($type,SvIV($arg))
T_PTRREF
$var = INT2PTR($type,tmp);
}
else
- Perl_croak(aTHX_ \"$var is not a reference\")
+ Perl_croak(aTHX_ \"%s: %s is not a reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\")
T_REF_IV_REF
- if (sv_isa($arg, \"${type}\")) {
+ if (sv_isa($arg, \"${ntype}\")) {
IV tmp = SvIV((SV*)SvRV($arg));
$var = *INT2PTR($type *, tmp);
}
else
- Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
+ Perl_croak(aTHX_ \"%s: %s is not of type %s\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\", \"$ntype\")
T_REF_IV_PTR
if (sv_isa($arg, \"${ntype}\")) {
IV tmp = SvIV((SV*)SvRV($arg));
$var = INT2PTR($type, tmp);
}
else
- Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
+ Perl_croak(aTHX_ \"%s: %s is not of type %s\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\", \"$ntype\")
T_PTROBJ
if (sv_derived_from($arg, \"${ntype}\")) {
IV tmp = SvIV((SV*)SvRV($arg));
$var = INT2PTR($type,tmp);
}
else
- Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
+ Perl_croak(aTHX_ \"%s: %s is not of type %s\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\", \"$ntype\")
T_PTRDESC
if (sv_isa($arg, \"${ntype}\")) {
IV tmp = SvIV((SV*)SvRV($arg));
$var = ${type}_desc->ptr;
}
else
- Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
+ Perl_croak(aTHX_ \"%s: %s is not of type %s\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\", \"$ntype\")
T_REFREF
if (SvROK($arg)) {
IV tmp = SvIV((SV*)SvRV($arg));
$var = *INT2PTR($type,tmp);
}
else
- Perl_croak(aTHX_ \"$var is not a reference\")
+ Perl_croak(aTHX_ \"%s: %s is not a reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\")
T_REFOBJ
if (sv_isa($arg, \"${ntype}\")) {
IV tmp = SvIV((SV*)SvRV($arg));
$var = *INT2PTR($type,tmp);
}
else
- Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
+ Perl_croak(aTHX_ \"%s: %s is not of type %s\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\", \"$ntype\")
T_OPAQUE
- $var NOT IMPLEMENTED
+ $var = *($type *)SvPV_nolen($arg)
T_OPAQUEPTR
- $var = ($type)SvPV($arg,PL_na)
+ $var = ($type)SvPV_nolen($arg)
T_PACKED
$var = XS_unpack_$ntype($arg)
T_PACKEDARRAY