Commit | Line | Data |
adfe19db |
1 | ################################################################################ |
2 | # |
3 | # typemap -- XS type mappings not present in early perls |
4 | # |
5 | ################################################################################ |
6 | # |
3f0c6e0c |
7 | # $Revision: 9 $ |
adfe19db |
8 | # $Author: mhx $ |
3f0c6e0c |
9 | # $Date: 2009/06/12 04:07:19 +0200 $ |
adfe19db |
10 | # |
11 | ################################################################################ |
12 | # |
3f0c6e0c |
13 | # Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. |
adfe19db |
14 | # Version 2.x, Copyright (C) 2001, Paul Marquess. |
15 | # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. |
16 | # |
17 | # This program is free software; you can redistribute it and/or |
18 | # modify it under the same terms as Perl itself. |
19 | # |
20 | ################################################################################ |
21 | |
22 | UV T_UV |
23 | NV T_NV |
8565c31a |
24 | HV * T_HVREF |
adfe19db |
25 | |
26 | INPUT |
27 | T_UV |
28 | $var = ($type)SvUV($arg) |
29 | T_NV |
30 | $var = ($type)SvNV($arg) |
8565c31a |
31 | T_HVREF |
32 | if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVHV) |
33 | $var = (HV*)SvRV($arg); |
34 | else |
35 | Perl_croak(aTHX_ \"$var is not a hash reference\") |
adfe19db |
36 | |
37 | OUTPUT |
38 | T_UV |
39 | sv_setuv($arg, (UV)$var); |
40 | T_NV |
41 | sv_setnv($arg, (NV)$var); |