home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Spezial
/
SPEZIAL2_97.zip
/
SPEZIAL2_97.iso
/
ANWEND
/
EDITOR
/
NVI179B
/
NVI179B.ZIP
/
perl_api
/
typemap
< prev
next >
Wrap
Text File
|
1996-09-18
|
981b
|
43 lines
TYPEMAP
# Grr can't let it end in OBJ 'cause xsubpp would
# s/OBJ$/REF/ that for the DESTROY function
VI T_VIOBJNOMUNGE
VI::OPT T_VIOBJREF
VI::MAP T_VIOBJREF
VI::MARK T_VIOBJREF
AVREF T_AVREFREF
INPUT
T_AVREFREF
if (SvROK($arg) && SvTYPE(SvRV($arg)) == SVt_PVAV)
$var = (AV *)SvRV($arg);
else
croak(\"$var is not a reference to an array\")
T_VIOBJNOMUNGE
if (sv_isa($arg, \"VI\")) {
IV tmp = SvIV((SV*)SvRV($arg));
$var = ($type) tmp;
if (!tmp)
croak(\"screen no longer exists\");
}
else
croak(\"$var is not of type ${ntype}\")
T_VIOBJREF
if (sv_isa($arg, \"${ntype}\")) {
IV tmp = SvIV((SV*)SvRV($arg));
if (sv_isa((SV *)tmp, \"VI\")) {
IV tmp2 = SvIV((SV*)SvRV((SV *)tmp));
$var = ($type) tmp2;
if (!tmp2)
croak(\"screen no longer exists\");
}
else
croak(\"$var is not of type ${ntype}\");
}
else
croak(\"$var is not of type ${ntype}\")
OUTPUT
T_VIOBJNOMUNGE
newVIrv($arg, $var);