File: | obj/gnu/usr.bin/perl/ext/XS-Typemap/Typemap.c |
Warning: | line 1662, column 3 Value stored to 'dummy' is never read |
Press '?' to see keyboard shortcuts
Keyboard shortcuts:
1 | /* |
2 | * This file was generated automatically by ExtUtils::ParseXS version 3.40 from the |
3 | * contents of Typemap.xs. Do not edit this file, edit Typemap.xs instead. |
4 | * |
5 | * ANY CHANGES MADE HERE WILL BE LOST! |
6 | * |
7 | */ |
8 | |
9 | #line 1 "Typemap.xs" |
10 | /* |
11 | XS code to test the typemap entries |
12 | |
13 | Copyright (C) 2001 Tim Jenness. |
14 | All Rights Reserved |
15 | |
16 | */ |
17 | |
18 | #define PERL_NO_GET_CONTEXT |
19 | |
20 | #include "EXTERN.h" /* std perl include */ |
21 | #include "perl.h" /* std perl include */ |
22 | #include "XSUB.h" /* XSUB include */ |
23 | |
24 | /* Prototypes for external functions */ |
25 | FILE * xsfopen( const char * ); |
26 | int xsfclose( FILE * ); |
27 | int xsfprintf( FILE *, const char *); |
28 | |
29 | /* Type definitions required for the XS typemaps */ |
30 | typedef SV * SVREF; /* T_SVREF */ |
31 | typedef int SysRet; /* T_SYSRET */ |
32 | typedef int Int; /* T_INT */ |
33 | typedef int intRef; /* T_PTRREF */ |
34 | typedef int intObj; /* T_PTROBJ */ |
35 | typedef int intRefIv; /* T_REF_IV_PTR */ |
36 | typedef int intArray; /* T_ARRAY */ |
37 | typedef int intTINT; /* T_INT */ |
38 | typedef int intTLONG; /* T_LONG */ |
39 | typedef short shortOPQ; /* T_OPAQUE */ |
40 | typedef int intOpq; /* T_OPAQUEPTR */ |
41 | typedef unsigned intUnsigned; /* T_U_INT */ |
42 | typedef PerlIOPerlIO * inputfh; /* T_IN */ |
43 | typedef PerlIOPerlIO * outputfh; /* T_OUT */ |
44 | |
45 | /* A structure to test T_OPAQUEPTR and T_PACKED */ |
46 | struct t_opaqueptr { |
47 | int a; |
48 | int b; |
49 | double c; |
50 | }; |
51 | |
52 | typedef struct t_opaqueptr astruct; |
53 | typedef struct t_opaqueptr anotherstruct; |
54 | |
55 | /* Some static memory for the tests */ |
56 | static I32 xst_anint; |
57 | static intRef xst_anintref; |
58 | static intObj xst_anintobj; |
59 | static intRefIv xst_anintrefiv; |
60 | static intOpq xst_anintopq; |
61 | |
62 | /* A different type to refer to for testing the different |
63 | * AV*, HV*, etc typemaps */ |
64 | typedef AV AV_FIXED; |
65 | typedef HV HV_FIXED; |
66 | typedef CV CV_FIXED; |
67 | typedef SVREF SVREF_FIXED; |
68 | |
69 | /* Helper functions */ |
70 | |
71 | /* T_ARRAY - allocate some memory */ |
72 | intArray * intArrayPtr( int nelem ) { |
73 | intArray * array; |
74 | Newx(array, nelem, intArray)(array = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof (nelem) || sizeof(intArray) > ((size_t)1 << 8*(sizeof (size_t) - sizeof(nelem)))) ? (size_t)(nelem) : ((size_t)-1)/ sizeof(intArray)) > ((size_t)-1)/sizeof(intArray))) ? (_Bool )1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap(),0)), (intArray*)(Perl_safesysmalloc((size_t)((nelem)*sizeof(intArray )))))); |
75 | return array; |
76 | } |
77 | |
78 | /* test T_PACKED */ |
79 | STATICstatic void |
80 | XS_pack_anotherstructPtr(SV *out, anotherstruct *in) |
81 | { |
82 | dTHXstruct Perl___notused_struct; |
83 | HV *hash = newHV()((HV *)({ void *_p = (Perl_newSV_type( SVt_PVHV)); _p; })); |
84 | if (NULL((void*)0) == hv_stores(hash, "a", newSViv(in->a))((SV**) Perl_hv_common_key_len( ((hash)),(("" "a" "")),((sizeof ("a")-1)),(0x04|0x20),((Perl_newSViv( in->a))),(0)))) |
85 | croakPerl_croak("Failed to store data in hash"); |
86 | if (NULL((void*)0) == hv_stores(hash, "b", newSViv(in->b))((SV**) Perl_hv_common_key_len( ((hash)),(("" "b" "")),((sizeof ("b")-1)),(0x04|0x20),((Perl_newSViv( in->b))),(0)))) |
87 | croakPerl_croak("Failed to store data in hash"); |
88 | if (NULL((void*)0) == hv_stores(hash, "c", newSVnv(in->c))((SV**) Perl_hv_common_key_len( ((hash)),(("" "c" "")),((sizeof ("c")-1)),(0x04|0x20),((Perl_newSVnv( in->c))),(0)))) |
89 | croakPerl_croak("Failed to store data in hash"); |
90 | sv_setsv(out, sv_2mortal(newRV_noinc((SV*)hash)))Perl_sv_setsv_flags( out,Perl_sv_2mortal( Perl_newRV_noinc( ( SV*)hash)),2|0); |
91 | } |
92 | |
93 | STATICstatic anotherstruct * |
94 | XS_unpack_anotherstructPtr(SV *in) |
95 | { |
96 | dTHXstruct Perl___notused_struct; /* rats, this is expensive */ |
97 | /* this is similar to T_HVREF since we chose to use a hash */ |
98 | HV *inhash; |
99 | SV **elem; |
100 | anotherstruct *out; |
101 | SV *const tmp = in; |
102 | SvGETMAGIC(tmp)((void)(__builtin_expect(((((tmp)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( tmp))); |
103 | if (SvROK(tmp)((tmp)->sv_flags & 0x00000800) && SvTYPE(SvRV(tmp))((svtype)((((tmp)->sv_u.svu_rv))->sv_flags & 0xff)) == SVt_PVHV) |
104 | inhash = (HV*)SvRV(tmp)((tmp)->sv_u.svu_rv); |
105 | else |
106 | Perl_croak(aTHX_ "Argument is not a HASH reference"); |
107 | |
108 | /* FIXME dunno if supposed to use perl mallocs here */ |
109 | Newxz(out, 1, anotherstruct)(out = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof (1) || sizeof(anotherstruct) > ((size_t)1 << 8*(sizeof (size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1)/sizeof(anotherstruct )) > ((size_t)-1)/sizeof(anotherstruct))) ? (_Bool)1 : (_Bool )0),(0)) && (Perl_croak_memory_wrap(),0)), (anotherstruct *)(Perl_safesyscalloc((1),sizeof(anotherstruct))))); |
110 | |
111 | elem = hv_fetchs(inhash, "a", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "a" "")),((sizeof ("a")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)); |
112 | if (elem == NULL((void*)0)) |
113 | Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL"); |
114 | out->a = SvIV(*elem)((((*elem)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (*elem)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( *elem,2)); |
115 | |
116 | elem = hv_fetchs(inhash, "b", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "b" "")),((sizeof ("b")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)); |
117 | if (elem == NULL((void*)0)) |
118 | Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL"); |
119 | out->b = SvIV(*elem)((((*elem)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (*elem)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( *elem,2)); |
120 | |
121 | elem = hv_fetchs(inhash, "c", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "c" "")),((sizeof ("c")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)); |
122 | if (elem == NULL((void*)0)) |
123 | Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL"); |
124 | out->c = SvNV(*elem)((((*elem)->sv_flags & (0x00000200|0x00200000)) == 0x00000200 ) ? ((XPVNV*) (*elem)->sv_any)->xnv_u.xnv_nv : Perl_sv_2nv_flags ( *elem,2)); |
125 | |
126 | return out; |
127 | } |
128 | |
129 | /* test T_PACKEDARRAY */ |
130 | STATICstatic void |
131 | XS_pack_anotherstructPtrPtr(SV *out, anotherstruct **in, UV cnt) |
132 | { |
133 | dTHXstruct Perl___notused_struct; |
134 | UV i; |
135 | AV *ary = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); |
136 | for (i = 0; i < cnt; ++i) { |
137 | HV *hash = newHV()((HV *)({ void *_p = (Perl_newSV_type( SVt_PVHV)); _p; })); |
138 | if (NULL((void*)0) == hv_stores(hash, "a", newSViv(in[i]->a))((SV**) Perl_hv_common_key_len( ((hash)),(("" "a" "")),((sizeof ("a")-1)),(0x04|0x20),((Perl_newSViv( in[i]->a))),(0)))) |
139 | croakPerl_croak("Failed to store data in hash"); |
140 | if (NULL((void*)0) == hv_stores(hash, "b", newSViv(in[i]->b))((SV**) Perl_hv_common_key_len( ((hash)),(("" "b" "")),((sizeof ("b")-1)),(0x04|0x20),((Perl_newSViv( in[i]->b))),(0)))) |
141 | croakPerl_croak("Failed to store data in hash"); |
142 | if (NULL((void*)0) == hv_stores(hash, "c", newSVnv(in[i]->c))((SV**) Perl_hv_common_key_len( ((hash)),(("" "c" "")),((sizeof ("c")-1)),(0x04|0x20),((Perl_newSVnv( in[i]->c))),(0)))) |
143 | croakPerl_croak("Failed to store data in hash"); |
144 | av_push(ary, newRV_noinc((SV*)hash))Perl_av_push( ary,Perl_newRV_noinc( (SV*)hash)); |
145 | } |
146 | sv_setsv(out, sv_2mortal(newRV_noinc((SV*)ary)))Perl_sv_setsv_flags( out,Perl_sv_2mortal( Perl_newRV_noinc( ( SV*)ary)),2|0); |
147 | } |
148 | |
149 | STATICstatic anotherstruct ** |
150 | XS_unpack_anotherstructPtrPtr(SV *in) |
151 | { |
152 | dTHXstruct Perl___notused_struct; /* rats, this is expensive */ |
153 | /* this is similar to T_HVREF since we chose to use a hash */ |
154 | HV *inhash; |
155 | AV *inary; |
156 | SV **elem; |
157 | anotherstruct **out; |
158 | UV nitems, i; |
159 | SV *tmp; |
160 | |
161 | /* safely deref the input array ref */ |
162 | tmp = in; |
163 | SvGETMAGIC(tmp)((void)(__builtin_expect(((((tmp)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( tmp))); |
164 | if (SvROK(tmp)((tmp)->sv_flags & 0x00000800) && SvTYPE(SvRV(tmp))((svtype)((((tmp)->sv_u.svu_rv))->sv_flags & 0xff)) == SVt_PVAV) |
165 | inary = (AV*)SvRV(tmp)((tmp)->sv_u.svu_rv); |
166 | else |
167 | Perl_croak(aTHX_ "Argument is not an ARRAY reference"); |
168 | |
169 | nitems = av_tindex(inary)Perl_av_top_index( inary) + 1; |
170 | |
171 | /* FIXME dunno if supposed to use perl mallocs here */ |
172 | /* N+1 elements so we know the last one is NULL */ |
173 | Newxz(out, nitems+1, anotherstruct*)(out = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof (nitems+1) || sizeof(anotherstruct*) > ((size_t)1 << 8*(sizeof(size_t) - sizeof(nitems+1)))) ? (size_t)(nitems+1) : ((size_t)-1)/sizeof(anotherstruct*)) > ((size_t)-1)/sizeof (anotherstruct*))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap (),0)), (anotherstruct**)(Perl_safesyscalloc((nitems+1),sizeof (anotherstruct*))))); |
174 | |
175 | /* WARNING: in real code, we'd have to Safefree() on exception, but |
176 | * since we're testing perl, if we croak() here, stuff is |
177 | * rotten anyway! */ |
178 | for (i = 0; i < nitems; ++i) { |
179 | Newxz(out[i], 1, anotherstruct)(out[i] = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof (1) || sizeof(anotherstruct) > ((size_t)1 << 8*(sizeof (size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1)/sizeof(anotherstruct )) > ((size_t)-1)/sizeof(anotherstruct))) ? (_Bool)1 : (_Bool )0),(0)) && (Perl_croak_memory_wrap(),0)), (anotherstruct *)(Perl_safesyscalloc((1),sizeof(anotherstruct))))); |
180 | elem = av_fetch(inary, i, 0)Perl_av_fetch( inary,i,0); |
181 | if (elem == NULL((void*)0)) |
182 | Perl_croak(aTHX_ "Shouldn't happen: av_fetch returns NULL"); |
183 | tmp = *elem; |
184 | SvGETMAGIC(tmp)((void)(__builtin_expect(((((tmp)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( tmp))); |
185 | if (SvROK(tmp)((tmp)->sv_flags & 0x00000800) && SvTYPE(SvRV(tmp))((svtype)((((tmp)->sv_u.svu_rv))->sv_flags & 0xff)) == SVt_PVHV) |
186 | inhash = (HV*)SvRV(tmp)((tmp)->sv_u.svu_rv); |
187 | else |
188 | Perl_croak(aTHX_ "Array element %" UVuf"lu" |
189 | " is not a HASH reference", i); |
190 | |
191 | elem = hv_fetchs(inhash, "a", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "a" "")),((sizeof ("a")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)); |
192 | if (elem == NULL((void*)0)) |
193 | Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL"); |
194 | out[i]->a = SvIV(*elem)((((*elem)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (*elem)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( *elem,2)); |
195 | |
196 | elem = hv_fetchs(inhash, "b", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "b" "")),((sizeof ("b")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)); |
197 | if (elem == NULL((void*)0)) |
198 | Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL"); |
199 | out[i]->b = SvIV(*elem)((((*elem)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (*elem)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( *elem,2)); |
200 | |
201 | elem = hv_fetchs(inhash, "c", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "c" "")),((sizeof ("c")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)); |
202 | if (elem == NULL((void*)0)) |
203 | Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL"); |
204 | out[i]->c = SvNV(*elem)((((*elem)->sv_flags & (0x00000200|0x00200000)) == 0x00000200 ) ? ((XPVNV*) (*elem)->sv_any)->xnv_u.xnv_nv : Perl_sv_2nv_flags ( *elem,2)); |
205 | } |
206 | |
207 | return out; |
208 | } |
209 | |
210 | /* no special meaning as far as typemaps are concerned, |
211 | * just for convenience */ |
212 | void |
213 | XS_release_anotherstructPtrPtr(anotherstruct **in) |
214 | { |
215 | unsigned int i; |
216 | for (i = 0; in[i] != NULL((void*)0); i++) |
217 | Safefree(in[i])Perl_safesysfree(((void *)(in[i]))); |
218 | Safefree(in)Perl_safesysfree(((void *)(in))); |
219 | } |
220 | |
221 | |
222 | #line 223 "Typemap.c" |
223 | #ifndef PERL_UNUSED_VAR |
224 | # define PERL_UNUSED_VAR(var)((void)sizeof(var)) if (0) var = var |
225 | #endif |
226 | |
227 | #ifndef dVARstruct Perl___notused_struct |
228 | # define dVARstruct Perl___notused_struct dNOOPstruct Perl___notused_struct |
229 | #endif |
230 | |
231 | |
232 | /* This stuff is not part of the API! You have been warned. */ |
233 | #ifndef PERL_VERSION_DECIMAL |
234 | # define PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s) (r*1000000 + v*1000 + s) |
235 | #endif |
236 | #ifndef PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) |
237 | # define PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) \ |
238 | PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)(5*1000000 + 32*1000 + 1) |
239 | #endif |
240 | #ifndef PERL_VERSION_GE |
241 | # define PERL_VERSION_GE(r,v,s)((5*1000000 + 32*1000 + 1) >= (r*1000000 + v*1000 + s)) \ |
242 | (PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) >= PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s)) |
243 | #endif |
244 | #ifndef PERL_VERSION_LE |
245 | # define PERL_VERSION_LE(r,v,s)((5*1000000 + 32*1000 + 1) <= (r*1000000 + v*1000 + s)) \ |
246 | (PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) <= PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s)) |
247 | #endif |
248 | |
249 | /* XS_INTERNAL is the explicit static-linkage variant of the default |
250 | * XS macro. |
251 | * |
252 | * XS_EXTERNAL is the same as XS_INTERNAL except it does not include |
253 | * "STATIC", ie. it exports XSUB symbols. You probably don't want that |
254 | * for anything but the BOOT XSUB. |
255 | * |
256 | * See XSUB.h in core! |
257 | */ |
258 | |
259 | |
260 | /* TODO: This might be compatible further back than 5.10.0. */ |
261 | #if PERL_VERSION_GE(5, 10, 0)((5*1000000 + 32*1000 + 1) >= (5*1000000 + 10*1000 + 0)) && PERL_VERSION_LE(5, 15, 1)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 15*1000 + 1)) |
262 | # undef XS_EXTERNAL |
263 | # undef XS_INTERNAL |
264 | # if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING) |
265 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) __declspec(dllexport) XSPROTO(name)void name( CV* cv __attribute__((unused))) |
266 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused))) |
267 | # endif |
268 | # if defined(__SYMBIAN32__) |
269 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) EXPORT_C XSPROTO(name)void name( CV* cv __attribute__((unused))) |
270 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) EXPORT_C STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused))) |
271 | # endif |
272 | # ifndef XS_EXTERNAL |
273 | # if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus) |
274 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) void name(pTHX_ CV* cv __attribute__unused____attribute__((unused))) |
275 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic void name(pTHX_ CV* cv __attribute__unused____attribute__((unused))) |
276 | # else |
277 | # ifdef __cplusplus |
278 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) extern "C" XSPROTO(name)void name( CV* cv __attribute__((unused))) |
279 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) static XSPROTO(name)void name( CV* cv __attribute__((unused))) |
280 | # else |
281 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) XSPROTO(name)void name( CV* cv __attribute__((unused))) |
282 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused))) |
283 | # endif |
284 | # endif |
285 | # endif |
286 | #endif |
287 | |
288 | /* perl >= 5.10.0 && perl <= 5.15.1 */ |
289 | |
290 | |
291 | /* The XS_EXTERNAL macro is used for functions that must not be static |
292 | * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL |
293 | * macro defined, the best we can do is assume XS is the same. |
294 | * Dito for XS_INTERNAL. |
295 | */ |
296 | #ifndef XS_EXTERNAL |
297 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) XS(name)void name( CV* cv __attribute__((unused))) |
298 | #endif |
299 | #ifndef XS_INTERNAL |
300 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) XS(name)void name( CV* cv __attribute__((unused))) |
301 | #endif |
302 | |
303 | /* Now, finally, after all this mess, we want an ExtUtils::ParseXS |
304 | * internal macro that we're free to redefine for varying linkage due |
305 | * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use |
306 | * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to! |
307 | */ |
308 | |
309 | #undef XS_EUPXS |
310 | #if defined(PERL_EUPXS_ALWAYS_EXPORT) |
311 | # define XS_EUPXS(name)static void name( CV* cv __attribute__((unused))) XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) |
312 | #else |
313 | /* default to internal */ |
314 | # define XS_EUPXS(name)static void name( CV* cv __attribute__((unused))) XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) |
315 | #endif |
316 | |
317 | #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0) |
318 | #define PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0) assert(cv)((void)0); assert(params)((void)0) |
319 | |
320 | /* prototype to pass -Wmissing-prototypes */ |
321 | STATICstatic void |
322 | S_croak_xs_usage(const CV *const cv, const char *const params); |
323 | |
324 | STATICstatic void |
325 | S_croak_xs_usage(const CV *const cv, const char *const params) |
326 | { |
327 | const GV *const gv = CvGV(cv)Perl_CvGV( (CV *)(cv)); |
328 | |
329 | PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0); |
330 | |
331 | if (gv) { |
332 | const char *const gvname = GvNAME(gv)((((XPVGV*)(gv)->sv_any)->xiv_u.xivu_namehek))->hek_key; |
333 | const HV *const stash = GvSTASH(gv)(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash); |
334 | const char *const hvname = stash ? HvNAME(stash)((((stash)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV*) (stash )->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name && ( ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV *) (stash)->sv_any)->xhv_max+1]))->xhv_name_count ? * ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV *) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV *) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name )) ? (( ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash )[((XPVHV*) (stash)->sv_any)->xhv_max+1]))->xhv_name_count ? *((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV *) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV *) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name ))->hek_key : ((void*)0)) : NULL((void*)0); |
335 | |
336 | if (hvname) |
337 | Perl_croak_nocontextPerl_croak("Usage: %s::%s(%s)", hvname, gvname, params); |
338 | else |
339 | Perl_croak_nocontextPerl_croak("Usage: %s(%s)", gvname, params); |
340 | } else { |
341 | /* Pants. I don't think that it should be possible to get here. */ |
342 | Perl_croak_nocontextPerl_croak("Usage: CODE(0x%" UVxf"lx" ")(%s)", PTR2UV(cv)(UV)(cv), params); |
343 | } |
344 | } |
345 | #undef PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0) |
346 | |
347 | #define croak_xs_usagePerl_croak_xs_usage S_croak_xs_usage |
348 | |
349 | #endif |
350 | |
351 | /* NOTE: the prototype of newXSproto() is different in versions of perls, |
352 | * so we define a portable version of newXSproto() |
353 | */ |
354 | #ifdef newXS_flags |
355 | #define newXSproto_portable(name, c_impl, file, proto)Perl_newXS_flags( name,c_impl,file,proto,0) newXS_flags(name, c_impl, file, proto, 0)Perl_newXS_flags( name,c_impl,file,proto,0) |
356 | #else |
357 | #define newXSproto_portable(name, c_impl, file, proto)Perl_newXS_flags( name,c_impl,file,proto,0) (PL_Sv=(SV*)newXS(name, c_impl, file)Perl_newXS( name,c_impl,file), sv_setpv(PL_Sv, proto)Perl_sv_setpv( PL_Sv,proto), (CV*)PL_Sv) |
358 | #endif /* !defined(newXS_flags) */ |
359 | |
360 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) |
361 | # define newXS_deffile(a,b)Perl_newXS_deffile( a,b) Perl_newXS(aTHX_ a,b,file) |
362 | #else |
363 | # define newXS_deffile(a,b)Perl_newXS_deffile( a,b) Perl_newXS_deffile(aTHX_ a,b) |
364 | #endif |
365 | |
366 | #line 367 "Typemap.c" |
367 | |
368 | XS_EUPXS(XS_XS__Typemap_T_SV)static void XS_XS__Typemap_T_SV( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
369 | XS_EUPXS(XS_XS__Typemap_T_SV)static void XS_XS__Typemap_T_SV( CV* cv __attribute__((unused ))) |
370 | { |
371 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
372 | if (items != 1) |
373 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); |
374 | { |
375 | SV * sv = ST(0)PL_stack_base[ax + (0)] |
376 | ; |
377 | SV * RETVAL; |
378 | #line 259 "Typemap.xs" |
379 | /* create a new sv for return that is a copy of the input |
380 | do not simply copy the pointer since the SV will be marked |
381 | mortal by the INPUT typemap when it is pushed back onto the stack */ |
382 | RETVAL = sv_mortalcopy( sv )Perl_sv_mortalcopy_flags( sv, 2|0); |
383 | /* increment the refcount since the default INPUT typemap mortalizes |
384 | by default and we don't want to decrement the ref count twice |
385 | by mistake */ |
386 | SvREFCNT_inc(RETVAL)Perl_SvREFCNT_inc(((SV *)({ void *_p = (RETVAL); _p; }))); |
387 | #line 388 "Typemap.c" |
388 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); |
389 | ST(0)PL_stack_base[ax + (0)] = RETVAL; |
390 | } |
391 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
392 | } |
393 | |
394 | |
395 | XS_EUPXS(XS_XS__Typemap_T_SVREF)static void XS_XS__Typemap_T_SVREF( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
396 | XS_EUPXS(XS_XS__Typemap_T_SVREF)static void XS_XS__Typemap_T_SVREF( CV* cv __attribute__((unused ))) |
397 | { |
398 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
399 | if (items != 1) |
400 | croak_xs_usagePerl_croak_xs_usage(cv, "svref"); |
401 | { |
402 | SVREF svref; |
403 | SVREF RETVAL; |
404 | |
405 | STMT_STARTdo { |
406 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; |
407 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); |
408 | if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800)){ |
409 | svref = SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); |
410 | } |
411 | else{ |
412 | Perl_croak_nocontextPerl_croak("%s: %s is not a reference", |
413 | "XS::Typemap::T_SVREF", |
414 | "svref"); |
415 | } |
416 | } STMT_ENDwhile (0) |
417 | ; |
418 | #line 277 "Typemap.xs" |
419 | RETVAL = svref; |
420 | #line 421 "Typemap.c" |
421 | { |
422 | SV * RETVALSV; |
423 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); |
424 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); |
425 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
426 | } |
427 | } |
428 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
429 | } |
430 | |
431 | |
432 | XS_EUPXS(XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
433 | XS_EUPXS(XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED( CV* cv __attribute__ ((unused))) |
434 | { |
435 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
436 | if (items != 1) |
437 | croak_xs_usagePerl_croak_xs_usage(cv, "svref"); |
438 | { |
439 | SVREF_FIXED svref; |
440 | SVREF_FIXED RETVAL; |
441 | |
442 | STMT_STARTdo { |
443 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; |
444 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); |
445 | if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800)){ |
446 | svref = SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); |
447 | } |
448 | else{ |
449 | Perl_croak_nocontextPerl_croak("%s: %s is not a reference", |
450 | "XS::Typemap::T_SVREF_REFCOUNT_FIXED", |
451 | "svref"); |
452 | } |
453 | } STMT_ENDwhile (0) |
454 | ; |
455 | #line 288 "Typemap.xs" |
456 | SvREFCNT_inc(svref)Perl_SvREFCNT_inc(((SV *)({ void *_p = (svref); _p; }))); |
457 | RETVAL = svref; |
458 | #line 459 "Typemap.c" |
459 | { |
460 | SV * RETVALSV; |
461 | RETVALSV = newRV_noinc((SV*)RETVAL)Perl_newRV_noinc( (SV*)RETVAL); |
462 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); |
463 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
464 | } |
465 | } |
466 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
467 | } |
468 | |
469 | |
470 | XS_EUPXS(XS_XS__Typemap_T_AVREF)static void XS_XS__Typemap_T_AVREF( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
471 | XS_EUPXS(XS_XS__Typemap_T_AVREF)static void XS_XS__Typemap_T_AVREF( CV* cv __attribute__((unused ))) |
472 | { |
473 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
474 | if (items != 1) |
475 | croak_xs_usagePerl_croak_xs_usage(cv, "av"); |
476 | { |
477 | AV * av; |
478 | AV * RETVAL; |
479 | |
480 | STMT_STARTdo { |
481 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; |
482 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); |
483 | if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800) && SvTYPE(SvRV(xsub_tmp_sv))((svtype)((((xsub_tmp_sv)->sv_u.svu_rv))->sv_flags & 0xff)) == SVt_PVAV){ |
484 | av = (AV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); |
485 | } |
486 | else{ |
487 | Perl_croak_nocontextPerl_croak("%s: %s is not an ARRAY reference", |
488 | "XS::Typemap::T_AVREF", |
489 | "av"); |
490 | } |
491 | } STMT_ENDwhile (0) |
492 | ; |
493 | #line 300 "Typemap.xs" |
494 | RETVAL = av; |
495 | #line 496 "Typemap.c" |
496 | { |
497 | SV * RETVALSV; |
498 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); |
499 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); |
500 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
501 | } |
502 | } |
503 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
504 | } |
505 | |
506 | |
507 | XS_EUPXS(XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
508 | XS_EUPXS(XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED( CV* cv __attribute__ ((unused))) |
509 | { |
510 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
511 | if (items != 1) |
512 | croak_xs_usagePerl_croak_xs_usage(cv, "av"); |
513 | { |
514 | AV_FIXED * av; |
515 | AV_FIXED * RETVAL; |
516 | |
517 | STMT_STARTdo { |
518 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; |
519 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); |
520 | if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800) && SvTYPE(SvRV(xsub_tmp_sv))((svtype)((((xsub_tmp_sv)->sv_u.svu_rv))->sv_flags & 0xff)) == SVt_PVAV){ |
521 | av = (AV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); |
522 | } |
523 | else{ |
524 | Perl_croak_nocontextPerl_croak("%s: %s is not an ARRAY reference", |
525 | "XS::Typemap::T_AVREF_REFCOUNT_FIXED", |
526 | "av"); |
527 | } |
528 | } STMT_ENDwhile (0) |
529 | ; |
530 | #line 311 "Typemap.xs" |
531 | SvREFCNT_inc(av)Perl_SvREFCNT_inc(((SV *)({ void *_p = (av); _p; }))); |
532 | RETVAL = av; |
533 | #line 534 "Typemap.c" |
534 | { |
535 | SV * RETVALSV; |
536 | RETVALSV = newRV_noinc((SV*)RETVAL)Perl_newRV_noinc( (SV*)RETVAL); |
537 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); |
538 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
539 | } |
540 | } |
541 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
542 | } |
543 | |
544 | |
545 | XS_EUPXS(XS_XS__Typemap_T_HVREF)static void XS_XS__Typemap_T_HVREF( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
546 | XS_EUPXS(XS_XS__Typemap_T_HVREF)static void XS_XS__Typemap_T_HVREF( CV* cv __attribute__((unused ))) |
547 | { |
548 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
549 | if (items != 1) |
550 | croak_xs_usagePerl_croak_xs_usage(cv, "hv"); |
551 | { |
552 | HV * hv; |
553 | HV * RETVAL; |
554 | |
555 | STMT_STARTdo { |
556 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; |
557 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); |
558 | if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800) && SvTYPE(SvRV(xsub_tmp_sv))((svtype)((((xsub_tmp_sv)->sv_u.svu_rv))->sv_flags & 0xff)) == SVt_PVHV){ |
559 | hv = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); |
560 | } |
561 | else{ |
562 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", |
563 | "XS::Typemap::T_HVREF", |
564 | "hv"); |
565 | } |
566 | } STMT_ENDwhile (0) |
567 | ; |
568 | #line 323 "Typemap.xs" |
569 | RETVAL = hv; |
570 | #line 571 "Typemap.c" |
571 | { |
572 | SV * RETVALSV; |
573 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); |
574 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); |
575 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
576 | } |
577 | } |
578 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
579 | } |
580 | |
581 | |
582 | XS_EUPXS(XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
583 | XS_EUPXS(XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED( CV* cv __attribute__ ((unused))) |
584 | { |
585 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
586 | if (items != 1) |
587 | croak_xs_usagePerl_croak_xs_usage(cv, "hv"); |
588 | { |
589 | HV_FIXED * hv; |
590 | HV_FIXED * RETVAL; |
591 | |
592 | STMT_STARTdo { |
593 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; |
594 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); |
595 | if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800) && SvTYPE(SvRV(xsub_tmp_sv))((svtype)((((xsub_tmp_sv)->sv_u.svu_rv))->sv_flags & 0xff)) == SVt_PVHV){ |
596 | hv = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); |
597 | } |
598 | else{ |
599 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", |
600 | "XS::Typemap::T_HVREF_REFCOUNT_FIXED", |
601 | "hv"); |
602 | } |
603 | } STMT_ENDwhile (0) |
604 | ; |
605 | #line 334 "Typemap.xs" |
606 | SvREFCNT_inc(hv)Perl_SvREFCNT_inc(((SV *)({ void *_p = (hv); _p; }))); |
607 | RETVAL = hv; |
608 | #line 609 "Typemap.c" |
609 | { |
610 | SV * RETVALSV; |
611 | RETVALSV = newRV_noinc((SV*)RETVAL)Perl_newRV_noinc( (SV*)RETVAL); |
612 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); |
613 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
614 | } |
615 | } |
616 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
617 | } |
618 | |
619 | |
620 | XS_EUPXS(XS_XS__Typemap_T_CVREF)static void XS_XS__Typemap_T_CVREF( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
621 | XS_EUPXS(XS_XS__Typemap_T_CVREF)static void XS_XS__Typemap_T_CVREF( CV* cv __attribute__((unused ))) |
622 | { |
623 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
624 | if (items != 1) |
625 | croak_xs_usagePerl_croak_xs_usage(cv, "cv"); |
626 | { |
627 | CV * cv; |
628 | CV * RETVAL; |
629 | |
630 | STMT_STARTdo { |
631 | HV *st; |
632 | GV *gvp; |
633 | SV * const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; |
634 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); |
635 | cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0); |
636 | if (!cv) { |
637 | Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference", |
638 | "XS::Typemap::T_CVREF", |
639 | "cv"); |
640 | } |
641 | } STMT_ENDwhile (0) |
642 | ; |
643 | #line 346 "Typemap.xs" |
644 | RETVAL = cv; |
645 | #line 646 "Typemap.c" |
646 | { |
647 | SV * RETVALSV; |
648 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); |
649 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); |
650 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
651 | } |
652 | } |
653 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
654 | } |
655 | |
656 | |
657 | XS_EUPXS(XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
658 | XS_EUPXS(XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED( CV* cv __attribute__ ((unused))) |
659 | { |
660 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
661 | if (items != 1) |
662 | croak_xs_usagePerl_croak_xs_usage(cv, "cv"); |
663 | { |
664 | CV_FIXED * cv; |
665 | CV_FIXED * RETVAL; |
666 | |
667 | STMT_STARTdo { |
668 | HV *st; |
669 | GV *gvp; |
670 | SV * const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; |
671 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); |
672 | cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0); |
673 | if (!cv) { |
674 | Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference", |
675 | "XS::Typemap::T_CVREF_REFCOUNT_FIXED", |
676 | "cv"); |
677 | } |
678 | } STMT_ENDwhile (0) |
679 | ; |
680 | #line 357 "Typemap.xs" |
681 | SvREFCNT_inc(cv)Perl_SvREFCNT_inc(((SV *)({ void *_p = (cv); _p; }))); |
682 | RETVAL = cv; |
683 | #line 684 "Typemap.c" |
684 | { |
685 | SV * RETVALSV; |
686 | RETVALSV = newRV_noinc((SV*)RETVAL)Perl_newRV_noinc( (SV*)RETVAL); |
687 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); |
688 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
689 | } |
690 | } |
691 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
692 | } |
693 | |
694 | |
695 | XS_EUPXS(XS_XS__Typemap_T_SYSRET_pass)static void XS_XS__Typemap_T_SYSRET_pass( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
696 | XS_EUPXS(XS_XS__Typemap_T_SYSRET_pass)static void XS_XS__Typemap_T_SYSRET_pass( CV* cv __attribute__ ((unused))) |
697 | { |
698 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
699 | if (items != 0) |
700 | croak_xs_usagePerl_croak_xs_usage(cv, ""); |
701 | { |
702 | SysRet RETVAL; |
703 | #line 370 "Typemap.xs" |
704 | RETVAL = 0; |
705 | #line 706 "Typemap.c" |
706 | { |
707 | SV * RETVALSV; |
708 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
709 | if (RETVAL != -1) { |
710 | if (RETVAL == 0) |
711 | sv_setpvn(RETVALSV, "0 but true", 10)Perl_sv_setpvn( RETVALSV,"0 but true",10); |
712 | else |
713 | sv_setiv(RETVALSV, (IV)RETVAL)Perl_sv_setiv( RETVALSV,(IV)RETVAL); |
714 | } |
715 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
716 | } |
717 | } |
718 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
719 | } |
720 | |
721 | |
722 | XS_EUPXS(XS_XS__Typemap_T_SYSRET_fail)static void XS_XS__Typemap_T_SYSRET_fail( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
723 | XS_EUPXS(XS_XS__Typemap_T_SYSRET_fail)static void XS_XS__Typemap_T_SYSRET_fail( CV* cv __attribute__ ((unused))) |
724 | { |
725 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
726 | if (items != 0) |
727 | croak_xs_usagePerl_croak_xs_usage(cv, ""); |
728 | { |
729 | SysRet RETVAL; |
730 | #line 379 "Typemap.xs" |
731 | RETVAL = -1; |
732 | #line 733 "Typemap.c" |
733 | { |
734 | SV * RETVALSV; |
735 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
736 | if (RETVAL != -1) { |
737 | if (RETVAL == 0) |
738 | sv_setpvn(RETVALSV, "0 but true", 10)Perl_sv_setpvn( RETVALSV,"0 but true",10); |
739 | else |
740 | sv_setiv(RETVALSV, (IV)RETVAL)Perl_sv_setiv( RETVALSV,(IV)RETVAL); |
741 | } |
742 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
743 | } |
744 | } |
745 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
746 | } |
747 | |
748 | |
749 | XS_EUPXS(XS_XS__Typemap_T_UV)static void XS_XS__Typemap_T_UV( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
750 | XS_EUPXS(XS_XS__Typemap_T_UV)static void XS_XS__Typemap_T_UV( CV* cv __attribute__((unused ))) |
751 | { |
752 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
753 | if (items != 1) |
754 | croak_xs_usagePerl_croak_xs_usage(cv, "uv"); |
755 | { |
756 | unsigned int uv = (unsigned int)SvUV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (0)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (0)],2)) |
757 | ; |
758 | unsigned int RETVAL; |
759 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
760 | #line 389 "Typemap.xs" |
761 | RETVAL = uv; |
762 | #line 763 "Typemap.c" |
763 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= ( UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1)) ) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000) ; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ ,TARGu_uv); } while (0); (*++sp = (targ)); } while (0); |
764 | } |
765 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
766 | } |
767 | |
768 | |
769 | XS_EUPXS(XS_XS__Typemap_T_IV)static void XS_XS__Typemap_T_IV( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
770 | XS_EUPXS(XS_XS__Typemap_T_IV)static void XS_XS__Typemap_T_IV( CV* cv __attribute__((unused ))) |
771 | { |
772 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
773 | if (items != 1) |
774 | croak_xs_usagePerl_croak_xs_usage(cv, "iv"); |
775 | { |
776 | long iv = (long)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
777 | ; |
778 | long RETVAL; |
779 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
780 | #line 400 "Typemap.xs" |
781 | RETVAL = iv; |
782 | #line 783 "Typemap.c" |
783 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
784 | } |
785 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
786 | } |
787 | |
788 | |
789 | XS_EUPXS(XS_XS__Typemap_T_INT)static void XS_XS__Typemap_T_INT( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
790 | XS_EUPXS(XS_XS__Typemap_T_INT)static void XS_XS__Typemap_T_INT( CV* cv __attribute__((unused ))) |
791 | { |
792 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
793 | if (items != 1) |
794 | croak_xs_usagePerl_croak_xs_usage(cv, "i"); |
795 | { |
796 | intTINT i = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
797 | ; |
798 | intTINT RETVAL; |
799 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
800 | #line 411 "Typemap.xs" |
801 | RETVAL = i; |
802 | #line 803 "Typemap.c" |
803 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
804 | } |
805 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
806 | } |
807 | |
808 | |
809 | XS_EUPXS(XS_XS__Typemap_T_ENUM)static void XS_XS__Typemap_T_ENUM( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
810 | XS_EUPXS(XS_XS__Typemap_T_ENUM)static void XS_XS__Typemap_T_ENUM( CV* cv __attribute__((unused ))) |
811 | { |
812 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
813 | if (items != 0) |
814 | croak_xs_usagePerl_croak_xs_usage(cv, ""); |
815 | { |
816 | svtype RETVAL; |
817 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
818 | #line 425 "Typemap.xs" |
819 | RETVAL = SVt_PVHV; |
820 | #line 821 "Typemap.c" |
821 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
822 | } |
823 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
824 | } |
825 | |
826 | |
827 | XS_EUPXS(XS_XS__Typemap_T_BOOL)static void XS_XS__Typemap_T_BOOL( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
828 | XS_EUPXS(XS_XS__Typemap_T_BOOL)static void XS_XS__Typemap_T_BOOL( CV* cv __attribute__((unused ))) |
829 | { |
830 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
831 | if (items != 1) |
832 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
833 | { |
834 | bool_Bool in = (bool_Bool)SvTRUE(ST(0))Perl_SvTRUE( PL_stack_base[ax + (0)]) |
835 | ; |
836 | bool_Bool RETVAL; |
837 | #line 436 "Typemap.xs" |
838 | RETVAL = in; |
839 | #line 840 "Typemap.c" |
840 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); |
841 | } |
842 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
843 | } |
844 | |
845 | |
846 | XS_EUPXS(XS_XS__Typemap_T_BOOL_2)static void XS_XS__Typemap_T_BOOL_2( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
847 | XS_EUPXS(XS_XS__Typemap_T_BOOL_2)static void XS_XS__Typemap_T_BOOL_2( CV* cv __attribute__((unused ))) |
848 | { |
849 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
850 | if (items != 1) |
851 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
852 | { |
853 | bool_Bool in = (bool_Bool)SvTRUE(ST(0))Perl_SvTRUE( PL_stack_base[ax + (0)]) |
854 | ; |
855 | bool_Bool RETVAL; |
856 | #line 444 "Typemap.xs" |
857 | PERL_UNUSED_VAR(RETVAL)((void)sizeof(RETVAL)); |
858 | #line 859 "Typemap.c" |
859 | sv_setsv(ST(0), boolSV(in))Perl_sv_setsv_flags( PL_stack_base[ax + (0)],((in) ? &(PL_sv_immortals [0]) : &(PL_sv_immortals[2])),2|0); |
860 | SvSETMAGIC(ST(0))do { if (__builtin_expect(((((PL_stack_base[ax + (0)])->sv_flags & 0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( PL_stack_base[ax + (0)]); } while (0); |
861 | } |
862 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
863 | } |
864 | |
865 | |
866 | XS_EUPXS(XS_XS__Typemap_T_BOOL_OUT)static void XS_XS__Typemap_T_BOOL_OUT( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ |
867 | XS_EUPXS(XS_XS__Typemap_T_BOOL_OUT)static void XS_XS__Typemap_T_BOOL_OUT( CV* cv __attribute__(( unused))) |
868 | { |
869 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
870 | if (items != 2) |
871 | croak_xs_usagePerl_croak_xs_usage(cv, "out, in"); |
872 | { |
873 | bool_Bool out = (bool_Bool)SvTRUE(ST(0))Perl_SvTRUE( PL_stack_base[ax + (0)]) |
874 | ; |
875 | bool_Bool in = (bool_Bool)SvTRUE(ST(1))Perl_SvTRUE( PL_stack_base[ax + (1)]) |
876 | ; |
877 | #line 453 "Typemap.xs" |
878 | out = in; |
879 | #line 880 "Typemap.c" |
880 | sv_setsv(ST(0), boolSV(out))Perl_sv_setsv_flags( PL_stack_base[ax + (0)],((out) ? &(PL_sv_immortals [0]) : &(PL_sv_immortals[2])),2|0); |
881 | SvSETMAGIC(ST(0))do { if (__builtin_expect(((((PL_stack_base[ax + (0)])->sv_flags & 0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( PL_stack_base[ax + (0)]); } while (0); |
882 | } |
883 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); |
884 | } |
885 | |
886 | |
887 | XS_EUPXS(XS_XS__Typemap_T_U_INT)static void XS_XS__Typemap_T_U_INT( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
888 | XS_EUPXS(XS_XS__Typemap_T_U_INT)static void XS_XS__Typemap_T_U_INT( CV* cv __attribute__((unused ))) |
889 | { |
890 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
891 | if (items != 1) |
892 | croak_xs_usagePerl_croak_xs_usage(cv, "uint"); |
893 | { |
894 | intUnsigned uint = (unsigned int)SvUV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (0)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (0)],2)) |
895 | ; |
896 | intUnsigned RETVAL; |
897 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
898 | #line 463 "Typemap.xs" |
899 | RETVAL = uint; |
900 | #line 901 "Typemap.c" |
901 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= ( UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1)) ) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000) ; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ ,TARGu_uv); } while (0); (*++sp = (targ)); } while (0); |
902 | } |
903 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
904 | } |
905 | |
906 | |
907 | XS_EUPXS(XS_XS__Typemap_T_SHORT)static void XS_XS__Typemap_T_SHORT( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
908 | XS_EUPXS(XS_XS__Typemap_T_SHORT)static void XS_XS__Typemap_T_SHORT( CV* cv __attribute__((unused ))) |
909 | { |
910 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
911 | if (items != 1) |
912 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
913 | { |
914 | short s = (short)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
915 | ; |
916 | short RETVAL; |
917 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
918 | #line 474 "Typemap.xs" |
919 | RETVAL = s; |
920 | #line 921 "Typemap.c" |
921 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
922 | } |
923 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
924 | } |
925 | |
926 | |
927 | XS_EUPXS(XS_XS__Typemap_T_U_SHORT)static void XS_XS__Typemap_T_U_SHORT( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
928 | XS_EUPXS(XS_XS__Typemap_T_U_SHORT)static void XS_XS__Typemap_T_U_SHORT( CV* cv __attribute__((unused ))) |
929 | { |
930 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
931 | if (items != 1) |
932 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
933 | { |
934 | U16 in = (unsigned short)SvUV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (0)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (0)],2)) |
935 | ; |
936 | U16 RETVAL; |
937 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
938 | #line 485 "Typemap.xs" |
939 | RETVAL = in; |
940 | #line 941 "Typemap.c" |
941 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= ( UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1)) ) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000) ; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ ,TARGu_uv); } while (0); (*++sp = (targ)); } while (0); |
942 | } |
943 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
944 | } |
945 | |
946 | |
947 | XS_EUPXS(XS_XS__Typemap_T_LONG)static void XS_XS__Typemap_T_LONG( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
948 | XS_EUPXS(XS_XS__Typemap_T_LONG)static void XS_XS__Typemap_T_LONG( CV* cv __attribute__((unused ))) |
949 | { |
950 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
951 | if (items != 1) |
952 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
953 | { |
954 | intTLONG in = (long)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
955 | ; |
956 | intTLONG RETVAL; |
957 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
958 | #line 496 "Typemap.xs" |
959 | RETVAL = in; |
960 | #line 961 "Typemap.c" |
961 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
962 | } |
963 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
964 | } |
965 | |
966 | |
967 | XS_EUPXS(XS_XS__Typemap_T_U_LONG)static void XS_XS__Typemap_T_U_LONG( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
968 | XS_EUPXS(XS_XS__Typemap_T_U_LONG)static void XS_XS__Typemap_T_U_LONG( CV* cv __attribute__((unused ))) |
969 | { |
970 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
971 | if (items != 1) |
972 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
973 | { |
974 | U32 in = (unsigned long)SvUV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (0)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (0)],2)) |
975 | ; |
976 | U32 RETVAL; |
977 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
978 | #line 506 "Typemap.xs" |
979 | RETVAL = in; |
980 | #line 981 "Typemap.c" |
981 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= ( UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1)) ) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000) ; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ ,TARGu_uv); } while (0); (*++sp = (targ)); } while (0); |
982 | } |
983 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
984 | } |
985 | |
986 | |
987 | XS_EUPXS(XS_XS__Typemap_T_CHAR)static void XS_XS__Typemap_T_CHAR( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
988 | XS_EUPXS(XS_XS__Typemap_T_CHAR)static void XS_XS__Typemap_T_CHAR( CV* cv __attribute__((unused ))) |
989 | { |
990 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
991 | if (items != 1) |
992 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
993 | { |
994 | char in = (char)*SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000 )) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv ) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2)) |
995 | ; |
996 | char RETVAL; |
997 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
998 | #line 517 "Typemap.xs" |
999 | RETVAL = in; |
1000 | #line 1001 "Typemap.c" |
1001 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHp((char *)&RETVAL, 1)do { Perl_sv_setpvn( targ,((char *)&RETVAL),(1)); do { do { if (__builtin_expect(((((targ)->sv_flags & 0x00400000 )) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ); } while ( 0); (*++sp = (targ)); } while (0); } while (0); |
1002 | } |
1003 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1004 | } |
1005 | |
1006 | |
1007 | XS_EUPXS(XS_XS__Typemap_T_U_CHAR)static void XS_XS__Typemap_T_U_CHAR( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1008 | XS_EUPXS(XS_XS__Typemap_T_U_CHAR)static void XS_XS__Typemap_T_U_CHAR( CV* cv __attribute__((unused ))) |
1009 | { |
1010 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1011 | if (items != 1) |
1012 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1013 | { |
1014 | unsigned char in = (unsigned char)SvUV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (0)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (0)],2)) |
1015 | ; |
1016 | unsigned char RETVAL; |
1017 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1018 | #line 528 "Typemap.xs" |
1019 | RETVAL = in; |
1020 | #line 1021 "Typemap.c" |
1021 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= ( UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1)) ) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000) ; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ ,TARGu_uv); } while (0); (*++sp = (targ)); } while (0); |
1022 | } |
1023 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1024 | } |
1025 | |
1026 | |
1027 | XS_EUPXS(XS_XS__Typemap_T_FLOAT)static void XS_XS__Typemap_T_FLOAT( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1028 | XS_EUPXS(XS_XS__Typemap_T_FLOAT)static void XS_XS__Typemap_T_FLOAT( CV* cv __attribute__((unused ))) |
1029 | { |
1030 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1031 | if (items != 1) |
1032 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1033 | { |
1034 | float in = (float)SvNV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000200|0x00200000 )) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + (0)])->sv_any )->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base[ax + (0 )],2)) |
1035 | ; |
1036 | float RETVAL; |
1037 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1038 | #line 539 "Typemap.xs" |
1039 | RETVAL = in; |
1040 | #line 1041 "Typemap.c" |
1041 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHn((double)RETVAL)do { do { NV TARGn_nv = (double)RETVAL; if (__builtin_expect( (((((targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000))) == SVt_NV) & (1 ? ! (((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)0),(0)) ) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0),(1))) { ((void)0); (targ)->sv_flags |= (0x00000200|0x00002000); do { ((void)0); ((void)0); (((XPVNV*)(targ)->sv_any)->xnv_u .xnv_nv = (TARGn_nv)); } while (0); } else Perl_sv_setnv_mg( targ ,TARGn_nv); } while (0); (*++sp = (targ)); } while (0); |
1042 | } |
1043 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1044 | } |
1045 | |
1046 | |
1047 | XS_EUPXS(XS_XS__Typemap_T_NV)static void XS_XS__Typemap_T_NV( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1048 | XS_EUPXS(XS_XS__Typemap_T_NV)static void XS_XS__Typemap_T_NV( CV* cv __attribute__((unused ))) |
1049 | { |
1050 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1051 | if (items != 1) |
1052 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1053 | { |
1054 | NV in = (NV)SvNV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000200|0x00200000 )) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + (0)])->sv_any )->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base[ax + (0 )],2)) |
1055 | ; |
1056 | NV RETVAL; |
1057 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1058 | #line 550 "Typemap.xs" |
1059 | RETVAL = in; |
1060 | #line 1061 "Typemap.c" |
1061 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHn((NV)RETVAL)do { do { NV TARGn_nv = (NV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000))) == SVt_NV) & (1 ? ! (((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)0),(0)) ) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0),(1))) { ((void)0); (targ)->sv_flags |= (0x00000200|0x00002000); do { ((void)0); ((void)0); (((XPVNV*)(targ)->sv_any)->xnv_u .xnv_nv = (TARGn_nv)); } while (0); } else Perl_sv_setnv_mg( targ ,TARGn_nv); } while (0); (*++sp = (targ)); } while (0); |
1062 | } |
1063 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1064 | } |
1065 | |
1066 | |
1067 | XS_EUPXS(XS_XS__Typemap_T_DOUBLE)static void XS_XS__Typemap_T_DOUBLE( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1068 | XS_EUPXS(XS_XS__Typemap_T_DOUBLE)static void XS_XS__Typemap_T_DOUBLE( CV* cv __attribute__((unused ))) |
1069 | { |
1070 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1071 | if (items != 1) |
1072 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1073 | { |
1074 | double in = (double)SvNV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000200|0x00200000 )) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + (0)])->sv_any )->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base[ax + (0 )],2)) |
1075 | ; |
1076 | double RETVAL; |
1077 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1078 | #line 561 "Typemap.xs" |
1079 | RETVAL = in; |
1080 | #line 1081 "Typemap.c" |
1081 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHn((double)RETVAL)do { do { NV TARGn_nv = (double)RETVAL; if (__builtin_expect( (((((targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000))) == SVt_NV) & (1 ? ! (((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)0),(0)) ) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0),(1))) { ((void)0); (targ)->sv_flags |= (0x00000200|0x00002000); do { ((void)0); ((void)0); (((XPVNV*)(targ)->sv_any)->xnv_u .xnv_nv = (TARGn_nv)); } while (0); } else Perl_sv_setnv_mg( targ ,TARGn_nv); } while (0); (*++sp = (targ)); } while (0); |
1082 | } |
1083 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1084 | } |
1085 | |
1086 | |
1087 | XS_EUPXS(XS_XS__Typemap_T_PV)static void XS_XS__Typemap_T_PV( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1088 | XS_EUPXS(XS_XS__Typemap_T_PV)static void XS_XS__Typemap_T_PV( CV* cv __attribute__((unused ))) |
1089 | { |
1090 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1091 | if (items != 1) |
1092 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1093 | { |
1094 | char * in = (char *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000 )) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv ) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2)) |
1095 | ; |
1096 | char * RETVAL; |
1097 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1098 | #line 572 "Typemap.xs" |
1099 | RETVAL = in; |
1100 | #line 1101 "Typemap.c" |
1101 | sv_setpv(TARG, RETVAL)Perl_sv_setpv( targ,RETVAL); XSprePUSH(sp = PL_stack_base + ax - 1); PUSHTARGdo { do { if (__builtin_expect(((((targ)->sv_flags & 0x00400000 )) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ); } while ( 0); (*++sp = (targ)); } while (0); |
1102 | } |
1103 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1104 | } |
1105 | |
1106 | |
1107 | XS_EUPXS(XS_XS__Typemap_T_PV_null)static void XS_XS__Typemap_T_PV_null( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1108 | XS_EUPXS(XS_XS__Typemap_T_PV_null)static void XS_XS__Typemap_T_PV_null( CV* cv __attribute__((unused ))) |
1109 | { |
1110 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1111 | if (items != 0) |
1112 | croak_xs_usagePerl_croak_xs_usage(cv, ""); |
1113 | { |
1114 | char * RETVAL; |
1115 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1116 | #line 579 "Typemap.xs" |
1117 | RETVAL = NULL((void*)0); |
1118 | #line 1119 "Typemap.c" |
1119 | sv_setpv(TARG, RETVAL)Perl_sv_setpv( targ,RETVAL); XSprePUSH(sp = PL_stack_base + ax - 1); PUSHTARGdo { do { if (__builtin_expect(((((targ)->sv_flags & 0x00400000 )) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ); } while ( 0); (*++sp = (targ)); } while (0); |
1120 | } |
1121 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1122 | } |
1123 | |
1124 | |
1125 | XS_EUPXS(XS_XS__Typemap_T_PTR_OUT)static void XS_XS__Typemap_T_PTR_OUT( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1126 | XS_EUPXS(XS_XS__Typemap_T_PTR_OUT)static void XS_XS__Typemap_T_PTR_OUT( CV* cv __attribute__((unused ))) |
1127 | { |
1128 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1129 | if (items != 1) |
1130 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1131 | { |
1132 | int in = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
1133 | ; |
1134 | void * RETVAL; |
1135 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1136 | #line 593 "Typemap.xs" |
1137 | xst_anint = in; |
1138 | RETVAL = &xst_anint; |
1139 | #line 1140 "Typemap.c" |
1140 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi(PTR2IV(RETVAL))do { do { IV TARGi_iv = (IV)(RETVAL); if (__builtin_expect((( (((targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
1141 | } |
1142 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1143 | } |
1144 | |
1145 | |
1146 | XS_EUPXS(XS_XS__Typemap_T_PTR_IN)static void XS_XS__Typemap_T_PTR_IN( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1147 | XS_EUPXS(XS_XS__Typemap_T_PTR_IN)static void XS_XS__Typemap_T_PTR_IN( CV* cv __attribute__((unused ))) |
1148 | { |
1149 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1150 | if (items != 1) |
1151 | croak_xs_usagePerl_croak_xs_usage(cv, "ptr"); |
1152 | { |
1153 | void * ptr = INT2PTR(void *,SvIV(ST(0)))(void *)(((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100 |0x00200000)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + ( 0)])->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base [ax + (0)],2))) |
1154 | ; |
1155 | int RETVAL; |
1156 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1157 | #line 604 "Typemap.xs" |
1158 | RETVAL = *(int *)ptr; |
1159 | #line 1160 "Typemap.c" |
1160 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
1161 | } |
1162 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1163 | } |
1164 | |
1165 | |
1166 | XS_EUPXS(XS_XS__Typemap_T_PTRREF_OUT)static void XS_XS__Typemap_T_PTRREF_OUT( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1167 | XS_EUPXS(XS_XS__Typemap_T_PTRREF_OUT)static void XS_XS__Typemap_T_PTRREF_OUT( CV* cv __attribute__ ((unused))) |
1168 | { |
1169 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1170 | if (items != 1) |
1171 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1172 | { |
1173 | intRef in = (intRef)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
1174 | ; |
1175 | intRef * RETVAL; |
1176 | #line 619 "Typemap.xs" |
1177 | xst_anintref = in; |
1178 | RETVAL = &xst_anintref; |
1179 | #line 1180 "Typemap.c" |
1180 | { |
1181 | SV * RETVALSV; |
1182 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1183 | sv_setref_pv(RETVALSV, Nullch, (void*)RETVAL)Perl_sv_setref_pv( RETVALSV,((char*)((void*)0)),(void*)RETVAL ); |
1184 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1185 | } |
1186 | } |
1187 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1188 | } |
1189 | |
1190 | |
1191 | XS_EUPXS(XS_XS__Typemap_T_PTRREF_IN)static void XS_XS__Typemap_T_PTRREF_IN( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ |
1192 | XS_EUPXS(XS_XS__Typemap_T_PTRREF_IN)static void XS_XS__Typemap_T_PTRREF_IN( CV* cv __attribute__( (unused))) |
1193 | { |
1194 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1195 | if (items != 1) |
1196 | croak_xs_usagePerl_croak_xs_usage(cv, "ptr"); |
1197 | { |
1198 | intRef * ptr; |
1199 | intRef RETVAL; |
1200 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1201 | |
1202 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) { |
1203 | IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) (( SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)-> xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + ( 0)])->sv_u.svu_rv),2)); |
1204 | ptr = INT2PTR(intRef *,tmp)(intRef *)(tmp); |
1205 | } |
1206 | else |
1207 | Perl_croak_nocontextPerl_croak("%s: %s is not a reference", |
1208 | "XS::Typemap::T_PTRREF_IN", |
1209 | "ptr") |
1210 | ; |
1211 | #line 630 "Typemap.xs" |
1212 | RETVAL = *ptr; |
1213 | #line 1214 "Typemap.c" |
1214 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
1215 | } |
1216 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1217 | } |
1218 | |
1219 | |
1220 | XS_EUPXS(XS_XS__Typemap_T_PTROBJ_OUT)static void XS_XS__Typemap_T_PTROBJ_OUT( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1221 | XS_EUPXS(XS_XS__Typemap_T_PTROBJ_OUT)static void XS_XS__Typemap_T_PTROBJ_OUT( CV* cv __attribute__ ((unused))) |
1222 | { |
1223 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1224 | if (items != 1) |
1225 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1226 | { |
1227 | intObj in = (intObj)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
1228 | ; |
1229 | intObj * RETVAL; |
1230 | #line 645 "Typemap.xs" |
1231 | xst_anintobj = in; |
1232 | RETVAL = &xst_anintobj; |
1233 | #line 1234 "Typemap.c" |
1234 | { |
1235 | SV * RETVALSV; |
1236 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1237 | sv_setref_pv(RETVALSV, "intObjPtr", (void*)RETVAL)Perl_sv_setref_pv( RETVALSV,"intObjPtr",(void*)RETVAL); |
1238 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1239 | } |
1240 | } |
1241 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1242 | } |
1243 | |
1244 | |
1245 | XS_EUPXS(XS_intObjPtr_T_PTROBJ_IN)static void XS_intObjPtr_T_PTROBJ_IN( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1246 | XS_EUPXS(XS_intObjPtr_T_PTROBJ_IN)static void XS_intObjPtr_T_PTROBJ_IN( CV* cv __attribute__((unused ))) |
1247 | { |
1248 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1249 | if (items != 1) |
1250 | croak_xs_usagePerl_croak_xs_usage(cv, "ptr"); |
1251 | { |
1252 | intObj * ptr; |
1253 | intObj RETVAL; |
1254 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1255 | |
1256 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "intObjPtr")Perl_sv_derived_from( PL_stack_base[ax + (0)],"intObjPtr")) { |
1257 | IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) (( SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)-> xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + ( 0)])->sv_u.svu_rv),2)); |
1258 | ptr = INT2PTR(intObj *,tmp)(intObj *)(tmp); |
1259 | } |
1260 | else |
1261 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1262 | "intObjPtr::T_PTROBJ_IN", |
1263 | "ptr", "intObjPtr") |
1264 | ; |
1265 | #line 658 "Typemap.xs" |
1266 | RETVAL = *ptr; |
1267 | #line 1268 "Typemap.c" |
1268 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
1269 | } |
1270 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1271 | } |
1272 | |
1273 | |
1274 | XS_EUPXS(XS_XS__Typemap_T_REF_IV_PTR_OUT)static void XS_XS__Typemap_T_REF_IV_PTR_OUT( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1275 | XS_EUPXS(XS_XS__Typemap_T_REF_IV_PTR_OUT)static void XS_XS__Typemap_T_REF_IV_PTR_OUT( CV* cv __attribute__ ((unused))) |
1276 | { |
1277 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1278 | if (items != 1) |
1279 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1280 | { |
1281 | intRefIv in = (intRefIv)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
1282 | ; |
1283 | intRefIv * RETVAL; |
1284 | #line 679 "Typemap.xs" |
1285 | xst_anintrefiv = in; |
1286 | RETVAL = &xst_anintrefiv; |
1287 | #line 1288 "Typemap.c" |
1288 | { |
1289 | SV * RETVALSV; |
1290 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1291 | sv_setref_pv(RETVALSV, "intRefIvPtr", (void*)RETVAL)Perl_sv_setref_pv( RETVALSV,"intRefIvPtr",(void*)RETVAL); |
1292 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1293 | } |
1294 | } |
1295 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1296 | } |
1297 | |
1298 | |
1299 | XS_EUPXS(XS_intRefIvPtr_T_REF_IV_PTR_IN)static void XS_intRefIvPtr_T_REF_IV_PTR_IN( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1300 | XS_EUPXS(XS_intRefIvPtr_T_REF_IV_PTR_IN)static void XS_intRefIvPtr_T_REF_IV_PTR_IN( CV* cv __attribute__ ((unused))) |
1301 | { |
1302 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1303 | if (items != 1) |
1304 | croak_xs_usagePerl_croak_xs_usage(cv, "ptr"); |
1305 | { |
1306 | intRefIv * ptr; |
1307 | intRefIv RETVAL; |
1308 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1309 | |
1310 | if (sv_isa(ST(0), "intRefIvPtr")Perl_sv_isa( PL_stack_base[ax + (0)],"intRefIvPtr")) { |
1311 | IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) (( SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)-> xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + ( 0)])->sv_u.svu_rv),2)); |
1312 | ptr = INT2PTR(intRefIv *, tmp)(intRefIv *)(tmp); |
1313 | } |
1314 | else |
1315 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1316 | "intRefIvPtr::T_REF_IV_PTR_IN", |
1317 | "ptr", "intRefIvPtr") |
1318 | ; |
1319 | #line 692 "Typemap.xs" |
1320 | RETVAL = *ptr; |
1321 | #line 1322 "Typemap.c" |
1322 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
1323 | } |
1324 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1325 | } |
1326 | |
1327 | |
1328 | XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_IN)static void XS_XS__Typemap_T_OPAQUEPTR_IN( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1329 | XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_IN)static void XS_XS__Typemap_T_OPAQUEPTR_IN( CV* cv __attribute__ ((unused))) |
1330 | { |
1331 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1332 | if (items != 1) |
1333 | croak_xs_usagePerl_croak_xs_usage(cv, "val"); |
1334 | { |
1335 | intOpq val = (intOpq)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
1336 | ; |
1337 | intOpq * RETVAL; |
1338 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1339 | #line 717 "Typemap.xs" |
1340 | xst_anintopq = val; |
1341 | RETVAL = &xst_anintopq; |
1342 | #line 1343 "Typemap.c" |
1343 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHp((char *)RETVAL, sizeof(*RETVAL))do { Perl_sv_setpvn( targ,((char *)RETVAL),(sizeof(*RETVAL))) ; do { do { if (__builtin_expect(((((targ)->sv_flags & 0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ) ; } while (0); (*++sp = (targ)); } while (0); } while (0); |
1344 | } |
1345 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1346 | } |
1347 | |
1348 | |
1349 | XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT)static void XS_XS__Typemap_T_OPAQUEPTR_OUT( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1350 | XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT)static void XS_XS__Typemap_T_OPAQUEPTR_OUT( CV* cv __attribute__ ((unused))) |
1351 | { |
1352 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1353 | if (items != 1) |
1354 | croak_xs_usagePerl_croak_xs_usage(cv, "ptr"); |
1355 | { |
1356 | intOpq * ptr = (intOpq *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000 )) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv ) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2)) |
1357 | ; |
1358 | intOpq RETVAL; |
1359 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1360 | #line 726 "Typemap.xs" |
1361 | RETVAL = *ptr; |
1362 | #line 1363 "Typemap.c" |
1363 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
1364 | } |
1365 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1366 | } |
1367 | |
1368 | |
1369 | XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT_short)static void XS_XS__Typemap_T_OPAQUEPTR_OUT_short( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1370 | XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT_short)static void XS_XS__Typemap_T_OPAQUEPTR_OUT_short( CV* cv __attribute__ ((unused))) |
1371 | { |
1372 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1373 | if (items != 1) |
1374 | croak_xs_usagePerl_croak_xs_usage(cv, "ptr"); |
1375 | { |
1376 | shortOPQ * ptr = (shortOPQ *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000 )) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv ) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2)) |
1377 | ; |
1378 | short RETVAL; |
1379 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1380 | #line 734 "Typemap.xs" |
1381 | RETVAL = *ptr; |
1382 | #line 1383 "Typemap.c" |
1383 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
1384 | } |
1385 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1386 | } |
1387 | |
1388 | |
1389 | XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_IN_struct)static void XS_XS__Typemap_T_OPAQUEPTR_IN_struct( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1390 | XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_IN_struct)static void XS_XS__Typemap_T_OPAQUEPTR_IN_struct( CV* cv __attribute__ ((unused))) |
1391 | { |
1392 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1393 | if (items != 3) |
1394 | croak_xs_usagePerl_croak_xs_usage(cv, "a, b, c"); |
1395 | { |
1396 | int a = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
1397 | ; |
1398 | int b = (int)SvIV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (1)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 1)],2)) |
1399 | ; |
1400 | double c = (double)SvNV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000200|0x00200000 )) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + (2)])->sv_any )->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base[ax + (2 )],2)) |
1401 | ; |
1402 | #line 745 "Typemap.xs" |
1403 | struct t_opaqueptr test; |
1404 | #line 1405 "Typemap.c" |
1405 | astruct * RETVAL; |
1406 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1407 | #line 747 "Typemap.xs" |
1408 | test.a = a; |
1409 | test.b = b; |
1410 | test.c = c; |
1411 | RETVAL = &test; |
1412 | #line 1413 "Typemap.c" |
1413 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHp((char *)RETVAL, sizeof(*RETVAL))do { Perl_sv_setpvn( targ,((char *)RETVAL),(sizeof(*RETVAL))) ; do { do { if (__builtin_expect(((((targ)->sv_flags & 0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ) ; } while (0); (*++sp = (targ)); } while (0); } while (0); |
1414 | } |
1415 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1416 | } |
1417 | |
1418 | |
1419 | XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT_struct)static void XS_XS__Typemap_T_OPAQUEPTR_OUT_struct( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1420 | XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT_struct)static void XS_XS__Typemap_T_OPAQUEPTR_OUT_struct( CV* cv __attribute__ ((unused))) |
1421 | { |
1422 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1423 | if (items != 1) |
1424 | croak_xs_usagePerl_croak_xs_usage(cv, "test"); |
1425 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ |
1426 | SPsp -= items; |
1427 | { |
1428 | astruct * test = (astruct *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000 )) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv ) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2)) |
1429 | ; |
1430 | #line 758 "Typemap.xs" |
1431 | XPUSHs(sv_2mortal(newSViv(test->a)))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max - (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t) (1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); * ++sp = (Perl_sv_2mortal( Perl_newSViv( test->a))); } while (0); |
1432 | XPUSHs(sv_2mortal(newSViv(test->b)))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max - (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t) (1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); * ++sp = (Perl_sv_2mortal( Perl_newSViv( test->b))); } while (0); |
1433 | XPUSHs(sv_2mortal(newSVnv(test->c)))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max - (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t) (1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); * ++sp = (Perl_sv_2mortal( Perl_newSVnv( test->c))); } while (0); |
1434 | #line 1435 "Typemap.c" |
1435 | PUTBACKPL_stack_sp = sp; |
1436 | return; |
1437 | } |
1438 | } |
1439 | |
1440 | |
1441 | XS_EUPXS(XS_XS__Typemap_T_OPAQUE_IN)static void XS_XS__Typemap_T_OPAQUE_IN( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ |
1442 | XS_EUPXS(XS_XS__Typemap_T_OPAQUE_IN)static void XS_XS__Typemap_T_OPAQUE_IN( CV* cv __attribute__( (unused))) |
1443 | { |
1444 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1445 | if (items != 1) |
1446 | croak_xs_usagePerl_croak_xs_usage(cv, "val"); |
1447 | { |
1448 | int val = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
1449 | ; |
1450 | shortOPQ RETVAL; |
1451 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1452 | #line 769 "Typemap.xs" |
1453 | RETVAL = (shortOPQ)val; |
1454 | #line 1455 "Typemap.c" |
1455 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHp((char *)&RETVAL, sizeof(RETVAL))do { Perl_sv_setpvn( targ,((char *)&RETVAL),(sizeof(RETVAL ))); do { do { if (__builtin_expect(((((targ)->sv_flags & 0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ) ; } while (0); (*++sp = (targ)); } while (0); } while (0); |
1456 | } |
1457 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1458 | } |
1459 | |
1460 | |
1461 | XS_EUPXS(XS_XS__Typemap_T_OPAQUE_OUT)static void XS_XS__Typemap_T_OPAQUE_OUT( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1462 | XS_EUPXS(XS_XS__Typemap_T_OPAQUE_OUT)static void XS_XS__Typemap_T_OPAQUE_OUT( CV* cv __attribute__ ((unused))) |
1463 | { |
1464 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1465 | if (items != 1) |
1466 | croak_xs_usagePerl_croak_xs_usage(cv, "val"); |
1467 | { |
1468 | shortOPQ val = *(shortOPQ *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000 )) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv ) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2)) |
1469 | ; |
1470 | IV RETVAL; |
1471 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1472 | #line 777 "Typemap.xs" |
1473 | RETVAL = (IV)val; |
1474 | #line 1475 "Typemap.c" |
1475 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
1476 | } |
1477 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1478 | } |
1479 | |
1480 | |
1481 | XS_EUPXS(XS_XS__Typemap_T_OPAQUE_array)static void XS_XS__Typemap_T_OPAQUE_array( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1482 | XS_EUPXS(XS_XS__Typemap_T_OPAQUE_array)static void XS_XS__Typemap_T_OPAQUE_array( CV* cv __attribute__ ((unused))) |
1483 | { |
1484 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1485 | if (items != 3) |
1486 | croak_xs_usagePerl_croak_xs_usage(cv, "a, b, c"); |
1487 | { |
1488 | int a = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
1489 | ; |
1490 | int b = (int)SvIV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (1)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 1)],2)) |
1491 | ; |
1492 | int c = (int)SvIV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (2)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 2)],2)) |
1493 | ; |
1494 | #line 787 "Typemap.xs" |
1495 | int array[3]; |
1496 | #line 1497 "Typemap.c" |
1497 | int * RETVAL; |
1498 | #line 789 "Typemap.xs" |
1499 | array[0] = a; |
1500 | array[1] = b; |
1501 | array[2] = c; |
1502 | RETVAL = array; |
1503 | #line 1504 "Typemap.c" |
1504 | ST(0)PL_stack_base[ax + (0)] = sv_newmortal()Perl_sv_newmortal(); |
1505 | sv_setpvn(ST(0), (char *)RETVAL, 3 * sizeof(int))Perl_sv_setpvn( PL_stack_base[ax + (0)],(char *)RETVAL,3 * sizeof (int)); |
1506 | } |
1507 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1508 | } |
1509 | |
1510 | |
1511 | XS_EUPXS(XS_XS__Typemap_T_PACKED_in)static void XS_XS__Typemap_T_PACKED_in( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ |
1512 | XS_EUPXS(XS_XS__Typemap_T_PACKED_in)static void XS_XS__Typemap_T_PACKED_in( CV* cv __attribute__( (unused))) |
1513 | { |
1514 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1515 | if (items != 1) |
1516 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1517 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ |
1518 | SPsp -= items; |
1519 | { |
1520 | anotherstruct * in = XS_unpack_anotherstructPtr(ST(0)PL_stack_base[ax + (0)]) |
1521 | ; |
1522 | #line 803 "Typemap.xs" |
1523 | mXPUSHi(in->a)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max - (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t) (1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setiv ( (*++sp = (Perl_sv_newmortal())),(IV)(in->a)); } while (0 ); |
1524 | mXPUSHi(in->b)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max - (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t) (1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setiv ( (*++sp = (Perl_sv_newmortal())),(IV)(in->b)); } while (0 ); |
1525 | mXPUSHn(in->c)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max - (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t) (1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setnv ( (*++sp = (Perl_sv_newmortal())),(NV)(in->c)); } while (0 ); |
1526 | Safefree(in)Perl_safesysfree(((void *)(in))); |
1527 | XSRETURN(3)do { const IV tmpXSoff = (3); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1528 | #line 1529 "Typemap.c" |
1529 | PUTBACKPL_stack_sp = sp; |
1530 | return; |
1531 | } |
1532 | } |
1533 | |
1534 | |
1535 | XS_EUPXS(XS_XS__Typemap_T_PACKED_out)static void XS_XS__Typemap_T_PACKED_out( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1536 | XS_EUPXS(XS_XS__Typemap_T_PACKED_out)static void XS_XS__Typemap_T_PACKED_out( CV* cv __attribute__ ((unused))) |
1537 | { |
1538 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1539 | if (items != 3) |
1540 | croak_xs_usagePerl_croak_xs_usage(cv, "a, b, c"); |
1541 | { |
1542 | int a = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 0)],2)) |
1543 | ; |
1544 | int b = (int)SvIV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (1)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 1)],2)) |
1545 | ; |
1546 | double c = (double)SvNV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000200|0x00200000 )) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + (2)])->sv_any )->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base[ax + (2 )],2)) |
1547 | ; |
1548 | anotherstruct * RETVAL; |
1549 | #line 815 "Typemap.xs" |
1550 | Newxz(RETVAL, 1, anotherstruct)(RETVAL = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof (1) || sizeof(anotherstruct) > ((size_t)1 << 8*(sizeof (size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1)/sizeof(anotherstruct )) > ((size_t)-1)/sizeof(anotherstruct))) ? (_Bool)1 : (_Bool )0),(0)) && (Perl_croak_memory_wrap(),0)), (anotherstruct *)(Perl_safesyscalloc((1),sizeof(anotherstruct))))); |
1551 | RETVAL->a = a; |
1552 | RETVAL->b = b; |
1553 | RETVAL->c = c; |
1554 | #line 1555 "Typemap.c" |
1555 | { |
1556 | SV * RETVALSV; |
1557 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1558 | XS_pack_anotherstructPtr(RETVALSV, RETVAL); |
1559 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1560 | } |
1561 | #line 821 "Typemap.xs" |
1562 | Safefree(RETVAL)Perl_safesysfree(((void *)(RETVAL))); |
1563 | #line 1564 "Typemap.c" |
1564 | } |
1565 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1566 | } |
1567 | |
1568 | |
1569 | XS_EUPXS(XS_XS__Typemap_T_PACKEDARRAY_in)static void XS_XS__Typemap_T_PACKEDARRAY_in( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1570 | XS_EUPXS(XS_XS__Typemap_T_PACKEDARRAY_in)static void XS_XS__Typemap_T_PACKEDARRAY_in( CV* cv __attribute__ ((unused))) |
1571 | { |
1572 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1573 | if (items != 1) |
1574 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1575 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ |
1576 | SPsp -= items; |
1577 | { |
1578 | anotherstruct ** in = XS_unpack_anotherstructPtrPtr(ST(0)PL_stack_base[ax + (0)]) |
1579 | ; |
1580 | #line 829 "Typemap.xs" |
1581 | unsigned int i = 0; |
1582 | #line 1583 "Typemap.c" |
1583 | #line 831 "Typemap.xs" |
1584 | while (in[i] != NULL((void*)0)) { |
1585 | mXPUSHi(in[i]->a)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max - (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t) (1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setiv ( (*++sp = (Perl_sv_newmortal())),(IV)(in[i]->a)); } while (0); |
1586 | mXPUSHi(in[i]->b)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max - (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t) (1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setiv ( (*++sp = (Perl_sv_newmortal())),(IV)(in[i]->b)); } while (0); |
1587 | mXPUSHn(in[i]->c)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max - (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t) (1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setnv ( (*++sp = (Perl_sv_newmortal())),(NV)(in[i]->c)); } while (0); |
1588 | ++i; |
1589 | } |
1590 | XS_release_anotherstructPtrPtr(in); |
1591 | XSRETURN(3*i)do { const IV tmpXSoff = (3*i); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1592 | #line 1593 "Typemap.c" |
1593 | PUTBACKPL_stack_sp = sp; |
1594 | return; |
1595 | } |
1596 | } |
1597 | |
1598 | |
1599 | XS_EUPXS(XS_XS__Typemap_T_PACKEDARRAY_out)static void XS_XS__Typemap_T_PACKEDARRAY_out( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1600 | XS_EUPXS(XS_XS__Typemap_T_PACKEDARRAY_out)static void XS_XS__Typemap_T_PACKEDARRAY_out( CV* cv __attribute__ ((unused))) |
1601 | { |
1602 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1603 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ |
1604 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ |
1605 | { |
1606 | #line 843 "Typemap.xs" |
1607 | unsigned int i, nstructs, count_anotherstructPtrPtr; |
1608 | #line 1609 "Typemap.c" |
1609 | anotherstruct ** RETVAL; |
1610 | #line 845 "Typemap.xs" |
1611 | if ((items % 3) != 0) |
1612 | croakPerl_croak("Need nitems divisible by 3"); |
1613 | nstructs = (unsigned int)(items / 3); |
1614 | count_anotherstructPtrPtr = nstructs; |
1615 | Newxz(RETVAL, nstructs+1, anotherstruct *)(RETVAL = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof (nstructs+1) || sizeof(anotherstruct *) > ((size_t)1 << 8*(sizeof(size_t) - sizeof(nstructs+1)))) ? (size_t)(nstructs +1) : ((size_t)-1)/sizeof(anotherstruct *)) > ((size_t)-1) /sizeof(anotherstruct *))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap(),0)), (anotherstruct **)(Perl_safesyscalloc ((nstructs+1),sizeof(anotherstruct *))))); |
1616 | for (i = 0; i < nstructs; ++i) { |
1617 | Newxz(RETVAL[i], 1, anotherstruct)(RETVAL[i] = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(1) || sizeof(anotherstruct) > ((size_t)1 << 8 *(sizeof(size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1)/ sizeof(anotherstruct)) > ((size_t)-1)/sizeof(anotherstruct ))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap (),0)), (anotherstruct*)(Perl_safesyscalloc((1),sizeof(anotherstruct ))))); |
1618 | RETVAL[i]->a = SvIV(ST(3*i))((((PL_stack_base[ax + (3*i)])->sv_flags & (0x00000100 |0x00200000)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + ( 3*i)])->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base [ax + (3*i)],2)); |
1619 | RETVAL[i]->b = SvIV(ST(3*i+1))((((PL_stack_base[ax + (3*i+1)])->sv_flags & (0x00000100 |0x00200000)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + ( 3*i+1)])->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base [ax + (3*i+1)],2)); |
1620 | RETVAL[i]->c = SvNV(ST(3*i+2))((((PL_stack_base[ax + (3*i+2)])->sv_flags & (0x00000200 |0x00200000)) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + ( 3*i+2)])->sv_any)->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base [ax + (3*i+2)],2)); |
1621 | } |
1622 | #line 1623 "Typemap.c" |
1623 | { |
1624 | SV * RETVALSV; |
1625 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1626 | XS_pack_anotherstructPtrPtr(RETVALSV, RETVAL, count_anotherstructPtrPtr); |
1627 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1628 | } |
1629 | #line 858 "Typemap.xs" |
1630 | XS_release_anotherstructPtrPtr(RETVAL); |
1631 | #line 1632 "Typemap.c" |
1632 | } |
1633 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1634 | } |
1635 | |
1636 | |
1637 | XS_EUPXS(XS_XS__Typemap_T_ARRAY)static void XS_XS__Typemap_T_ARRAY( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1638 | XS_EUPXS(XS_XS__Typemap_T_ARRAY)static void XS_XS__Typemap_T_ARRAY( CV* cv __attribute__((unused ))) |
1639 | { |
1640 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1641 | if (items < 2) |
1642 | croak_xs_usagePerl_croak_xs_usage(cv, "dummy, array, ..."); |
1643 | { |
1644 | int dummy = 0; |
1645 | intArray * array; |
1646 | #line 888 "Typemap.xs" |
1647 | U32 size_RETVAL; |
1648 | #line 1649 "Typemap.c" |
1649 | intArray * RETVAL; |
1650 | |
1651 | U32 ix_array = 1; |
1652 | array = intArrayPtr(items -= 1); |
1653 | while (items--) { |
1654 | array[ix_array - 1] = (int)SvIV(ST(ix_array))((((PL_stack_base[ax + (ix_array)])->sv_flags & (0x00000100 |0x00200000)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + ( ix_array)])->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( PL_stack_base[ax + (ix_array)],2)) |
1655 | ; |
1656 | ix_array++; |
1657 | } |
1658 | /* this is the number of elements in the array */ |
1659 | ix_array -= 1 |
1660 | ; |
1661 | #line 890 "Typemap.xs" |
1662 | dummy += 0; /* Fix -Wall */ |
Value stored to 'dummy' is never read | |
1663 | size_RETVAL = ix_array; |
1664 | RETVAL = array; |
1665 | #line 1666 "Typemap.c" |
1666 | { |
1667 | U32 ix_RETVAL; |
1668 | SSize_tssize_t extend_size = |
1669 | /* The weird way this is written is because g++ is dumb |
1670 | * enough to warn "comparison is always false" on something |
1671 | * like: |
1672 | * |
1673 | * sizeof(a) > sizeof(b) && a > B_t_MAX |
1674 | * |
1675 | * (where the LH condition is false) |
1676 | */ |
1677 | (size_RETVAL > (sizeof(size_RETVAL) > sizeof(SSize_tssize_t) |
1678 | ? SSize_t_MAX(ssize_t)(~(size_t)0 >> 1) : size_RETVAL)) |
1679 | ? -1 : (SSize_tssize_t)size_RETVAL; |
1680 | EXTEND(SP, extend_size)do { (void)0; if (__builtin_expect(((((extend_size) < 0 || PL_stack_max - (sp) < (extend_size))) ? (_Bool)1 : (_Bool )0),(0))) { sp = Perl_stack_grow( sp,sp,(sizeof(extend_size) > sizeof(ssize_t) && ((ssize_t)(extend_size) != (extend_size )) ? -1 : (extend_size))); ((void)sizeof(sp)); } } while (0); |
1681 | for (ix_RETVAL = 0; ix_RETVAL < size_RETVAL; ix_RETVAL++) { |
1682 | ST(ix_RETVAL)PL_stack_base[ax + (ix_RETVAL)] = sv_newmortal()Perl_sv_newmortal(); |
1683 | sv_setiv(ST(ix_RETVAL), (IV)RETVAL[ix_RETVAL])Perl_sv_setiv( PL_stack_base[ax + (ix_RETVAL)],(IV)RETVAL[ix_RETVAL ]); |
1684 | } |
1685 | } |
1686 | #line 896 "Typemap.xs" |
1687 | Safefree(array)Perl_safesysfree(((void *)(array))); |
1688 | XSRETURN(size_RETVAL)do { const IV tmpXSoff = (size_RETVAL); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1689 | #line 1690 "Typemap.c" |
1690 | } |
1691 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1692 | } |
1693 | |
1694 | |
1695 | XS_EUPXS(XS_XS__Typemap_T_STDIO_open)static void XS_XS__Typemap_T_STDIO_open( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1696 | XS_EUPXS(XS_XS__Typemap_T_STDIO_open)static void XS_XS__Typemap_T_STDIO_open( CV* cv __attribute__ ((unused))) |
1697 | { |
1698 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1699 | if (items != 1) |
1700 | croak_xs_usagePerl_croak_xs_usage(cv, "file"); |
1701 | { |
1702 | const char * file = (const char *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000 )) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv ) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2)) |
1703 | ; |
1704 | FILE * RETVAL; |
1705 | #line 906 "Typemap.xs" |
1706 | RETVAL = xsfopen( file ); |
1707 | #line 1708 "Typemap.c" |
1708 | { |
1709 | SV * RETVALSV; |
1710 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1711 | { |
1712 | GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal(); |
1713 | PerlIOPerlIO *fp = PerlIO_importFILE(RETVAL,0); |
1714 | gv_init_pvn(gv, gv_stashpvs("XS::Typemap",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::Typemap" ""), (sizeof("XS::Typemap")-1), 1),"__ANONIO__",10,0); |
1715 | if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp)Perl_do_openn( gv,"+<&",3,(0),0,0,fp,(SV **) ((void*)0 ),0) ) { |
1716 | SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv); |
1717 | rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash )); |
1718 | RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv); |
1719 | } |
1720 | } |
1721 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1722 | } |
1723 | } |
1724 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1725 | } |
1726 | |
1727 | |
1728 | XS_EUPXS(XS_XS__Typemap_T_STDIO_open_ret_in_arg)static void XS_XS__Typemap_T_STDIO_open_ret_in_arg( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1729 | XS_EUPXS(XS_XS__Typemap_T_STDIO_open_ret_in_arg)static void XS_XS__Typemap_T_STDIO_open_ret_in_arg( CV* cv __attribute__ ((unused))) |
1730 | { |
1731 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1732 | if (items != 2) |
1733 | croak_xs_usagePerl_croak_xs_usage(cv, "file, io"); |
1734 | { |
1735 | const char * file = (const char *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000 )) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv ) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2)) |
1736 | ; |
1737 | FILE * io; |
1738 | #line 915 "Typemap.xs" |
1739 | io = xsfopen( file ); |
1740 | #line 1741 "Typemap.c" |
1741 | { |
1742 | GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal(); |
1743 | PerlIOPerlIO *fp = PerlIO_importFILE(io,0); |
1744 | gv_init_pvn(gv, gv_stashpvs("XS::Typemap",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::Typemap" ""), (sizeof("XS::Typemap")-1), 1),"__ANONIO__",10,0); |
1745 | if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp)Perl_do_openn( gv,"+<&",3,(0),0,0,fp,(SV **) ((void*)0 ),0) ) { |
1746 | SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv); |
1747 | rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash )); |
1748 | sv_setsv(ST(1), rv)Perl_sv_setsv_flags( PL_stack_base[ax + (1)],rv,2|0); |
1749 | SvREFCNT_dec_NN(rv)Perl_SvREFCNT_dec_NN( ((SV *)({ void *_p = (rv); _p; }))); |
1750 | } |
1751 | else |
1752 | sv_setsv(ST(1), &PL_sv_undef)Perl_sv_setsv_flags( PL_stack_base[ax + (1)],&(PL_sv_immortals [1]),2|0); |
1753 | |
1754 | } |
1755 | SvSETMAGIC(ST(1))do { if (__builtin_expect(((((PL_stack_base[ax + (1)])->sv_flags & 0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( PL_stack_base[ax + (1)]); } while (0); |
1756 | } |
1757 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); |
1758 | } |
1759 | |
1760 | |
1761 | XS_EUPXS(XS_XS__Typemap_T_STDIO_close)static void XS_XS__Typemap_T_STDIO_close( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1762 | XS_EUPXS(XS_XS__Typemap_T_STDIO_close)static void XS_XS__Typemap_T_STDIO_close( CV* cv __attribute__ ((unused))) |
1763 | { |
1764 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1765 | if (items != 1) |
1766 | croak_xs_usagePerl_croak_xs_usage(cv, "f"); |
1767 | { |
1768 | PerlIOPerlIO * f = IoIFP(sv_2io(ST(0)))(Perl_sv_2io( PL_stack_base[ax + (0)]))->sv_u.svu_fp |
1769 | ; |
1770 | #line 923 "Typemap.xs" |
1771 | FILE * stream; |
1772 | #line 1773 "Typemap.c" |
1773 | SysRet RETVAL; |
1774 | #line 925 "Typemap.xs" |
1775 | /* Get the FILE* */ |
1776 | stream = PerlIO_findFILE( f ); |
1777 | /* Release the FILE* from the PerlIO system so that we do |
1778 | not close the file twice */ |
1779 | PerlIO_releaseFILE(f,stream); |
1780 | /* Must release the file before closing it */ |
1781 | RETVAL = xsfclose( stream ); |
1782 | #line 1783 "Typemap.c" |
1783 | { |
1784 | SV * RETVALSV; |
1785 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1786 | if (RETVAL != -1) { |
1787 | if (RETVAL == 0) |
1788 | sv_setpvn(RETVALSV, "0 but true", 10)Perl_sv_setpvn( RETVALSV,"0 but true",10); |
1789 | else |
1790 | sv_setiv(RETVALSV, (IV)RETVAL)Perl_sv_setiv( RETVALSV,(IV)RETVAL); |
1791 | } |
1792 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1793 | } |
1794 | } |
1795 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1796 | } |
1797 | |
1798 | |
1799 | XS_EUPXS(XS_XS__Typemap_T_STDIO_print)static void XS_XS__Typemap_T_STDIO_print( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1800 | XS_EUPXS(XS_XS__Typemap_T_STDIO_print)static void XS_XS__Typemap_T_STDIO_print( CV* cv __attribute__ ((unused))) |
1801 | { |
1802 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1803 | if (items != 2) |
1804 | croak_xs_usagePerl_croak_xs_usage(cv, "stream, string"); |
1805 | { |
1806 | FILE * stream = PerlIO_findFILE(IoIFP(sv_2io(ST(0)))(Perl_sv_2io( PL_stack_base[ax + (0)]))->sv_u.svu_fp) |
1807 | ; |
1808 | const char * string = (const char *)SvPV_nolen(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000400|0x00200000 )) == 0x00000400) ? ((PL_stack_base[ax + (1)])->sv_u.svu_pv ) : Perl_sv_2pv_flags( PL_stack_base[ax + (1)],0,2)) |
1809 | ; |
1810 | int RETVAL; |
1811 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1812 | #line 940 "Typemap.xs" |
1813 | RETVAL = xsfprintf( stream, string ); |
1814 | #line 1815 "Typemap.c" |
1815 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect((((( (targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool) 0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0) ,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000 ); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ ,TARGi_iv); } while (0); (*++sp = (targ)); } while (0); |
1816 | } |
1817 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1818 | } |
1819 | |
1820 | |
1821 | XS_EUPXS(XS_XS__Typemap_T_INOUT)static void XS_XS__Typemap_T_INOUT( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1822 | XS_EUPXS(XS_XS__Typemap_T_INOUT)static void XS_XS__Typemap_T_INOUT( CV* cv __attribute__((unused ))) |
1823 | { |
1824 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1825 | if (items != 1) |
1826 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1827 | { |
1828 | PerlIOPerlIO * in = IoIFP(sv_2io(ST(0)))(Perl_sv_2io( PL_stack_base[ax + (0)]))->sv_u.svu_fp |
1829 | ; |
1830 | PerlIOPerlIO * RETVAL; |
1831 | #line 951 "Typemap.xs" |
1832 | RETVAL = in; /* silly test but better than nothing */ |
1833 | #line 1834 "Typemap.c" |
1834 | { |
1835 | SV * RETVALSV; |
1836 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1837 | { |
1838 | GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal(); |
1839 | gv_init_pvn(gv, gv_stashpvs("XS::Typemap",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::Typemap" ""), (sizeof("XS::Typemap")-1), 1),"__ANONIO__",10,0); |
1840 | if ( do_open(gv, "+<&", 3, FALSE, 0, 0, RETVAL)Perl_do_openn( gv,"+<&",3,(0),0,0,RETVAL,(SV **) ((void *)0),0) ) { |
1841 | SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv); |
1842 | rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash )); |
1843 | RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv); |
1844 | } |
1845 | } |
1846 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1847 | } |
1848 | } |
1849 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1850 | } |
1851 | |
1852 | |
1853 | XS_EUPXS(XS_XS__Typemap_T_IN)static void XS_XS__Typemap_T_IN( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1854 | XS_EUPXS(XS_XS__Typemap_T_IN)static void XS_XS__Typemap_T_IN( CV* cv __attribute__((unused ))) |
1855 | { |
1856 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1857 | if (items != 1) |
1858 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1859 | { |
1860 | inputfh in = IoIFP(sv_2io(ST(0)))(Perl_sv_2io( PL_stack_base[ax + (0)]))->sv_u.svu_fp |
1861 | ; |
1862 | inputfh RETVAL; |
1863 | #line 961 "Typemap.xs" |
1864 | RETVAL = in; /* silly test but better than nothing */ |
1865 | #line 1866 "Typemap.c" |
1866 | { |
1867 | SV * RETVALSV; |
1868 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1869 | { |
1870 | GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal(); |
1871 | gv_init_pvn(gv, gv_stashpvs("XS::Typemap",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::Typemap" ""), (sizeof("XS::Typemap")-1), 1),"__ANONIO__",10,0); |
1872 | if ( do_open(gv, "<&", 2, FALSE, 0, 0, RETVAL)Perl_do_openn( gv,"<&",2,(0),0,0,RETVAL,(SV **) ((void *)0),0) ) { |
1873 | SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv); |
1874 | rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash )); |
1875 | RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv); |
1876 | } |
1877 | } |
1878 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1879 | } |
1880 | } |
1881 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1882 | } |
1883 | |
1884 | |
1885 | XS_EUPXS(XS_XS__Typemap_T_OUT)static void XS_XS__Typemap_T_OUT( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
1886 | XS_EUPXS(XS_XS__Typemap_T_OUT)static void XS_XS__Typemap_T_OUT( CV* cv __attribute__((unused ))) |
1887 | { |
1888 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1889 | if (items != 1) |
1890 | croak_xs_usagePerl_croak_xs_usage(cv, "in"); |
1891 | { |
1892 | outputfh in = IoOFP(sv_2io(ST(0)))((XPVIO*) (Perl_sv_2io( PL_stack_base[ax + (0)]))->sv_any) ->xio_ofp |
1893 | ; |
1894 | outputfh RETVAL; |
1895 | #line 971 "Typemap.xs" |
1896 | RETVAL = in; /* silly test but better than nothing */ |
1897 | #line 1898 "Typemap.c" |
1898 | { |
1899 | SV * RETVALSV; |
1900 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1901 | { |
1902 | GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal(); |
1903 | gv_init_pvn(gv, gv_stashpvs("XS::Typemap",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::Typemap" ""), (sizeof("XS::Typemap")-1), 1),"__ANONIO__",10,0); |
1904 | if ( do_open(gv, "+>&", 3, FALSE, 0, 0, RETVAL)Perl_do_openn( gv,"+>&",3,(0),0,0,RETVAL,(SV **) ((void *)0),0) ) { |
1905 | SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv); |
1906 | rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash )); |
1907 | RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv); |
1908 | } |
1909 | } |
1910 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1911 | } |
1912 | } |
1913 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1914 | } |
1915 | |
1916 | #ifdef __cplusplus |
1917 | extern "C" |
1918 | #endif |
1919 | XS_EXTERNAL(boot_XS__Typemap)void boot_XS__Typemap( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ |
1920 | XS_EXTERNAL(boot_XS__Typemap)void boot_XS__Typemap( CV* cv __attribute__((unused))) |
1921 | { |
1922 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) |
1923 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1924 | #else |
1925 | dVARstruct Perl___notused_struct; dXSBOOTARGSXSAPIVERCHKI32 ax = Perl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter )) << 16) | ((sizeof("" "0.17" "")-1) > 0xFF ? (Perl_croak ("panic: handshake overflow"), 0xFF) : (sizeof("" "0.17" "")- 1) << 8) | ((((1)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 : 0) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | (((( 1)) ? (_Bool)1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" "v" "5" "." "32" "." "0" "")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow" ), 0x0000001F) : (sizeof("" "v" "5" "." "32" "." "0" "")-1))) , cv, "Typemap.c", "v" "5" "." "32" "." "0", "0.17"); SV **mark = PL_stack_base + ax; SV **sp = PL_stack_sp; I32 items = (I32 )(sp - mark); |
1926 | #endif |
1927 | #if (PERL_REVISION5 == 5 && PERL_VERSION32 < 9) |
1928 | char* file = __FILE__"Typemap.c"; |
1929 | #else |
1930 | const char* file = __FILE__"Typemap.c"; |
1931 | #endif |
1932 | |
1933 | PERL_UNUSED_VAR(file)((void)sizeof(file)); |
1934 | |
1935 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ |
1936 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ |
1937 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) |
1938 | XS_VERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter)) << 16) | ((sizeof("" "0.17" "")-1) > 0xFF ? (Perl_croak ("panic: handshake overflow"), 0xFF) : (sizeof("" "0.17" "")- 1) << 8) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 : 0) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | (((( 0)) ? (_Bool)1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" "" "")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow" ), 0x0000001F) : (sizeof("" "" "")-1))), cv, "Typemap.c", items , ax, "0.17"); |
1939 | # ifdef XS_APIVERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter)) << 16) | ((sizeof("" "" "")-1) > 0xFF ? (Perl_croak ("panic: handshake overflow"), 0xFF) : (sizeof("" "" "")-1) << 8) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 : 0) | (((( 0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | ((((0)) ? (_Bool )1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" "v" "5" "." "32" "." "0" "")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow" ), 0x0000001F) : (sizeof("" "v" "5" "." "32" "." "0" "")-1))) , cv, "Typemap.c", items, ax, "v" "5" "." "32" "." "0") |
1940 | XS_APIVERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter)) << 16) | ((sizeof("" "" "")-1) > 0xFF ? (Perl_croak ("panic: handshake overflow"), 0xFF) : (sizeof("" "" "")-1) << 8) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 : 0) | (((( 0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | ((((0)) ? (_Bool )1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" "v" "5" "." "32" "." "0" "")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow" ), 0x0000001F) : (sizeof("" "v" "5" "." "32" "." "0" "")-1))) , cv, "Typemap.c", items, ax, "v" "5" "." "32" "." "0"); |
1941 | # endif |
1942 | #endif |
1943 | |
1944 | newXS_deffile("XS::Typemap::T_SV", XS_XS__Typemap_T_SV)Perl_newXS_deffile( "XS::Typemap::T_SV",XS_XS__Typemap_T_SV); |
1945 | newXS_deffile("XS::Typemap::T_SVREF", XS_XS__Typemap_T_SVREF)Perl_newXS_deffile( "XS::Typemap::T_SVREF",XS_XS__Typemap_T_SVREF ); |
1946 | newXS_deffile("XS::Typemap::T_SVREF_REFCOUNT_FIXED", XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED)Perl_newXS_deffile( "XS::Typemap::T_SVREF_REFCOUNT_FIXED",XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED ); |
1947 | newXS_deffile("XS::Typemap::T_AVREF", XS_XS__Typemap_T_AVREF)Perl_newXS_deffile( "XS::Typemap::T_AVREF",XS_XS__Typemap_T_AVREF ); |
1948 | newXS_deffile("XS::Typemap::T_AVREF_REFCOUNT_FIXED", XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED)Perl_newXS_deffile( "XS::Typemap::T_AVREF_REFCOUNT_FIXED",XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED ); |
1949 | newXS_deffile("XS::Typemap::T_HVREF", XS_XS__Typemap_T_HVREF)Perl_newXS_deffile( "XS::Typemap::T_HVREF",XS_XS__Typemap_T_HVREF ); |
1950 | newXS_deffile("XS::Typemap::T_HVREF_REFCOUNT_FIXED", XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED)Perl_newXS_deffile( "XS::Typemap::T_HVREF_REFCOUNT_FIXED",XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED ); |
1951 | newXS_deffile("XS::Typemap::T_CVREF", XS_XS__Typemap_T_CVREF)Perl_newXS_deffile( "XS::Typemap::T_CVREF",XS_XS__Typemap_T_CVREF ); |
1952 | newXS_deffile("XS::Typemap::T_CVREF_REFCOUNT_FIXED", XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED)Perl_newXS_deffile( "XS::Typemap::T_CVREF_REFCOUNT_FIXED",XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED ); |
1953 | newXS_deffile("XS::Typemap::T_SYSRET_pass", XS_XS__Typemap_T_SYSRET_pass)Perl_newXS_deffile( "XS::Typemap::T_SYSRET_pass",XS_XS__Typemap_T_SYSRET_pass ); |
1954 | newXS_deffile("XS::Typemap::T_SYSRET_fail", XS_XS__Typemap_T_SYSRET_fail)Perl_newXS_deffile( "XS::Typemap::T_SYSRET_fail",XS_XS__Typemap_T_SYSRET_fail ); |
1955 | newXS_deffile("XS::Typemap::T_UV", XS_XS__Typemap_T_UV)Perl_newXS_deffile( "XS::Typemap::T_UV",XS_XS__Typemap_T_UV); |
1956 | newXS_deffile("XS::Typemap::T_IV", XS_XS__Typemap_T_IV)Perl_newXS_deffile( "XS::Typemap::T_IV",XS_XS__Typemap_T_IV); |
1957 | newXS_deffile("XS::Typemap::T_INT", XS_XS__Typemap_T_INT)Perl_newXS_deffile( "XS::Typemap::T_INT",XS_XS__Typemap_T_INT ); |
1958 | newXS_deffile("XS::Typemap::T_ENUM", XS_XS__Typemap_T_ENUM)Perl_newXS_deffile( "XS::Typemap::T_ENUM",XS_XS__Typemap_T_ENUM ); |
1959 | newXS_deffile("XS::Typemap::T_BOOL", XS_XS__Typemap_T_BOOL)Perl_newXS_deffile( "XS::Typemap::T_BOOL",XS_XS__Typemap_T_BOOL ); |
1960 | newXS_deffile("XS::Typemap::T_BOOL_2", XS_XS__Typemap_T_BOOL_2)Perl_newXS_deffile( "XS::Typemap::T_BOOL_2",XS_XS__Typemap_T_BOOL_2 ); |
1961 | newXS_deffile("XS::Typemap::T_BOOL_OUT", XS_XS__Typemap_T_BOOL_OUT)Perl_newXS_deffile( "XS::Typemap::T_BOOL_OUT",XS_XS__Typemap_T_BOOL_OUT ); |
1962 | newXS_deffile("XS::Typemap::T_U_INT", XS_XS__Typemap_T_U_INT)Perl_newXS_deffile( "XS::Typemap::T_U_INT",XS_XS__Typemap_T_U_INT ); |
1963 | newXS_deffile("XS::Typemap::T_SHORT", XS_XS__Typemap_T_SHORT)Perl_newXS_deffile( "XS::Typemap::T_SHORT",XS_XS__Typemap_T_SHORT ); |
1964 | newXS_deffile("XS::Typemap::T_U_SHORT", XS_XS__Typemap_T_U_SHORT)Perl_newXS_deffile( "XS::Typemap::T_U_SHORT",XS_XS__Typemap_T_U_SHORT ); |
1965 | newXS_deffile("XS::Typemap::T_LONG", XS_XS__Typemap_T_LONG)Perl_newXS_deffile( "XS::Typemap::T_LONG",XS_XS__Typemap_T_LONG ); |
1966 | newXS_deffile("XS::Typemap::T_U_LONG", XS_XS__Typemap_T_U_LONG)Perl_newXS_deffile( "XS::Typemap::T_U_LONG",XS_XS__Typemap_T_U_LONG ); |
1967 | newXS_deffile("XS::Typemap::T_CHAR", XS_XS__Typemap_T_CHAR)Perl_newXS_deffile( "XS::Typemap::T_CHAR",XS_XS__Typemap_T_CHAR ); |
1968 | newXS_deffile("XS::Typemap::T_U_CHAR", XS_XS__Typemap_T_U_CHAR)Perl_newXS_deffile( "XS::Typemap::T_U_CHAR",XS_XS__Typemap_T_U_CHAR ); |
1969 | newXS_deffile("XS::Typemap::T_FLOAT", XS_XS__Typemap_T_FLOAT)Perl_newXS_deffile( "XS::Typemap::T_FLOAT",XS_XS__Typemap_T_FLOAT ); |
1970 | newXS_deffile("XS::Typemap::T_NV", XS_XS__Typemap_T_NV)Perl_newXS_deffile( "XS::Typemap::T_NV",XS_XS__Typemap_T_NV); |
1971 | newXS_deffile("XS::Typemap::T_DOUBLE", XS_XS__Typemap_T_DOUBLE)Perl_newXS_deffile( "XS::Typemap::T_DOUBLE",XS_XS__Typemap_T_DOUBLE ); |
1972 | newXS_deffile("XS::Typemap::T_PV", XS_XS__Typemap_T_PV)Perl_newXS_deffile( "XS::Typemap::T_PV",XS_XS__Typemap_T_PV); |
1973 | newXS_deffile("XS::Typemap::T_PV_null", XS_XS__Typemap_T_PV_null)Perl_newXS_deffile( "XS::Typemap::T_PV_null",XS_XS__Typemap_T_PV_null ); |
1974 | newXS_deffile("XS::Typemap::T_PTR_OUT", XS_XS__Typemap_T_PTR_OUT)Perl_newXS_deffile( "XS::Typemap::T_PTR_OUT",XS_XS__Typemap_T_PTR_OUT ); |
1975 | newXS_deffile("XS::Typemap::T_PTR_IN", XS_XS__Typemap_T_PTR_IN)Perl_newXS_deffile( "XS::Typemap::T_PTR_IN",XS_XS__Typemap_T_PTR_IN ); |
1976 | newXS_deffile("XS::Typemap::T_PTRREF_OUT", XS_XS__Typemap_T_PTRREF_OUT)Perl_newXS_deffile( "XS::Typemap::T_PTRREF_OUT",XS_XS__Typemap_T_PTRREF_OUT ); |
1977 | newXS_deffile("XS::Typemap::T_PTRREF_IN", XS_XS__Typemap_T_PTRREF_IN)Perl_newXS_deffile( "XS::Typemap::T_PTRREF_IN",XS_XS__Typemap_T_PTRREF_IN ); |
1978 | newXS_deffile("XS::Typemap::T_PTROBJ_OUT", XS_XS__Typemap_T_PTROBJ_OUT)Perl_newXS_deffile( "XS::Typemap::T_PTROBJ_OUT",XS_XS__Typemap_T_PTROBJ_OUT ); |
1979 | newXS_deffile("intObjPtr::T_PTROBJ_IN", XS_intObjPtr_T_PTROBJ_IN)Perl_newXS_deffile( "intObjPtr::T_PTROBJ_IN",XS_intObjPtr_T_PTROBJ_IN ); |
1980 | newXS_deffile("XS::Typemap::T_REF_IV_PTR_OUT", XS_XS__Typemap_T_REF_IV_PTR_OUT)Perl_newXS_deffile( "XS::Typemap::T_REF_IV_PTR_OUT",XS_XS__Typemap_T_REF_IV_PTR_OUT ); |
1981 | newXS_deffile("intRefIvPtr::T_REF_IV_PTR_IN", XS_intRefIvPtr_T_REF_IV_PTR_IN)Perl_newXS_deffile( "intRefIvPtr::T_REF_IV_PTR_IN",XS_intRefIvPtr_T_REF_IV_PTR_IN ); |
1982 | newXS_deffile("XS::Typemap::T_OPAQUEPTR_IN", XS_XS__Typemap_T_OPAQUEPTR_IN)Perl_newXS_deffile( "XS::Typemap::T_OPAQUEPTR_IN",XS_XS__Typemap_T_OPAQUEPTR_IN ); |
1983 | newXS_deffile("XS::Typemap::T_OPAQUEPTR_OUT", XS_XS__Typemap_T_OPAQUEPTR_OUT)Perl_newXS_deffile( "XS::Typemap::T_OPAQUEPTR_OUT",XS_XS__Typemap_T_OPAQUEPTR_OUT ); |
1984 | newXS_deffile("XS::Typemap::T_OPAQUEPTR_OUT_short", XS_XS__Typemap_T_OPAQUEPTR_OUT_short)Perl_newXS_deffile( "XS::Typemap::T_OPAQUEPTR_OUT_short",XS_XS__Typemap_T_OPAQUEPTR_OUT_short ); |
1985 | newXS_deffile("XS::Typemap::T_OPAQUEPTR_IN_struct", XS_XS__Typemap_T_OPAQUEPTR_IN_struct)Perl_newXS_deffile( "XS::Typemap::T_OPAQUEPTR_IN_struct",XS_XS__Typemap_T_OPAQUEPTR_IN_struct ); |
1986 | newXS_deffile("XS::Typemap::T_OPAQUEPTR_OUT_struct", XS_XS__Typemap_T_OPAQUEPTR_OUT_struct)Perl_newXS_deffile( "XS::Typemap::T_OPAQUEPTR_OUT_struct",XS_XS__Typemap_T_OPAQUEPTR_OUT_struct ); |
1987 | newXS_deffile("XS::Typemap::T_OPAQUE_IN", XS_XS__Typemap_T_OPAQUE_IN)Perl_newXS_deffile( "XS::Typemap::T_OPAQUE_IN",XS_XS__Typemap_T_OPAQUE_IN ); |
1988 | newXS_deffile("XS::Typemap::T_OPAQUE_OUT", XS_XS__Typemap_T_OPAQUE_OUT)Perl_newXS_deffile( "XS::Typemap::T_OPAQUE_OUT",XS_XS__Typemap_T_OPAQUE_OUT ); |
1989 | newXS_deffile("XS::Typemap::T_OPAQUE_array", XS_XS__Typemap_T_OPAQUE_array)Perl_newXS_deffile( "XS::Typemap::T_OPAQUE_array",XS_XS__Typemap_T_OPAQUE_array ); |
1990 | newXS_deffile("XS::Typemap::T_PACKED_in", XS_XS__Typemap_T_PACKED_in)Perl_newXS_deffile( "XS::Typemap::T_PACKED_in",XS_XS__Typemap_T_PACKED_in ); |
1991 | newXS_deffile("XS::Typemap::T_PACKED_out", XS_XS__Typemap_T_PACKED_out)Perl_newXS_deffile( "XS::Typemap::T_PACKED_out",XS_XS__Typemap_T_PACKED_out ); |
1992 | newXS_deffile("XS::Typemap::T_PACKEDARRAY_in", XS_XS__Typemap_T_PACKEDARRAY_in)Perl_newXS_deffile( "XS::Typemap::T_PACKEDARRAY_in",XS_XS__Typemap_T_PACKEDARRAY_in ); |
1993 | newXS_deffile("XS::Typemap::T_PACKEDARRAY_out", XS_XS__Typemap_T_PACKEDARRAY_out)Perl_newXS_deffile( "XS::Typemap::T_PACKEDARRAY_out",XS_XS__Typemap_T_PACKEDARRAY_out ); |
1994 | newXS_deffile("XS::Typemap::T_ARRAY", XS_XS__Typemap_T_ARRAY)Perl_newXS_deffile( "XS::Typemap::T_ARRAY",XS_XS__Typemap_T_ARRAY ); |
1995 | newXS_deffile("XS::Typemap::T_STDIO_open", XS_XS__Typemap_T_STDIO_open)Perl_newXS_deffile( "XS::Typemap::T_STDIO_open",XS_XS__Typemap_T_STDIO_open ); |
1996 | newXS_deffile("XS::Typemap::T_STDIO_open_ret_in_arg", XS_XS__Typemap_T_STDIO_open_ret_in_arg)Perl_newXS_deffile( "XS::Typemap::T_STDIO_open_ret_in_arg",XS_XS__Typemap_T_STDIO_open_ret_in_arg ); |
1997 | newXS_deffile("XS::Typemap::T_STDIO_close", XS_XS__Typemap_T_STDIO_close)Perl_newXS_deffile( "XS::Typemap::T_STDIO_close",XS_XS__Typemap_T_STDIO_close ); |
1998 | newXS_deffile("XS::Typemap::T_STDIO_print", XS_XS__Typemap_T_STDIO_print)Perl_newXS_deffile( "XS::Typemap::T_STDIO_print",XS_XS__Typemap_T_STDIO_print ); |
1999 | newXS_deffile("XS::Typemap::T_INOUT", XS_XS__Typemap_T_INOUT)Perl_newXS_deffile( "XS::Typemap::T_INOUT",XS_XS__Typemap_T_INOUT ); |
2000 | newXS_deffile("XS::Typemap::T_IN", XS_XS__Typemap_T_IN)Perl_newXS_deffile( "XS::Typemap::T_IN",XS_XS__Typemap_T_IN); |
2001 | newXS_deffile("XS::Typemap::T_OUT", XS_XS__Typemap_T_OUT)Perl_newXS_deffile( "XS::Typemap::T_OUT",XS_XS__Typemap_T_OUT ); |
2002 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) |
2003 | # if PERL_VERSION_GE(5, 9, 0)((5*1000000 + 32*1000 + 1) >= (5*1000000 + 9*1000 + 0)) |
2004 | if (PL_unitcheckav) |
2005 | call_list(PL_scopestack_ix, PL_unitcheckav)Perl_call_list( PL_scopestack_ix,PL_unitcheckav); |
2006 | # endif |
2007 | XSRETURN_YESdo { (PL_stack_base[ax + (0)] = &(PL_sv_immortals[0]) ); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); |
2008 | #else |
2009 | Perl_xs_boot_epilog(aTHX_ ax); |
2010 | #endif |
2011 | } |
2012 |