File: | obj/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/Bzip2.c |
Warning: | line 684, column 17 Value stored to 'flags' 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 Bzip2.xs. Do not edit this file, edit Bzip2.xs instead. |
4 | * |
5 | * ANY CHANGES MADE HERE WILL BE LOST! |
6 | * |
7 | */ |
8 | |
9 | #line 1 "Bzip2.xs" |
10 | /* Filename: Bzip2.xs |
11 | * Author : Paul Marquess, <pmqs@cpan.org> |
12 | * Created : 5th October 2005 |
13 | * Version : 2.000 |
14 | * |
15 | * Copyright (c) 2005-2010 Paul Marquess. All rights reserved. |
16 | * This program is free software; you can redistribute it and/or |
17 | * modify it under the same terms as Perl itself. |
18 | * |
19 | */ |
20 | |
21 | #define PERL_NO_GET_CONTEXT |
22 | #include "EXTERN.h" |
23 | #include "perl.h" |
24 | #include "XSUB.h" |
25 | |
26 | #include "bzlib.h" |
27 | |
28 | #ifdef USE_PPPORT_H |
29 | # define NEED_sv_2pv_nolen |
30 | # include "ppport.h" |
31 | #endif |
32 | |
33 | #if PERL_REVISION5 == 5 && (PERL_VERSION32 < 8 || (PERL_VERSION32 == 8 && PERL_SUBVERSION1 < 4 )) |
34 | |
35 | # ifdef SvPVbyte_force |
36 | # undef SvPVbyte_force |
37 | # endif |
38 | |
39 | # define SvPVbyte_force(sv,lp)((((sv)->sv_flags & (0x00000400|0x20000000|0x00000100| 0x00000200|0x00000800|0x00008000|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x00200000)) == 0x00000400 ) ? ((lp = ((XPV*) (sv)->sv_any)->xpv_cur), ((sv)->sv_u .svu_pv)) : Perl_sv_pvbyten_force( sv,&lp)) SvPV_force(sv,lp)((((sv)->sv_flags & (0x00000400|0x00000100|0x00000200| 0x00000800|0x00008000|(0x08000000|0x00010000|0x00000800|0x01000000 |0x00800000|0x10000000)|0x00200000)) == 0x00000400) ? ((lp = ((XPV*) (sv)->sv_any)->xpv_cur), ((sv)->sv_u.svu_pv )) : Perl_sv_pvn_force_flags( sv,&lp,2)) |
40 | |
41 | #endif |
42 | |
43 | #ifndef SvPVbyte_nolen |
44 | # define SvPVbyte_nolen SvPV_nolen |
45 | #endif |
46 | |
47 | |
48 | #if PERL_REVISION5 == 5 && (PERL_VERSION32 >= 8 || (PERL_VERSION32 == 8 && PERL_SUBVERSION1 < 4 )) |
49 | # define UTF8_AVAILABLE |
50 | #endif |
51 | |
52 | typedef int DualType ; |
53 | typedef int int_undef ; |
54 | |
55 | typedef unsigned long uLong; |
56 | typedef unsigned int uInt; |
57 | |
58 | typedef struct di_stream { |
59 | int flags ; |
60 | #define FLAG_APPEND_OUTPUT1 1 |
61 | #define FLAG_CONSUME_INPUT8 8 |
62 | #define FLAG_LIMIT_OUTPUT16 16 |
63 | bz_stream stream; |
64 | uInt bufsize; |
65 | int last_error ; |
66 | uLong bytesInflated ; |
67 | uLong compressedBytes ; |
68 | uLong uncompressedBytes ; |
69 | |
70 | } di_stream; |
71 | |
72 | typedef di_stream * deflateStream ; |
73 | typedef di_stream * Compress__Raw__Bzip2 ; |
74 | |
75 | typedef di_stream * inflateStream ; |
76 | typedef di_stream * Compress__Raw__Bunzip2 ; |
77 | |
78 | #define COMPRESS_CLASS"Compress::Raw::Bzip2" "Compress::Raw::Bzip2" |
79 | #define UNCOMPRESS_CLASS"Compress::Raw::Bunzip2" "Compress::Raw::Bunzip2" |
80 | |
81 | #define ZMALLOC(to, typ)((to = (typ *)Perl_safesysmalloc(sizeof(typ))), ((void)(__builtin_expect (((((( sizeof(size_t) < sizeof(1) || sizeof(typ) > ((size_t )1 << 8*(sizeof(size_t) - sizeof(1)))) ? (size_t)(1) : ( (size_t)-1)/sizeof(typ)) > ((size_t)-1)/sizeof(typ))) ? (_Bool )1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap(),0)), ((void)0), (void)memset((char*)(to),0,(1) * sizeof(typ)))) ((to = (typ *)safemallocPerl_safesysmalloc(sizeof(typ))), \ |
82 | Zero(to,1,typ)((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(1) || sizeof(typ) > ((size_t)1 << 8*(sizeof(size_t) - sizeof (1)))) ? (size_t)(1) : ((size_t)-1)/sizeof(typ)) > ((size_t )-1)/sizeof(typ))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap (),0)), ((void)0), (void)memset((char*)(to),0,(1) * sizeof(typ )))) |
83 | |
84 | |
85 | /* static const char * const my_z_errmsg[] = { */ |
86 | static const char my_z_errmsg[][32] = { |
87 | "End of Stream", /* BZ_STREAM_END 4 */ |
88 | "Finish OK", /* BZ_FINISH_OK 3 */ |
89 | "Flush OK", /* BZ_FLUSH_OK 2 */ |
90 | "Run OK", /* BZ_RUN_OK 1 */ |
91 | "", /* BZ_OK 0 */ |
92 | "Sequence Error", /* BZ_SEQUENCE_ERROR (-1) */ |
93 | "Param Error", /* BZ_PARAM_ERROR (-2) */ |
94 | "Memory Error", /* BZ_MEM_ERROR (-3) */ |
95 | "Data Error", /* BZ_DATA_ERROR (-4) */ |
96 | "Magic Error", /* BZ_DATA_ERROR_MAGIC (-5) */ |
97 | "IO Error", /* BZ_IO_ERROR (-6) */ |
98 | "Unexpected EOF", /* BZ_UNEXPECTED_EOF (-7) */ |
99 | "Output Buffer Full", /* BZ_OUTBUFF_FULL (-8) */ |
100 | "Config Error", /* BZ_CONFIG_ERROR (-9) */ |
101 | ""}; |
102 | |
103 | #define setDUALstatus(var, err)Perl_sv_setnv( var,(double)err) ; Perl_sv_setpv( var,((err) ? GetErrorString(err) : "")) ; ( (var)->sv_flags |= (0x00000200 |0x00002000)); \ |
104 | sv_setnv(var, (double)err)Perl_sv_setnv( var,(double)err) ; \ |
105 | sv_setpv(var, ((err) ? GetErrorString(err) : ""))Perl_sv_setpv( var,((err) ? GetErrorString(err) : "")) ; \ |
106 | SvNOK_on(var)( (var)->sv_flags |= (0x00000200|0x00002000)); |
107 | |
108 | |
109 | #if defined(__SYMBIAN32__) |
110 | # define NO_WRITEABLE_DATA |
111 | #endif |
112 | |
113 | /* Set TRACE_DEFAULT to a non-zero value to enable tracing */ |
114 | #define TRACE_DEFAULT0 0 |
115 | |
116 | #if defined(NO_WRITEABLE_DATA) || TRACE_DEFAULT0 == 0 |
117 | # define trace0 TRACE_DEFAULT0 |
118 | #else |
119 | static int trace0 = TRACE_DEFAULT0 ; |
120 | #endif |
121 | |
122 | /* Dodge PerlIO hiding of these functions. */ |
123 | #undef printf |
124 | |
125 | #if 1 |
126 | #define getInnerObject(x)(*Perl_av_fetch( (AV*)((x)->sv_u.svu_rv),0,(0))) (*av_fetch((AV*)SvRV(x), 0, FALSE)Perl_av_fetch( (AV*)((x)->sv_u.svu_rv),0,(0))) |
127 | #else |
128 | #define getInnerObject(x)(*Perl_av_fetch( (AV*)((x)->sv_u.svu_rv),0,(0))) ((SV*)SvRV(sv)((sv)->sv_u.svu_rv)) |
129 | #endif |
130 | |
131 | #ifdef BZ_NO_STDIO1 |
132 | void bz_internal_error(int errorcode) |
133 | { |
134 | croakPerl_croak("bz_internal_error %d\n", errorcode); |
135 | } |
136 | #endif |
137 | |
138 | static char * |
139 | #ifdef CAN_PROTOTYPE |
140 | GetErrorString(int error_no) |
141 | #else |
142 | GetErrorString(error_no) |
143 | int error_no ; |
144 | #endif |
145 | { |
146 | return(char*) my_z_errmsg[4 - error_no]; |
147 | } |
148 | |
149 | static void |
150 | #ifdef CAN_PROTOTYPE |
151 | DispHex(void * ptr, int length) |
152 | #else |
153 | DispHex(ptr, length) |
154 | void * ptr; |
155 | int length; |
156 | #endif |
157 | { |
158 | char * p = (char*)ptr; |
159 | int i; |
160 | for (i = 0; i < length; ++i) { |
161 | printf(" %02x", 0xFF & *(p+i)); |
162 | } |
163 | } |
164 | |
165 | |
166 | static void |
167 | #ifdef CAN_PROTOTYPE |
168 | DispStream(di_stream * s, const char * message) |
169 | #else |
170 | DispStream(s, message) |
171 | di_stream * s; |
172 | const char * message; |
173 | #endif |
174 | { |
175 | |
176 | #if 0 |
177 | if (! trace0) |
178 | return ; |
179 | #endif |
180 | |
181 | #define EnDis(f)(s->flags & f ? "Enabled" : "Disabled") (s->flags & f ? "Enabled" : "Disabled") |
182 | |
183 | printf("DispStream 0x%p", s) ; |
184 | if (message) |
185 | printf(" - %s \n", message) ; |
186 | printf("\n") ; |
187 | |
188 | if (!s) { |
189 | printf(" stream pointer is NULL\n"); |
190 | } |
191 | else { |
192 | printf(" stream 0x%p\n", &(s->stream)); |
193 | printf(" opaque 0x%p\n", s->stream.opaque); |
194 | printf(" state 0x%p\n", s->stream.state ); |
195 | printf(" next_in 0x%p", s->stream.next_in); |
196 | if (s->stream.next_in){ |
197 | printf(" =>"); |
198 | DispHex(s->stream.next_in, 4); |
199 | } |
200 | printf("\n"); |
201 | |
202 | printf(" next_out 0x%p", s->stream.next_out); |
203 | if (s->stream.next_out){ |
204 | printf(" =>"); |
205 | DispHex(s->stream.next_out, 4); |
206 | } |
207 | printf("\n"); |
208 | |
209 | printf(" avail_in %lu\n", (unsigned long)s->stream.avail_in); |
210 | printf(" avail_out %lu\n", (unsigned long)s->stream.avail_out); |
211 | printf(" bufsize %lu\n", (unsigned long)s->bufsize); |
212 | printf(" total_in_lo32 %u\n", s->stream.total_in_lo32); |
213 | printf(" total_in_hi32 %u\n", s->stream.total_in_hi32); |
214 | printf(" total_out_lo32 %u\n", s->stream.total_out_lo32); |
215 | printf(" total_out_hi32 %u\n", s->stream.total_out_hi32); |
216 | printf(" flags 0x%x\n", s->flags); |
217 | printf(" APPEND %s\n", EnDis(FLAG_APPEND_OUTPUT)(s->flags & 1 ? "Enabled" : "Disabled")); |
218 | printf(" CONSUME %s\n", EnDis(FLAG_CONSUME_INPUT)(s->flags & 8 ? "Enabled" : "Disabled")); |
219 | printf(" LIMIT %s\n", EnDis(FLAG_LIMIT_OUTPUT)(s->flags & 16 ? "Enabled" : "Disabled")); |
220 | |
221 | printf("\n"); |
222 | |
223 | } |
224 | } |
225 | |
226 | static di_stream * |
227 | #ifdef CAN_PROTOTYPE |
228 | InitStream(void) |
229 | #else |
230 | InitStream() |
231 | #endif |
232 | { |
233 | di_stream *s ; |
234 | |
235 | ZMALLOC(s, di_stream)((s = (di_stream *)Perl_safesysmalloc(sizeof(di_stream))), (( void)(__builtin_expect(((((( sizeof(size_t) < sizeof(1) || sizeof(di_stream) > ((size_t)1 << 8*(sizeof(size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1)/sizeof(di_stream )) > ((size_t)-1)/sizeof(di_stream))) ? (_Bool)1 : (_Bool) 0),(0)) && (Perl_croak_memory_wrap(),0)), ((void)0), ( void)memset((char*)(s),0,(1) * sizeof(di_stream)))) ; |
236 | |
237 | return s ; |
238 | |
239 | } |
240 | |
241 | static void |
242 | #ifdef CAN_PROTOTYPE |
243 | PostInitStream(di_stream * s, int flags) |
244 | #else |
245 | PostInitStream(s, flags) |
246 | di_stream *s ; |
247 | int flags ; |
248 | #endif |
249 | { |
250 | s->bufsize = 1024 * 16 ; |
251 | s->last_error = 0 ; |
252 | s->flags = flags ; |
253 | } |
254 | |
255 | |
256 | static SV* |
257 | #ifdef CAN_PROTOTYPE |
258 | deRef(SV * sv, const char * string) |
259 | #else |
260 | deRef(sv, string) |
261 | SV * sv ; |
262 | char * string; |
263 | #endif |
264 | { |
265 | dTHXstruct Perl___notused_struct; |
266 | SvGETMAGIC(sv)((void)(__builtin_expect(((((sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( sv))); |
267 | |
268 | if (SvROK(sv)((sv)->sv_flags & 0x00000800)) { |
269 | sv = SvRV(sv)((sv)->sv_u.svu_rv) ; |
270 | SvGETMAGIC(sv)((void)(__builtin_expect(((((sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( sv))); |
271 | switch(SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff))) { |
272 | case SVt_PVAV: |
273 | case SVt_PVHV: |
274 | case SVt_PVCV: |
275 | croakPerl_croak("%s: buffer parameter is not a SCALAR reference", string); |
276 | default: |
277 | break; |
278 | } |
279 | if (SvROK(sv)((sv)->sv_flags & 0x00000800)) |
280 | croakPerl_croak("%s: buffer parameter is a reference to a reference", string) ; |
281 | } |
282 | |
283 | if (!SvOK(sv)((sv)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800 | 0x00001000|0x00002000|0x00004000|0x00008000))) |
284 | sv = sv_2mortal(newSVpv("", 0))Perl_sv_2mortal( Perl_newSVpv( "",0)); |
285 | |
286 | return sv ; |
287 | } |
288 | |
289 | static SV* |
290 | #ifdef CAN_PROTOTYPE |
291 | deRef_l(SV * sv, const char * string) |
292 | #else |
293 | deRef_l(sv, string) |
294 | SV * sv ; |
295 | char * string ; |
296 | #endif |
297 | { |
298 | dTHXstruct Perl___notused_struct; |
299 | bool_Bool wipe = 0 ; |
300 | STRLEN na; |
301 | |
302 | SvGETMAGIC(sv)((void)(__builtin_expect(((((sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( sv))); |
303 | wipe = ! SvOK(sv)((sv)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800 | 0x00001000|0x00002000|0x00004000|0x00008000)) ; |
304 | |
305 | if (SvROK(sv)((sv)->sv_flags & 0x00000800)) { |
306 | sv = SvRV(sv)((sv)->sv_u.svu_rv) ; |
307 | SvGETMAGIC(sv)((void)(__builtin_expect(((((sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( sv))); |
308 | wipe = ! SvOK(sv)((sv)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800 | 0x00001000|0x00002000|0x00004000|0x00008000)) ; |
309 | |
310 | switch(SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff))) { |
311 | case SVt_PVAV: |
312 | case SVt_PVHV: |
313 | case SVt_PVCV: |
314 | croakPerl_croak("%s: buffer parameter is not a SCALAR reference", string); |
315 | default: |
316 | break; |
317 | } |
318 | if (SvROK(sv)((sv)->sv_flags & 0x00000800)) |
319 | croakPerl_croak("%s: buffer parameter is a reference to a reference", string) ; |
320 | } |
321 | |
322 | if (SvREADONLY(sv)((sv)->sv_flags & (0x08000000|0x00010000)) && PL_curcop != &PL_compiling) |
323 | croakPerl_croak("%s: buffer parameter is read-only", string); |
324 | |
325 | SvUPGRADE(sv, SVt_PV)((void)(((svtype)((sv)->sv_flags & 0xff)) >= (SVt_PV ) || (Perl_sv_upgrade( sv,SVt_PV),1))); |
326 | |
327 | if (wipe) |
328 | sv_setpv(sv, "")Perl_sv_setpv( sv,"") ; |
329 | else |
330 | (void)SvPVbyte_force(sv, na)((((sv)->sv_flags & (0x00000400|0x20000000|0x00000100| 0x00000200|0x00000800|0x00008000|(0x08000000|0x00010000|0x00000800 |0x01000000 |0x00800000|0x10000000)|0x00200000)) == 0x00000400 ) ? ((na = ((XPV*) (sv)->sv_any)->xpv_cur), ((sv)->sv_u .svu_pv)) : Perl_sv_pvbyten_force( sv,&na)) ; |
331 | |
332 | return sv ; |
333 | } |
334 | |
335 | |
336 | #include "constants.h" |
337 | |
338 | #line 339 "Bzip2.c" |
339 | #ifndef PERL_UNUSED_VAR |
340 | # define PERL_UNUSED_VAR(var)((void)sizeof(var)) if (0) var = var |
341 | #endif |
342 | |
343 | #ifndef dVARstruct Perl___notused_struct |
344 | # define dVARstruct Perl___notused_struct dNOOPstruct Perl___notused_struct |
345 | #endif |
346 | |
347 | |
348 | /* This stuff is not part of the API! You have been warned. */ |
349 | #ifndef PERL_VERSION_DECIMAL |
350 | # define PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s) (r*1000000 + v*1000 + s) |
351 | #endif |
352 | #ifndef PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) |
353 | # define PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) \ |
354 | PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)(5*1000000 + 32*1000 + 1) |
355 | #endif |
356 | #ifndef PERL_VERSION_GE |
357 | # define PERL_VERSION_GE(r,v,s)((5*1000000 + 32*1000 + 1) >= (r*1000000 + v*1000 + s)) \ |
358 | (PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) >= PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s)) |
359 | #endif |
360 | #ifndef PERL_VERSION_LE |
361 | # define PERL_VERSION_LE(r,v,s)((5*1000000 + 32*1000 + 1) <= (r*1000000 + v*1000 + s)) \ |
362 | (PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) <= PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s)) |
363 | #endif |
364 | |
365 | /* XS_INTERNAL is the explicit static-linkage variant of the default |
366 | * XS macro. |
367 | * |
368 | * XS_EXTERNAL is the same as XS_INTERNAL except it does not include |
369 | * "STATIC", ie. it exports XSUB symbols. You probably don't want that |
370 | * for anything but the BOOT XSUB. |
371 | * |
372 | * See XSUB.h in core! |
373 | */ |
374 | |
375 | |
376 | /* TODO: This might be compatible further back than 5.10.0. */ |
377 | #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)) |
378 | # undef XS_EXTERNAL |
379 | # undef XS_INTERNAL |
380 | # if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING) |
381 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) __declspec(dllexport) XSPROTO(name)void name( CV* cv __attribute__((unused))) |
382 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused))) |
383 | # endif |
384 | # if defined(__SYMBIAN32__) |
385 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) EXPORT_C XSPROTO(name)void name( CV* cv __attribute__((unused))) |
386 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) EXPORT_C STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused))) |
387 | # endif |
388 | # ifndef XS_EXTERNAL |
389 | # if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus) |
390 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) void name(pTHX_ CV* cv __attribute__unused____attribute__((unused))) |
391 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic void name(pTHX_ CV* cv __attribute__unused____attribute__((unused))) |
392 | # else |
393 | # ifdef __cplusplus |
394 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) extern "C" XSPROTO(name)void name( CV* cv __attribute__((unused))) |
395 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) static XSPROTO(name)void name( CV* cv __attribute__((unused))) |
396 | # else |
397 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) XSPROTO(name)void name( CV* cv __attribute__((unused))) |
398 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused))) |
399 | # endif |
400 | # endif |
401 | # endif |
402 | #endif |
403 | |
404 | /* perl >= 5.10.0 && perl <= 5.15.1 */ |
405 | |
406 | |
407 | /* The XS_EXTERNAL macro is used for functions that must not be static |
408 | * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL |
409 | * macro defined, the best we can do is assume XS is the same. |
410 | * Dito for XS_INTERNAL. |
411 | */ |
412 | #ifndef XS_EXTERNAL |
413 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) XS(name)void name( CV* cv __attribute__((unused))) |
414 | #endif |
415 | #ifndef XS_INTERNAL |
416 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) XS(name)void name( CV* cv __attribute__((unused))) |
417 | #endif |
418 | |
419 | /* Now, finally, after all this mess, we want an ExtUtils::ParseXS |
420 | * internal macro that we're free to redefine for varying linkage due |
421 | * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use |
422 | * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to! |
423 | */ |
424 | |
425 | #undef XS_EUPXS |
426 | #if defined(PERL_EUPXS_ALWAYS_EXPORT) |
427 | # define XS_EUPXS(name)static void name( CV* cv __attribute__((unused))) XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) |
428 | #else |
429 | /* default to internal */ |
430 | # define XS_EUPXS(name)static void name( CV* cv __attribute__((unused))) XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) |
431 | #endif |
432 | |
433 | #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0) |
434 | #define PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0) assert(cv)((void)0); assert(params)((void)0) |
435 | |
436 | /* prototype to pass -Wmissing-prototypes */ |
437 | STATICstatic void |
438 | S_croak_xs_usage(const CV *const cv, const char *const params); |
439 | |
440 | STATICstatic void |
441 | S_croak_xs_usage(const CV *const cv, const char *const params) |
442 | { |
443 | const GV *const gv = CvGV(cv)Perl_CvGV( (CV *)(cv)); |
444 | |
445 | PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0); |
446 | |
447 | if (gv) { |
448 | const char *const gvname = GvNAME(gv)((((XPVGV*)(gv)->sv_any)->xiv_u.xivu_namehek))->hek_key; |
449 | const HV *const stash = GvSTASH(gv)(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash); |
450 | 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); |
451 | |
452 | if (hvname) |
453 | Perl_croak_nocontextPerl_croak("Usage: %s::%s(%s)", hvname, gvname, params); |
454 | else |
455 | Perl_croak_nocontextPerl_croak("Usage: %s(%s)", gvname, params); |
456 | } else { |
457 | /* Pants. I don't think that it should be possible to get here. */ |
458 | Perl_croak_nocontextPerl_croak("Usage: CODE(0x%" UVxf"lx" ")(%s)", PTR2UV(cv)(UV)(cv), params); |
459 | } |
460 | } |
461 | #undef PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0) |
462 | |
463 | #define croak_xs_usagePerl_croak_xs_usage S_croak_xs_usage |
464 | |
465 | #endif |
466 | |
467 | /* NOTE: the prototype of newXSproto() is different in versions of perls, |
468 | * so we define a portable version of newXSproto() |
469 | */ |
470 | #ifdef newXS_flags |
471 | #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) |
472 | #else |
473 | #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) |
474 | #endif /* !defined(newXS_flags) */ |
475 | |
476 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) |
477 | # define newXS_deffile(a,b)Perl_newXS_deffile( a,b) Perl_newXS(aTHX_ a,b,file) |
478 | #else |
479 | # define newXS_deffile(a,b)Perl_newXS_deffile( a,b) Perl_newXS_deffile(aTHX_ a,b) |
480 | #endif |
481 | |
482 | #line 483 "Bzip2.c" |
483 | |
484 | /* INCLUDE: Including 'constants.xs' from 'Bzip2.xs' */ |
485 | |
486 | |
487 | XS_EUPXS(XS_Compress__Raw__Bzip2_constant)static void XS_Compress__Raw__Bzip2_constant( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
488 | XS_EUPXS(XS_Compress__Raw__Bzip2_constant)static void XS_Compress__Raw__Bzip2_constant( CV* cv __attribute__ ((unused))) |
489 | { |
490 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
491 | if (items != 1) |
492 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); |
493 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ |
494 | SPsp -= items; |
495 | { |
496 | #line 4 "./constants.xs" |
497 | #ifdef dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()) |
498 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); /* Faster if we have it. */ |
499 | #else |
500 | dTARGETSV * targ = (PL_curpad[PL_op->op_targ]); |
501 | #endif |
502 | STRLEN len; |
503 | int type; |
504 | IV iv = 0; /* avoid uninit var warning */ |
505 | /* NV nv; Uncomment this if you need to return NVs */ |
506 | /* const char *pv; Uncomment this if you need to return PVs */ |
507 | #line 508 "Bzip2.c" |
508 | SV * sv = ST(0)PL_stack_base[ax + (0)] |
509 | ; |
510 | const char * s = SvPV(sv, len)((((sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (sv)->sv_any)->xpv_cur), ((sv)-> sv_u.svu_pv)) : Perl_sv_2pv_flags( sv,&len,2)); |
511 | #line 18 "./constants.xs" |
512 | /* Change this to constant(aTHX_ s, len, &iv, &nv); |
513 | if you need to return both NVs and IVs */ |
514 | type = constant(aTHX_ s, len, &iv); |
515 | /* Return 1 or 2 items. First is error message, or undef if no error. |
516 | Second, if present, is found value */ |
517 | switch (type) { |
518 | case PERL_constant_NOTFOUND1: |
519 | sv = |
520 | sv_2mortal(newSVpvf("%s is not a valid Bzip2 macro", s))Perl_sv_2mortal( Perl_newSVpvf("%s is not a valid Bzip2 macro" , s)); |
521 | PUSHs(sv)(*++sp = (sv)); |
522 | break; |
523 | case PERL_constant_NOTDEF2: |
524 | sv = sv_2mortal(newSVpvf(Perl_sv_2mortal( Perl_newSVpvf( "Your vendor has not defined Bzip2 macro %s, used" , s)) |
525 | "Your vendor has not defined Bzip2 macro %s, used",Perl_sv_2mortal( Perl_newSVpvf( "Your vendor has not defined Bzip2 macro %s, used" , s)) |
526 | s))Perl_sv_2mortal( Perl_newSVpvf( "Your vendor has not defined Bzip2 macro %s, used" , s)); |
527 | PUSHs(sv)(*++sp = (sv)); |
528 | break; |
529 | case PERL_constant_ISIV3: |
530 | EXTEND(SP, 2)do { (void)0; if (__builtin_expect(((((2) < 0 || PL_stack_max - (sp) < (2))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(2) > sizeof(ssize_t) && ((ssize_t) (2) != (2)) ? -1 : (2))); ((void)sizeof(sp)); } } while (0); |
531 | PUSHs(&PL_sv_undef)(*++sp = (&(PL_sv_immortals[1]))); |
532 | PUSHi(iv)do { do { IV TARGi_iv = iv; 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); |
533 | break; |
534 | /* Uncomment this if you need to return NOs |
535 | case PERL_constant_ISNO: |
536 | EXTEND(SP, 2); |
537 | PUSHs(&PL_sv_undef); |
538 | PUSHs(&PL_sv_no); |
539 | break; */ |
540 | /* Uncomment this if you need to return NVs |
541 | case PERL_constant_ISNV: |
542 | EXTEND(SP, 2); |
543 | PUSHs(&PL_sv_undef); |
544 | PUSHn(nv); |
545 | break; */ |
546 | /* Uncomment this if you need to return PVs |
547 | case PERL_constant_ISPV: |
548 | EXTEND(SP, 2); |
549 | PUSHs(&PL_sv_undef); |
550 | PUSHp(pv, strlen(pv)); |
551 | break; */ |
552 | /* Uncomment this if you need to return PVNs |
553 | case PERL_constant_ISPVN: |
554 | EXTEND(SP, 2); |
555 | PUSHs(&PL_sv_undef); |
556 | PUSHp(pv, iv); |
557 | break; */ |
558 | /* Uncomment this if you need to return SVs |
559 | case PERL_constant_ISSV: |
560 | EXTEND(SP, 2); |
561 | PUSHs(&PL_sv_undef); |
562 | PUSHs(sv); |
563 | break; */ |
564 | /* Uncomment this if you need to return UNDEFs |
565 | case PERL_constant_ISUNDEF: |
566 | break; */ |
567 | /* Uncomment this if you need to return UVs |
568 | case PERL_constant_ISUV: |
569 | EXTEND(SP, 2); |
570 | PUSHs(&PL_sv_undef); |
571 | PUSHu((UV)iv); |
572 | break; */ |
573 | /* Uncomment this if you need to return YESs |
574 | case PERL_constant_ISYES: |
575 | EXTEND(SP, 2); |
576 | PUSHs(&PL_sv_undef); |
577 | PUSHs(&PL_sv_yes); |
578 | break; */ |
579 | default: |
580 | sv = sv_2mortal(newSVpvf(Perl_sv_2mortal( Perl_newSVpvf( "Unexpected return type %d while processing Bzip2 macro %s, used" , type, s)) |
581 | "Unexpected return type %d while processing Bzip2 macro %s, used",Perl_sv_2mortal( Perl_newSVpvf( "Unexpected return type %d while processing Bzip2 macro %s, used" , type, s)) |
582 | type, s))Perl_sv_2mortal( Perl_newSVpvf( "Unexpected return type %d while processing Bzip2 macro %s, used" , type, s)); |
583 | PUSHs(sv)(*++sp = (sv)); |
584 | } |
585 | #line 586 "Bzip2.c" |
586 | PUTBACKPL_stack_sp = sp; |
587 | return; |
588 | } |
589 | } |
590 | |
591 | |
592 | /* INCLUDE: Returning to 'Bzip2.xs' from 'constants.xs' */ |
593 | |
594 | #define bzlibversion()BZ2_bzlibVersion() BZ2_bzlibVersion() |
595 | |
596 | XS_EUPXS(XS_Compress__Raw__Bzip2_bzlibversion)static void XS_Compress__Raw__Bzip2_bzlibversion( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
597 | XS_EUPXS(XS_Compress__Raw__Bzip2_bzlibversion)static void XS_Compress__Raw__Bzip2_bzlibversion( CV* cv __attribute__ ((unused))) |
598 | { |
599 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
600 | if (items != 0) |
601 | croak_xs_usagePerl_croak_xs_usage(cv, ""); |
602 | { |
603 | const char * RETVAL; |
604 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
605 | |
606 | RETVAL = bzlibversion()BZ2_bzlibVersion(); |
607 | 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); |
608 | } |
609 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
610 | } |
611 | |
612 | |
613 | XS_EUPXS(XS_Compress__Raw__Bzip2_new)static void XS_Compress__Raw__Bzip2_new( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
614 | XS_EUPXS(XS_Compress__Raw__Bzip2_new)static void XS_Compress__Raw__Bzip2_new( CV* cv __attribute__ ((unused))) |
615 | { |
616 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
617 | if (items < 1 || items > 5) |
618 | croak_xs_usagePerl_croak_xs_usage(cv, "className, appendOut=1, blockSize100k=1, workfactor=0, verbosity=0"); |
619 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ |
620 | SPsp -= items; |
621 | { |
622 | const char * className; |
623 | int appendOut; |
624 | int blockSize100k; |
625 | int workfactor; |
626 | int verbosity; |
627 | |
628 | if (SvOK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00000200 |0x00000400|0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000 ))) |
629 | className = (const char *)SvPVbyte_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x20000000 |0x00200000)) == 0x00000400) ? ((PL_stack_base[ax + (0)])-> sv_u.svu_pv) : Perl_sv_2pvbyte_flags( PL_stack_base[ax + (0)] ,0,2)); |
630 | else |
631 | className = NULL((void*)0) |
632 | ; |
633 | |
634 | if (items < 2) |
635 | appendOut = 1; |
636 | else { |
637 | appendOut = (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)) |
638 | ; |
639 | } |
640 | |
641 | if (items < 3) |
642 | blockSize100k = 1; |
643 | else { |
644 | blockSize100k = (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)) |
645 | ; |
646 | } |
647 | |
648 | if (items < 4) |
649 | workfactor = 0; |
650 | else { |
651 | workfactor = (int)SvIV(ST(3))((((PL_stack_base[ax + (3)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (3)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 3)],2)) |
652 | ; |
653 | } |
654 | |
655 | if (items < 5) |
656 | verbosity = 0; |
657 | else { |
658 | verbosity = (int)SvIV(ST(4))((((PL_stack_base[ax + (4)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (4)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 4)],2)) |
659 | ; |
660 | } |
661 | #line 356 "Bzip2.xs" |
662 | { |
663 | int err ; |
664 | deflateStream s ; |
665 | #if 0 |
666 | /* if (trace) */ |
667 | warnPerl_warn("in Compress::Raw::Bzip2::_new(items=%d,appendOut=%d, blockSize100k=%d, workfactor=%d, verbosity=%d\n", |
668 | items, appendOut, blockSize100k, workfactor, verbosity); |
669 | #endif |
670 | if ((s = InitStream() )) { |
671 | |
672 | err = BZ2_bzCompressInit ( &(s->stream), |
673 | blockSize100k, |
674 | verbosity, |
675 | workfactor ); |
676 | |
677 | if (err != BZ_OK0) { |
678 | Safefree(s)Perl_safesysfree(((void *)(s))) ; |
679 | s = NULL((void*)0) ; |
680 | } |
681 | else { |
682 | int flags = 0 ; |
683 | if (appendOut) |
684 | flags |= FLAG_APPEND_OUTPUT1; |
Value stored to 'flags' is never read | |
685 | PostInitStream(s, appendOut ? FLAG_APPEND_OUTPUT1 :0) ; |
686 | } |
687 | } |
688 | else |
689 | err = BZ_MEM_ERROR(-3) ; |
690 | |
691 | { |
692 | SV* obj = sv_setref_pv(sv_newmortal(), className, (void*)s)Perl_sv_setref_pv( Perl_sv_newmortal(),className,(void*)s); |
693 | XPUSHs(obj)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 = (obj); } while (0); |
694 | } |
695 | if(0) |
696 | { |
697 | SV* obj = sv_2mortal(newSViv(PTR2IV(s)))Perl_sv_2mortal( Perl_newSViv( (IV)(s))) ; |
698 | XPUSHs(obj)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 = (obj); } while (0); |
699 | } |
700 | if (GIMME(PL_op->op_flags & 3 ? ((PL_op->op_flags & 3) == 3 ? 3 : 2) : Perl_dowantarray()) == G_ARRAY3) { |
701 | SV * sv = sv_2mortal(newSViv(err))Perl_sv_2mortal( Perl_newSViv( err)) ; |
702 | setDUALstatus(sv, err)Perl_sv_setnv( sv,(double)err) ; Perl_sv_setpv( sv,((err) ? GetErrorString (err) : "")) ; ( (sv)->sv_flags |= (0x00000200|0x00002000) );; |
703 | XPUSHs(sv)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 = (sv); } while (0) ; |
704 | } |
705 | } |
706 | #line 707 "Bzip2.c" |
707 | PUTBACKPL_stack_sp = sp; |
708 | return; |
709 | } |
710 | } |
711 | |
712 | |
713 | XS_EUPXS(XS_Compress__Raw__Bunzip2_new)static void XS_Compress__Raw__Bunzip2_new( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
714 | XS_EUPXS(XS_Compress__Raw__Bunzip2_new)static void XS_Compress__Raw__Bunzip2_new( CV* cv __attribute__ ((unused))) |
715 | { |
716 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
717 | if (items < 1 || items > 6) |
718 | croak_xs_usagePerl_croak_xs_usage(cv, "className, appendOut=1, consume=1, small=0, verbosity=0, limitOutput=0"); |
719 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ |
720 | SPsp -= items; |
721 | { |
722 | const char* className; |
723 | int appendOut; |
724 | int consume; |
725 | int small; |
726 | int verbosity; |
727 | int limitOutput; |
728 | |
729 | if (SvOK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00000200 |0x00000400|0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000 ))) |
730 | className = (const char *)SvPVbyte_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x20000000 |0x00200000)) == 0x00000400) ? ((PL_stack_base[ax + (0)])-> sv_u.svu_pv) : Perl_sv_2pvbyte_flags( PL_stack_base[ax + (0)] ,0,2)); |
731 | else |
732 | className = NULL((void*)0) |
733 | ; |
734 | |
735 | if (items < 2) |
736 | appendOut = 1; |
737 | else { |
738 | appendOut = (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)) |
739 | ; |
740 | } |
741 | |
742 | if (items < 3) |
743 | consume = 1; |
744 | else { |
745 | consume = (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)) |
746 | ; |
747 | } |
748 | |
749 | if (items < 4) |
750 | small = 0; |
751 | else { |
752 | small = (int)SvIV(ST(3))((((PL_stack_base[ax + (3)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (3)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 3)],2)) |
753 | ; |
754 | } |
755 | |
756 | if (items < 5) |
757 | verbosity = 0; |
758 | else { |
759 | verbosity = (int)SvIV(ST(4))((((PL_stack_base[ax + (4)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (4)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 4)],2)) |
760 | ; |
761 | } |
762 | |
763 | if (items < 6) |
764 | limitOutput = 0; |
765 | else { |
766 | limitOutput = (int)SvIV(ST(5))((((PL_stack_base[ax + (5)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (5)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 5)],2)) |
767 | ; |
768 | } |
769 | #line 412 "Bzip2.xs" |
770 | { |
771 | int err = BZ_OK0 ; |
772 | inflateStream s ; |
773 | #if 0 |
774 | if (trace0) |
775 | warnPerl_warn("in _inflateInit(windowBits=%d, bufsize=%lu, dictionary=%lu\n", |
776 | windowBits, bufsize, (unsigned long)SvCUR(dictionary)((XPV*) (dictionary)->sv_any)->xpv_cur) ; |
777 | #endif |
778 | if ((s = InitStream() )) { |
779 | |
780 | err = BZ2_bzDecompressInit (&(s->stream), verbosity, small); |
781 | if (err != BZ_OK0) { |
782 | Safefree(s)Perl_safesysfree(((void *)(s))) ; |
783 | s = NULL((void*)0) ; |
784 | } |
785 | if (s) { |
786 | int flags = 0; |
787 | if (appendOut) |
788 | flags |= FLAG_APPEND_OUTPUT1; |
789 | if (consume) |
790 | flags |= FLAG_CONSUME_INPUT8; |
791 | if (limitOutput) |
792 | flags |= (FLAG_LIMIT_OUTPUT16|FLAG_CONSUME_INPUT8); |
793 | PostInitStream(s, flags) ; |
794 | } |
795 | } |
796 | else |
797 | err = BZ_MEM_ERROR(-3) ; |
798 | |
799 | { |
800 | SV* obj = sv_setref_pv(sv_newmortal(), className, (void*)s)Perl_sv_setref_pv( Perl_sv_newmortal(),className,(void*)s); |
801 | XPUSHs(obj)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 = (obj); } while (0); |
802 | } |
803 | if (0) |
804 | { |
805 | SV* obj = sv_2mortal(newSViv(PTR2IV(s)))Perl_sv_2mortal( Perl_newSViv( (IV)(s))) ; |
806 | XPUSHs(obj)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 = (obj); } while (0); |
807 | } |
808 | if (GIMME(PL_op->op_flags & 3 ? ((PL_op->op_flags & 3) == 3 ? 3 : 2) : Perl_dowantarray()) == G_ARRAY3) { |
809 | SV * sv = sv_2mortal(newSViv(err))Perl_sv_2mortal( Perl_newSViv( err)) ; |
810 | setDUALstatus(sv, err)Perl_sv_setnv( sv,(double)err) ; Perl_sv_setpv( sv,((err) ? GetErrorString (err) : "")) ; ( (sv)->sv_flags |= (0x00000200|0x00002000) );; |
811 | XPUSHs(sv)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 = (sv); } while (0) ; |
812 | } |
813 | } |
814 | #line 815 "Bzip2.c" |
815 | PUTBACKPL_stack_sp = sp; |
816 | return; |
817 | } |
818 | } |
819 | |
820 | |
821 | XS_EUPXS(XS_Compress__Raw__Bzip2_DispStream)static void XS_Compress__Raw__Bzip2_DispStream( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
822 | XS_EUPXS(XS_Compress__Raw__Bzip2_DispStream)static void XS_Compress__Raw__Bzip2_DispStream( CV* cv __attribute__ ((unused))) |
823 | { |
824 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
825 | if (items < 1 || items > 2) |
826 | croak_xs_usagePerl_croak_xs_usage(cv, "s, message=NULL"); |
827 | { |
828 | Compress__Raw__Bzip2 s; |
829 | const char * message; |
830 | |
831 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bzip2" )) { |
832 | 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)); |
833 | s = INT2PTR(Compress__Raw__Bzip2,tmp)(Compress__Raw__Bzip2)(tmp); |
834 | } |
835 | else |
836 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
837 | "Compress::Raw::Bzip2::DispStream", |
838 | "s", "Compress::Raw::Bzip2") |
839 | ; |
840 | |
841 | if (items < 2) |
842 | message = NULL((void*)0); |
843 | else { |
844 | if (SvOK(ST(1))((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x00000200 |0x00000400|0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000 ))) |
845 | message = (const char *)SvPVbyte_nolen(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000400|0x20000000 |0x00200000)) == 0x00000400) ? ((PL_stack_base[ax + (1)])-> sv_u.svu_pv) : Perl_sv_2pvbyte_flags( PL_stack_base[ax + (1)] ,0,2)); |
846 | else |
847 | message = NULL((void*)0) |
848 | ; |
849 | } |
850 | |
851 | DispStream(s, message); |
852 | } |
853 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); |
854 | } |
855 | |
856 | |
857 | XS_EUPXS(XS_Compress__Raw__Bzip2_bzdeflate)static void XS_Compress__Raw__Bzip2_bzdeflate( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
858 | XS_EUPXS(XS_Compress__Raw__Bzip2_bzdeflate)static void XS_Compress__Raw__Bzip2_bzdeflate( CV* cv __attribute__ ((unused))) |
859 | { |
860 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
861 | if (items != 3) |
862 | croak_xs_usagePerl_croak_xs_usage(cv, "s, buf, output"); |
863 | { |
864 | Compress__Raw__Bzip2 s; |
865 | SV * buf = ST(1)PL_stack_base[ax + (1)] |
866 | ; |
867 | SV * output = ST(2)PL_stack_base[ax + (2)] |
868 | ; |
869 | uInt cur_length; |
870 | uInt increment; |
871 | int RETVAL = 0; |
872 | uInt bufinc; |
873 | STRLEN origlen; |
874 | |
875 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bzip2" )) { |
876 | 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)); |
877 | s = INT2PTR(Compress__Raw__Bzip2,tmp)(Compress__Raw__Bzip2)(tmp); |
878 | } |
879 | else |
880 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
881 | "Compress::Raw::Bzip2::bzdeflate", |
882 | "s", "Compress::Raw::Bzip2") |
883 | ; |
884 | #line 477 "Bzip2.xs" |
885 | bufinc = s->bufsize; |
886 | |
887 | /* If the input buffer is a reference, dereference it */ |
888 | buf = deRef(buf, "deflate") ; |
889 | |
890 | /* initialise the input buffer */ |
891 | #ifdef UTF8_AVAILABLE |
892 | if (DO_UTF8(buf)(((buf)->sv_flags & 0x20000000) && !__builtin_expect (((((PL_curcop)->cop_hints + 0) & 0x00000008) ? (_Bool )1 : (_Bool)0),(0))) && !sv_utf8_downgrade(buf, 1)Perl_sv_utf8_downgrade_flags( buf,1,2)) |
893 | croakPerl_croak("Wide character in " COMPRESS_CLASS"Compress::Raw::Bzip2" "::bzdeflate input parameter"); |
894 | #endif |
895 | s->stream.next_in = (char*)SvPV_nomg(buf, origlen)((((buf)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((origlen = ((XPV*) (buf)->sv_any)->xpv_cur), ((buf )->sv_u.svu_pv)) : Perl_sv_2pv_flags( buf,&origlen,0)) ; |
896 | s->stream.avail_in = (unsigned int) origlen; |
897 | |
898 | /* and retrieve the output buffer */ |
899 | output = deRef_l(output, "deflate") ; |
900 | #ifdef UTF8_AVAILABLE |
901 | if (DO_UTF8(output)(((output)->sv_flags & 0x20000000) && !__builtin_expect (((((PL_curcop)->cop_hints + 0) & 0x00000008) ? (_Bool )1 : (_Bool)0),(0))) && !sv_utf8_downgrade(output, 1)Perl_sv_utf8_downgrade_flags( output,1,2)) |
902 | croakPerl_croak("Wide character in " COMPRESS_CLASS"Compress::Raw::Bzip2" "::bzdeflate output parameter"); |
903 | #endif |
904 | |
905 | if((s->flags & FLAG_APPEND_OUTPUT1) != FLAG_APPEND_OUTPUT1) { |
906 | SvCUR_set(output, 0)do { ((void)0); ((void)0); ((void)0); (((XPV*) (output)->sv_any )->xpv_cur = (0)); } while (0); |
907 | /* sv_setpvn(output, "", 0); */ |
908 | } |
909 | cur_length = SvCUR(output)((XPV*) (output)->sv_any)->xpv_cur ; |
910 | s->stream.next_out = (char*) SvPVX(output)((output)->sv_u.svu_pv) + cur_length; |
911 | increment = SvLEN(output)((XPV*) (output)->sv_any)->xpv_len_u.xpvlenu_len - cur_length; |
912 | s->stream.avail_out = increment; |
913 | while (s->stream.avail_in != 0) { |
914 | |
915 | if (s->stream.avail_out == 0) { |
916 | /* out of space in the output buffer so make it bigger */ |
917 | s->stream.next_out = Sv_Grow(output, SvLEN(output) + bufinc)Perl_sv_grow( output,((XPV*) (output)->sv_any)->xpv_len_u .xpvlenu_len + bufinc) ; |
918 | cur_length += increment ; |
919 | s->stream.next_out += cur_length ; |
920 | increment = bufinc ; |
921 | s->stream.avail_out = increment; |
922 | bufinc *= 2 ; |
923 | } |
924 | |
925 | RETVAL = BZ2_bzCompress(&(s->stream), BZ_RUN0); |
926 | if (RETVAL != BZ_RUN_OK1) |
927 | break; |
928 | } |
929 | |
930 | s->compressedBytes += cur_length + increment - s->stream.avail_out ; |
931 | s->uncompressedBytes += origlen - s->stream.avail_in ; |
932 | |
933 | s->last_error = RETVAL ; |
934 | if (RETVAL == BZ_RUN_OK1) { |
935 | SvPOK_only(output)( (output)->sv_flags &= ~((0x00000100|0x00000200|0x00000400 |0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000)| 0x80000000 |0x20000000), (output)->sv_flags |= (0x00000400|0x00004000 )); |
936 | SvCUR_set(output, cur_length + increment - s->stream.avail_out)do { ((void)0); ((void)0); ((void)0); (((XPV*) (output)->sv_any )->xpv_cur = (cur_length + increment - s->stream.avail_out )); } while (0) ; |
937 | SvSETMAGIC(output)do { if (__builtin_expect(((((output)->sv_flags & 0x00400000 )) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( output); } while (0); |
938 | } |
939 | #line 940 "Bzip2.c" |
940 | { |
941 | SV * RETVALSV; |
942 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
943 | setDUALstatus(RETVALSV, RETVAL)Perl_sv_setnv( RETVALSV,(double)RETVAL) ; Perl_sv_setpv( RETVALSV ,((RETVAL) ? GetErrorString(RETVAL) : "")) ; ( (RETVALSV)-> sv_flags |= (0x00000200|0x00002000)); ; |
944 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
945 | } |
946 | } |
947 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
948 | } |
949 | |
950 | |
951 | XS_EUPXS(XS_Compress__Raw__Bzip2_DESTROY)static void XS_Compress__Raw__Bzip2_DESTROY( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
952 | XS_EUPXS(XS_Compress__Raw__Bzip2_DESTROY)static void XS_Compress__Raw__Bzip2_DESTROY( CV* cv __attribute__ ((unused))) |
953 | { |
954 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
955 | if (items != 1) |
956 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
957 | { |
958 | Compress__Raw__Bzip2 s; |
959 | |
960 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) { |
961 | 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)); |
962 | s = INT2PTR(Compress__Raw__Bzip2,tmp)(Compress__Raw__Bzip2)(tmp); |
963 | } |
964 | else |
965 | Perl_croak_nocontextPerl_croak("%s: %s is not a reference", |
966 | "Compress::Raw::Bzip2::DESTROY", |
967 | "s") |
968 | ; |
969 | #line 539 "Bzip2.xs" |
970 | BZ2_bzCompressEnd(&s->stream) ; |
971 | Safefree(s)Perl_safesysfree(((void *)(s))) ; |
972 | #line 973 "Bzip2.c" |
973 | } |
974 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); |
975 | } |
976 | |
977 | |
978 | XS_EUPXS(XS_Compress__Raw__Bzip2_bzclose)static void XS_Compress__Raw__Bzip2_bzclose( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
979 | XS_EUPXS(XS_Compress__Raw__Bzip2_bzclose)static void XS_Compress__Raw__Bzip2_bzclose( CV* cv __attribute__ ((unused))) |
980 | { |
981 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
982 | if (items != 2) |
983 | croak_xs_usagePerl_croak_xs_usage(cv, "s, output"); |
984 | { |
985 | Compress__Raw__Bzip2 s; |
986 | SV * output = ST(1)PL_stack_base[ax + (1)] |
987 | ; |
988 | uInt cur_length; |
989 | uInt increment; |
990 | uInt bufinc; |
991 | DualType RETVAL; |
992 | |
993 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bzip2" )) { |
994 | 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)); |
995 | s = INT2PTR(Compress__Raw__Bzip2,tmp)(Compress__Raw__Bzip2)(tmp); |
996 | } |
997 | else |
998 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
999 | "Compress::Raw::Bzip2::bzclose", |
1000 | "s", "Compress::Raw::Bzip2") |
1001 | ; |
1002 | #line 551 "Bzip2.xs" |
1003 | bufinc = s->bufsize; |
1004 | |
1005 | s->stream.avail_in = 0; /* should be zero already anyway */ |
1006 | |
1007 | /* retrieve the output buffer */ |
1008 | output = deRef_l(output, "close") ; |
1009 | #ifdef UTF8_AVAILABLE |
1010 | if (DO_UTF8(output)(((output)->sv_flags & 0x20000000) && !__builtin_expect (((((PL_curcop)->cop_hints + 0) & 0x00000008) ? (_Bool )1 : (_Bool)0),(0))) && !sv_utf8_downgrade(output, 1)Perl_sv_utf8_downgrade_flags( output,1,2)) |
1011 | croakPerl_croak("Wide character in " COMPRESS_CLASS"Compress::Raw::Bzip2" "::bzclose input parameter"); |
1012 | #endif |
1013 | if((s->flags & FLAG_APPEND_OUTPUT1) != FLAG_APPEND_OUTPUT1) { |
1014 | SvCUR_set(output, 0)do { ((void)0); ((void)0); ((void)0); (((XPV*) (output)->sv_any )->xpv_cur = (0)); } while (0); |
1015 | /* sv_setpvn(output, "", 0); */ |
1016 | } |
1017 | cur_length = SvCUR(output)((XPV*) (output)->sv_any)->xpv_cur ; |
1018 | s->stream.next_out = (char*) SvPVX(output)((output)->sv_u.svu_pv) + cur_length; |
1019 | increment = SvLEN(output)((XPV*) (output)->sv_any)->xpv_len_u.xpvlenu_len - cur_length; |
1020 | s->stream.avail_out = increment; |
1021 | |
1022 | for (;;) { |
1023 | if (s->stream.avail_out == 0) { |
1024 | /* consumed all the available output, so extend it */ |
1025 | s->stream.next_out = Sv_Grow(output, SvLEN(output) + bufinc)Perl_sv_grow( output,((XPV*) (output)->sv_any)->xpv_len_u .xpvlenu_len + bufinc) ; |
1026 | cur_length += increment ; |
1027 | s->stream.next_out += cur_length ; |
1028 | increment = bufinc ; |
1029 | s->stream.avail_out = increment; |
1030 | bufinc *= 2 ; |
1031 | } |
1032 | RETVAL = BZ2_bzCompress(&(s->stream), BZ_FINISH2); |
1033 | |
1034 | /* deflate has finished flushing only when it hasn't used up |
1035 | * all the available space in the output buffer: |
1036 | */ |
1037 | /* if (s->stream.avail_out != 0 || RETVAL < 0 ) */ |
1038 | if (RETVAL == BZ_STREAM_END4 || RETVAL < 0 ) |
1039 | break; |
1040 | } |
1041 | |
1042 | /* RETVAL = (RETVAL == BZ_STREAM_END ? BZ_OK : RETVAL) ; */ |
1043 | s->last_error = RETVAL ; |
1044 | |
1045 | s->compressedBytes += cur_length + increment - s->stream.avail_out ; |
1046 | |
1047 | if (RETVAL == BZ_STREAM_END4) { |
1048 | SvPOK_only(output)( (output)->sv_flags &= ~((0x00000100|0x00000200|0x00000400 |0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000)| 0x80000000 |0x20000000), (output)->sv_flags |= (0x00000400|0x00004000 )); |
1049 | SvCUR_set(output, cur_length + increment - s->stream.avail_out)do { ((void)0); ((void)0); ((void)0); (((XPV*) (output)->sv_any )->xpv_cur = (cur_length + increment - s->stream.avail_out )); } while (0) ; |
1050 | SvSETMAGIC(output)do { if (__builtin_expect(((((output)->sv_flags & 0x00400000 )) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( output); } while (0); |
1051 | } |
1052 | #line 1053 "Bzip2.c" |
1053 | { |
1054 | SV * RETVALSV; |
1055 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1056 | setDUALstatus(RETVALSV, RETVAL)Perl_sv_setnv( RETVALSV,(double)RETVAL) ; Perl_sv_setpv( RETVALSV ,((RETVAL) ? GetErrorString(RETVAL) : "")) ; ( (RETVALSV)-> sv_flags |= (0x00000200|0x00002000)); ; |
1057 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1058 | } |
1059 | } |
1060 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1061 | } |
1062 | |
1063 | |
1064 | XS_EUPXS(XS_Compress__Raw__Bzip2_bzflush)static void XS_Compress__Raw__Bzip2_bzflush( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1065 | XS_EUPXS(XS_Compress__Raw__Bzip2_bzflush)static void XS_Compress__Raw__Bzip2_bzflush( CV* cv __attribute__ ((unused))) |
1066 | { |
1067 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1068 | if (items != 2) |
1069 | croak_xs_usagePerl_croak_xs_usage(cv, "s, output"); |
1070 | { |
1071 | Compress__Raw__Bzip2 s; |
1072 | SV * output = ST(1)PL_stack_base[ax + (1)] |
1073 | ; |
1074 | uInt cur_length; |
1075 | uInt increment; |
1076 | uInt bufinc; |
1077 | DualType RETVAL; |
1078 | |
1079 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bzip2" )) { |
1080 | 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)); |
1081 | s = INT2PTR(Compress__Raw__Bzip2,tmp)(Compress__Raw__Bzip2)(tmp); |
1082 | } |
1083 | else |
1084 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1085 | "Compress::Raw::Bzip2::bzflush", |
1086 | "s", "Compress::Raw::Bzip2") |
1087 | ; |
1088 | #line 612 "Bzip2.xs" |
1089 | bufinc = s->bufsize; |
1090 | |
1091 | s->stream.avail_in = 0; /* should be zero already anyway */ |
1092 | |
1093 | /* retrieve the output buffer */ |
1094 | output = deRef_l(output, "close") ; |
1095 | #ifdef UTF8_AVAILABLE |
1096 | if (DO_UTF8(output)(((output)->sv_flags & 0x20000000) && !__builtin_expect (((((PL_curcop)->cop_hints + 0) & 0x00000008) ? (_Bool )1 : (_Bool)0),(0))) && !sv_utf8_downgrade(output, 1)Perl_sv_utf8_downgrade_flags( output,1,2)) |
1097 | croakPerl_croak("Wide character in " COMPRESS_CLASS"Compress::Raw::Bzip2" "::bzflush input parameter"); |
1098 | #endif |
1099 | if((s->flags & FLAG_APPEND_OUTPUT1) != FLAG_APPEND_OUTPUT1) { |
1100 | SvCUR_set(output, 0)do { ((void)0); ((void)0); ((void)0); (((XPV*) (output)->sv_any )->xpv_cur = (0)); } while (0); |
1101 | /* sv_setpvn(output, "", 0); */ |
1102 | } |
1103 | cur_length = SvCUR(output)((XPV*) (output)->sv_any)->xpv_cur ; |
1104 | s->stream.next_out = (char*) SvPVX(output)((output)->sv_u.svu_pv) + cur_length; |
1105 | increment = SvLEN(output)((XPV*) (output)->sv_any)->xpv_len_u.xpvlenu_len - cur_length; |
1106 | s->stream.avail_out = increment; |
1107 | |
1108 | for (;;) { |
1109 | if (s->stream.avail_out == 0) { |
1110 | /* consumed all the available output, so extend it */ |
1111 | s->stream.next_out = Sv_Grow(output, SvLEN(output) + bufinc)Perl_sv_grow( output,((XPV*) (output)->sv_any)->xpv_len_u .xpvlenu_len + bufinc) ; |
1112 | cur_length += increment ; |
1113 | s->stream.next_out += cur_length ; |
1114 | increment = bufinc ; |
1115 | s->stream.avail_out = increment; |
1116 | bufinc *= 2 ; |
1117 | } |
1118 | RETVAL = BZ2_bzCompress(&(s->stream), BZ_FLUSH1); |
1119 | |
1120 | if (RETVAL == BZ_RUN_OK1 || RETVAL < 0) |
1121 | break; |
1122 | |
1123 | /* deflate has finished flushing only when it hasn't used up |
1124 | * all the available space in the output buffer: |
1125 | */ |
1126 | /* RETVAL == if (s->stream.avail_out != 0 || RETVAL < 0 ) |
1127 | break; */ |
1128 | } |
1129 | |
1130 | /* RETVAL = (RETVAL == BZ_STREAM_END ? BZ_OK : RETVAL) ; */ |
1131 | s->last_error = RETVAL ; |
1132 | |
1133 | s->compressedBytes += cur_length + increment - s->stream.avail_out ; |
1134 | |
1135 | if (RETVAL == BZ_RUN_OK1) { |
1136 | SvPOK_only(output)( (output)->sv_flags &= ~((0x00000100|0x00000200|0x00000400 |0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000)| 0x80000000 |0x20000000), (output)->sv_flags |= (0x00000400|0x00004000 )); |
1137 | SvCUR_set(output, cur_length + increment - s->stream.avail_out)do { ((void)0); ((void)0); ((void)0); (((XPV*) (output)->sv_any )->xpv_cur = (cur_length + increment - s->stream.avail_out )); } while (0) ; |
1138 | SvSETMAGIC(output)do { if (__builtin_expect(((((output)->sv_flags & 0x00400000 )) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( output); } while (0); |
1139 | } |
1140 | #line 1141 "Bzip2.c" |
1141 | { |
1142 | SV * RETVALSV; |
1143 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1144 | setDUALstatus(RETVALSV, RETVAL)Perl_sv_setnv( RETVALSV,(double)RETVAL) ; Perl_sv_setpv( RETVALSV ,((RETVAL) ? GetErrorString(RETVAL) : "")) ; ( (RETVALSV)-> sv_flags |= (0x00000200|0x00002000)); ; |
1145 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1146 | } |
1147 | } |
1148 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1149 | } |
1150 | |
1151 | |
1152 | XS_EUPXS(XS_Compress__Raw__Bzip2_total_in_lo32)static void XS_Compress__Raw__Bzip2_total_in_lo32( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1153 | XS_EUPXS(XS_Compress__Raw__Bzip2_total_in_lo32)static void XS_Compress__Raw__Bzip2_total_in_lo32( CV* cv __attribute__ ((unused))) |
1154 | { |
1155 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1156 | if (items != 1) |
1157 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
1158 | { |
1159 | Compress__Raw__Bzip2 s; |
1160 | uLong RETVAL; |
1161 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1162 | |
1163 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bzip2" )) { |
1164 | 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)); |
1165 | s = INT2PTR(Compress__Raw__Bzip2,tmp)(Compress__Raw__Bzip2)(tmp); |
1166 | } |
1167 | else |
1168 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1169 | "Compress::Raw::Bzip2::total_in_lo32", |
1170 | "s", "Compress::Raw::Bzip2") |
1171 | ; |
1172 | #line 670 "Bzip2.xs" |
1173 | RETVAL = s->stream.total_in_lo32 ; |
1174 | #line 1175 "Bzip2.c" |
1175 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((IV)RETVAL)do { do { UV TARGu_uv = (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) & (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); |
1176 | } |
1177 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1178 | } |
1179 | |
1180 | |
1181 | XS_EUPXS(XS_Compress__Raw__Bzip2_total_out_lo32)static void XS_Compress__Raw__Bzip2_total_out_lo32( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1182 | XS_EUPXS(XS_Compress__Raw__Bzip2_total_out_lo32)static void XS_Compress__Raw__Bzip2_total_out_lo32( CV* cv __attribute__ ((unused))) |
1183 | { |
1184 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1185 | if (items != 1) |
1186 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
1187 | { |
1188 | Compress__Raw__Bzip2 s; |
1189 | uLong RETVAL; |
1190 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1191 | |
1192 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bzip2" )) { |
1193 | 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)); |
1194 | s = INT2PTR(Compress__Raw__Bzip2,tmp)(Compress__Raw__Bzip2)(tmp); |
1195 | } |
1196 | else |
1197 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1198 | "Compress::Raw::Bzip2::total_out_lo32", |
1199 | "s", "Compress::Raw::Bzip2") |
1200 | ; |
1201 | #line 678 "Bzip2.xs" |
1202 | RETVAL = s->stream.total_out_lo32 ; |
1203 | #line 1204 "Bzip2.c" |
1204 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((IV)RETVAL)do { do { UV TARGu_uv = (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) & (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); |
1205 | } |
1206 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1207 | } |
1208 | |
1209 | |
1210 | XS_EUPXS(XS_Compress__Raw__Bzip2_compressedBytes)static void XS_Compress__Raw__Bzip2_compressedBytes( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1211 | XS_EUPXS(XS_Compress__Raw__Bzip2_compressedBytes)static void XS_Compress__Raw__Bzip2_compressedBytes( CV* cv __attribute__ ((unused))) |
1212 | { |
1213 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1214 | if (items != 1) |
1215 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
1216 | { |
1217 | Compress__Raw__Bzip2 s; |
1218 | uLong RETVAL; |
1219 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1220 | |
1221 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bzip2" )) { |
1222 | 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)); |
1223 | s = INT2PTR(Compress__Raw__Bzip2,tmp)(Compress__Raw__Bzip2)(tmp); |
1224 | } |
1225 | else |
1226 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1227 | "Compress::Raw::Bzip2::compressedBytes", |
1228 | "s", "Compress::Raw::Bzip2") |
1229 | ; |
1230 | #line 686 "Bzip2.xs" |
1231 | RETVAL = s->compressedBytes; |
1232 | #line 1233 "Bzip2.c" |
1233 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((IV)RETVAL)do { do { UV TARGu_uv = (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) & (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); |
1234 | } |
1235 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1236 | } |
1237 | |
1238 | |
1239 | XS_EUPXS(XS_Compress__Raw__Bzip2_uncompressedBytes)static void XS_Compress__Raw__Bzip2_uncompressedBytes( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ |
1240 | XS_EUPXS(XS_Compress__Raw__Bzip2_uncompressedBytes)static void XS_Compress__Raw__Bzip2_uncompressedBytes( CV* cv __attribute__((unused))) |
1241 | { |
1242 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1243 | if (items != 1) |
1244 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
1245 | { |
1246 | Compress__Raw__Bzip2 s; |
1247 | uLong RETVAL; |
1248 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1249 | |
1250 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bzip2" )) { |
1251 | 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)); |
1252 | s = INT2PTR(Compress__Raw__Bzip2,tmp)(Compress__Raw__Bzip2)(tmp); |
1253 | } |
1254 | else |
1255 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1256 | "Compress::Raw::Bzip2::uncompressedBytes", |
1257 | "s", "Compress::Raw::Bzip2") |
1258 | ; |
1259 | #line 694 "Bzip2.xs" |
1260 | RETVAL = s->uncompressedBytes; |
1261 | #line 1262 "Bzip2.c" |
1262 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((IV)RETVAL)do { do { UV TARGu_uv = (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) & (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); |
1263 | } |
1264 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1265 | } |
1266 | |
1267 | |
1268 | XS_EUPXS(XS_Compress__Raw__Bunzip2_DispStream)static void XS_Compress__Raw__Bunzip2_DispStream( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1269 | XS_EUPXS(XS_Compress__Raw__Bunzip2_DispStream)static void XS_Compress__Raw__Bunzip2_DispStream( CV* cv __attribute__ ((unused))) |
1270 | { |
1271 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1272 | if (items < 1 || items > 2) |
1273 | croak_xs_usagePerl_croak_xs_usage(cv, "s, message=NULL"); |
1274 | { |
1275 | Compress__Raw__Bunzip2 s; |
1276 | const char * message; |
1277 | |
1278 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bunzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bunzip2" )) { |
1279 | 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)); |
1280 | s = INT2PTR(Compress__Raw__Bunzip2,tmp)(Compress__Raw__Bunzip2)(tmp); |
1281 | } |
1282 | else |
1283 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1284 | "Compress::Raw::Bunzip2::DispStream", |
1285 | "s", "Compress::Raw::Bunzip2") |
1286 | ; |
1287 | |
1288 | if (items < 2) |
1289 | message = NULL((void*)0); |
1290 | else { |
1291 | if (SvOK(ST(1))((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x00000200 |0x00000400|0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000 ))) |
1292 | message = (const char *)SvPVbyte_nolen(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000400|0x20000000 |0x00200000)) == 0x00000400) ? ((PL_stack_base[ax + (1)])-> sv_u.svu_pv) : Perl_sv_2pvbyte_flags( PL_stack_base[ax + (1)] ,0,2)); |
1293 | else |
1294 | message = NULL((void*)0) |
1295 | ; |
1296 | } |
1297 | |
1298 | DispStream(s, message); |
1299 | } |
1300 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); |
1301 | } |
1302 | |
1303 | |
1304 | XS_EUPXS(XS_Compress__Raw__Bunzip2_bzinflate)static void XS_Compress__Raw__Bunzip2_bzinflate( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1305 | XS_EUPXS(XS_Compress__Raw__Bunzip2_bzinflate)static void XS_Compress__Raw__Bunzip2_bzinflate( CV* cv __attribute__ ((unused))) |
1306 | { |
1307 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1308 | if (items != 3) |
1309 | croak_xs_usagePerl_croak_xs_usage(cv, "s, buf, output"); |
1310 | { |
1311 | Compress__Raw__Bunzip2 s; |
1312 | SV * buf = ST(1)PL_stack_base[ax + (1)] |
1313 | ; |
1314 | SV * output = ST(2)PL_stack_base[ax + (2)] |
1315 | ; |
1316 | uInt cur_length = 0; |
1317 | uInt prefix_length = 0; |
1318 | uInt increment = 0; |
1319 | uInt bufinc; |
1320 | STRLEN na; |
1321 | STRLEN origlen; |
1322 | #line 718 "Bzip2.xs" |
1323 | #ifdef UTF8_AVAILABLE |
1324 | bool_Bool out_utf8 = FALSE(0); |
1325 | #endif |
1326 | #line 1327 "Bzip2.c" |
1327 | DualType RETVAL; |
1328 | |
1329 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bunzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bunzip2" )) { |
1330 | 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)); |
1331 | s = INT2PTR(Compress__Raw__Bunzip2,tmp)(Compress__Raw__Bunzip2)(tmp); |
1332 | } |
1333 | else |
1334 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1335 | "Compress::Raw::Bunzip2::bzinflate", |
1336 | "s", "Compress::Raw::Bunzip2") |
1337 | ; |
1338 | #line 722 "Bzip2.xs" |
1339 | bufinc = s->bufsize; |
1340 | /* If the buffer is a reference, dereference it */ |
1341 | buf = deRef(buf, "bzinflate") ; |
1342 | |
1343 | if (s->flags & FLAG_CONSUME_INPUT8) { |
1344 | if (SvREADONLY(buf)((buf)->sv_flags & (0x08000000|0x00010000))) |
1345 | croakPerl_croak(UNCOMPRESS_CLASS"Compress::Raw::Bunzip2" "::bzinflate input parameter cannot be read-only when ConsumeInput is specified"); |
1346 | SvPV_force(buf, na)((((buf)->sv_flags & (0x00000400|0x00000100|0x00000200 |0x00000800|0x00008000|(0x08000000|0x00010000|0x00000800|0x01000000 |0x00800000|0x10000000)|0x00200000)) == 0x00000400) ? ((na = ((XPV*) (buf)->sv_any)->xpv_cur), ((buf)->sv_u.svu_pv )) : Perl_sv_pvn_force_flags( buf,&na,2)); |
1347 | } |
1348 | #ifdef UTF8_AVAILABLE |
1349 | if (DO_UTF8(buf)(((buf)->sv_flags & 0x20000000) && !__builtin_expect (((((PL_curcop)->cop_hints + 0) & 0x00000008) ? (_Bool )1 : (_Bool)0),(0))) && !sv_utf8_downgrade(buf, 1)Perl_sv_utf8_downgrade_flags( buf,1,2)) |
1350 | croakPerl_croak("Wide character in " UNCOMPRESS_CLASS"Compress::Raw::Bunzip2" "::bzinflate input parameter"); |
1351 | #endif |
1352 | |
1353 | /* initialise the input buffer */ |
1354 | s->stream.next_in = (char*)SvPV_nomg(buf, origlen)((((buf)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((origlen = ((XPV*) (buf)->sv_any)->xpv_cur), ((buf )->sv_u.svu_pv)) : Perl_sv_2pv_flags( buf,&origlen,0)) ; |
1355 | s->stream.avail_in = (unsigned int) origlen; |
1356 | |
1357 | /* and retrieve the output buffer */ |
1358 | output = deRef_l(output, "bzinflate") ; |
1359 | #ifdef UTF8_AVAILABLE |
1360 | if (DO_UTF8(output)(((output)->sv_flags & 0x20000000) && !__builtin_expect (((((PL_curcop)->cop_hints + 0) & 0x00000008) ? (_Bool )1 : (_Bool)0),(0)))) |
1361 | out_utf8 = TRUE(1) ; |
1362 | if (DO_UTF8(output)(((output)->sv_flags & 0x20000000) && !__builtin_expect (((((PL_curcop)->cop_hints + 0) & 0x00000008) ? (_Bool )1 : (_Bool)0),(0))) && !sv_utf8_downgrade(output, 1)Perl_sv_utf8_downgrade_flags( output,1,2)) |
1363 | croakPerl_croak("Wide character in " UNCOMPRESS_CLASS"Compress::Raw::Bunzip2" "::bzinflate output parameter"); |
1364 | #endif |
1365 | if((s->flags & FLAG_APPEND_OUTPUT1) != FLAG_APPEND_OUTPUT1) { |
1366 | SvCUR_set(output, 0)do { ((void)0); ((void)0); ((void)0); (((XPV*) (output)->sv_any )->xpv_cur = (0)); } while (0); |
1367 | } |
1368 | |
1369 | /* Assume no output buffer - the code below will update if there is any available */ |
1370 | s->stream.avail_out = 0; |
1371 | |
1372 | if (SvLEN(output)((XPV*) (output)->sv_any)->xpv_len_u.xpvlenu_len) { |
1373 | prefix_length = cur_length = SvCUR(output)((XPV*) (output)->sv_any)->xpv_cur ; |
1374 | |
1375 | if (s->flags & FLAG_LIMIT_OUTPUT16 && SvLEN(output)((XPV*) (output)->sv_any)->xpv_len_u.xpvlenu_len - cur_length - 1 < bufinc) |
1376 | { |
1377 | Sv_Grow(output, bufinc + cur_length + 1)Perl_sv_grow( output,bufinc + cur_length + 1) ; |
1378 | } |
1379 | |
1380 | /* Only setup the stream output pointers if there is spare |
1381 | capacity in the outout SV |
1382 | */ |
1383 | if (SvLEN(output)((XPV*) (output)->sv_any)->xpv_len_u.xpvlenu_len > cur_length + 1) |
1384 | { |
1385 | s->stream.next_out = (char*) SvPVX(output)((output)->sv_u.svu_pv) + cur_length; |
1386 | increment = SvLEN(output)((XPV*) (output)->sv_any)->xpv_len_u.xpvlenu_len - cur_length - 1; |
1387 | s->stream.avail_out = increment; |
1388 | } |
1389 | } |
1390 | |
1391 | s->bytesInflated = 0; |
1392 | |
1393 | RETVAL = BZ_OK0; |
1394 | |
1395 | while (1) { |
1396 | |
1397 | if (s->stream.avail_out == 0) { |
1398 | /* out of space in the output buffer so make it bigger */ |
1399 | s->stream.next_out = Sv_Grow(output, SvLEN(output) + bufinc + 1)Perl_sv_grow( output,((XPV*) (output)->sv_any)->xpv_len_u .xpvlenu_len + bufinc + 1) ; |
1400 | cur_length += increment ; |
1401 | s->stream.next_out += cur_length ; |
1402 | increment = bufinc ; |
1403 | s->stream.avail_out = increment; |
1404 | bufinc *= 2 ; |
1405 | } |
1406 | |
1407 | /* DispStream(s, "pre"); */ |
1408 | RETVAL = BZ2_bzDecompress (&(s->stream)); |
1409 | |
1410 | /* |
1411 | printf("Status %d\n", RETVAL); |
1412 | DispStream(s, "apres"); |
1413 | */ |
1414 | if (RETVAL != BZ_OK0 || s->flags & FLAG_LIMIT_OUTPUT16) |
1415 | break ; |
1416 | |
1417 | if (s->stream.avail_out == 0) |
1418 | continue ; |
1419 | |
1420 | if (s->stream.avail_in == 0) { |
1421 | RETVAL = BZ_OK0 ; |
1422 | break ; |
1423 | } |
1424 | |
1425 | } |
1426 | |
1427 | s->last_error = RETVAL ; |
1428 | if (RETVAL == BZ_OK0 || RETVAL == BZ_STREAM_END4) { |
1429 | unsigned in ; |
1430 | |
1431 | s->bytesInflated = cur_length + increment - s->stream.avail_out - prefix_length; |
1432 | s->uncompressedBytes += s->bytesInflated ; |
1433 | s->compressedBytes += origlen - s->stream.avail_in ; |
1434 | |
1435 | SvPOK_only(output)( (output)->sv_flags &= ~((0x00000100|0x00000200|0x00000400 |0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000)| 0x80000000 |0x20000000), (output)->sv_flags |= (0x00000400|0x00004000 )); |
1436 | SvCUR_set(output, prefix_length + s->bytesInflated)do { ((void)0); ((void)0); ((void)0); (((XPV*) (output)->sv_any )->xpv_cur = (prefix_length + s->bytesInflated)); } while (0) ; |
1437 | *SvEND(output)((output)->sv_u.svu_pv + ((XPV*)(output)->sv_any)->xpv_cur ) = '\0'; |
1438 | #ifdef UTF8_AVAILABLE |
1439 | if (out_utf8) |
1440 | sv_utf8_upgrade(output)Perl_sv_utf8_upgrade_flags_grow( output,2,0); |
1441 | #endif |
1442 | SvSETMAGIC(output)do { if (__builtin_expect(((((output)->sv_flags & 0x00400000 )) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( output); } while (0); |
1443 | |
1444 | /* fix the input buffer */ |
1445 | if (s->flags & FLAG_CONSUME_INPUT8) { |
1446 | in = s->stream.avail_in ; |
1447 | SvCUR_set(buf, in)do { ((void)0); ((void)0); ((void)0); (((XPV*) (buf)->sv_any )->xpv_cur = (in)); } while (0) ; |
1448 | if (in) |
1449 | Move(s->stream.next_in, SvPVX(buf), in, char)((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(in) || sizeof(char) > ((size_t)1 << 8*(sizeof(size_t) - sizeof(in)))) ? (size_t)(in) : ((size_t)-1)/sizeof(char)) > ((size_t)-1)/sizeof(char))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap(),0)), ((void)0), ((void)0), (void)memmove ((char*)(((buf)->sv_u.svu_pv)),(const char*)(s->stream. next_in), (in) * sizeof(char))) ; |
1450 | *SvEND(buf)((buf)->sv_u.svu_pv + ((XPV*)(buf)->sv_any)->xpv_cur ) = '\0'; |
1451 | SvSETMAGIC(buf)do { if (__builtin_expect(((((buf)->sv_flags & 0x00400000 )) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( buf); } while (0 ); |
1452 | } |
1453 | } |
1454 | #line 1455 "Bzip2.c" |
1455 | { |
1456 | SV * RETVALSV; |
1457 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); |
1458 | setDUALstatus(RETVALSV, RETVAL)Perl_sv_setnv( RETVALSV,(double)RETVAL) ; Perl_sv_setpv( RETVALSV ,((RETVAL) ? GetErrorString(RETVAL) : "")) ; ( (RETVALSV)-> sv_flags |= (0x00000200|0x00002000)); ; |
1459 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; |
1460 | } |
1461 | } |
1462 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1463 | } |
1464 | |
1465 | |
1466 | XS_EUPXS(XS_Compress__Raw__Bunzip2_inflateCount)static void XS_Compress__Raw__Bunzip2_inflateCount( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1467 | XS_EUPXS(XS_Compress__Raw__Bunzip2_inflateCount)static void XS_Compress__Raw__Bunzip2_inflateCount( CV* cv __attribute__ ((unused))) |
1468 | { |
1469 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1470 | if (items != 1) |
1471 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
1472 | { |
1473 | Compress__Raw__Bunzip2 s; |
1474 | uLong RETVAL; |
1475 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1476 | |
1477 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bunzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bunzip2" )) { |
1478 | 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)); |
1479 | s = INT2PTR(Compress__Raw__Bunzip2,tmp)(Compress__Raw__Bunzip2)(tmp); |
1480 | } |
1481 | else |
1482 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1483 | "Compress::Raw::Bunzip2::inflateCount", |
1484 | "s", "Compress::Raw::Bunzip2") |
1485 | ; |
1486 | #line 844 "Bzip2.xs" |
1487 | RETVAL = s->bytesInflated; |
1488 | #line 1489 "Bzip2.c" |
1489 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((IV)RETVAL)do { do { UV TARGu_uv = (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) & (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); |
1490 | } |
1491 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1492 | } |
1493 | |
1494 | |
1495 | XS_EUPXS(XS_Compress__Raw__Bunzip2_DESTROY)static void XS_Compress__Raw__Bunzip2_DESTROY( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1496 | XS_EUPXS(XS_Compress__Raw__Bunzip2_DESTROY)static void XS_Compress__Raw__Bunzip2_DESTROY( CV* cv __attribute__ ((unused))) |
1497 | { |
1498 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1499 | if (items != 1) |
1500 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
1501 | { |
1502 | Compress__Raw__Bunzip2 s; |
1503 | |
1504 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) { |
1505 | 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)); |
1506 | s = INT2PTR(Compress__Raw__Bunzip2,tmp)(Compress__Raw__Bunzip2)(tmp); |
1507 | } |
1508 | else |
1509 | Perl_croak_nocontextPerl_croak("%s: %s is not a reference", |
1510 | "Compress::Raw::Bunzip2::DESTROY", |
1511 | "s") |
1512 | ; |
1513 | #line 853 "Bzip2.xs" |
1514 | BZ2_bzDecompressEnd(&s->stream) ; |
1515 | Safefree(s)Perl_safesysfree(((void *)(s))) ; |
1516 | #line 1517 "Bzip2.c" |
1517 | } |
1518 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); |
1519 | } |
1520 | |
1521 | |
1522 | XS_EUPXS(XS_Compress__Raw__Bunzip2_status)static void XS_Compress__Raw__Bunzip2_status( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1523 | XS_EUPXS(XS_Compress__Raw__Bunzip2_status)static void XS_Compress__Raw__Bunzip2_status( CV* cv __attribute__ ((unused))) |
1524 | { |
1525 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1526 | if (items != 1) |
1527 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
1528 | { |
1529 | Compress__Raw__Bunzip2 s; |
1530 | uLong RETVAL; |
1531 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1532 | |
1533 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bunzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bunzip2" )) { |
1534 | 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)); |
1535 | s = INT2PTR(Compress__Raw__Bunzip2,tmp)(Compress__Raw__Bunzip2)(tmp); |
1536 | } |
1537 | else |
1538 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1539 | "Compress::Raw::Bunzip2::status", |
1540 | "s", "Compress::Raw::Bunzip2") |
1541 | ; |
1542 | #line 861 "Bzip2.xs" |
1543 | RETVAL = s->last_error ; |
1544 | #line 1545 "Bzip2.c" |
1545 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((IV)RETVAL)do { do { UV TARGu_uv = (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) & (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); |
1546 | } |
1547 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1548 | } |
1549 | |
1550 | |
1551 | XS_EUPXS(XS_Compress__Raw__Bunzip2_total_in_lo32)static void XS_Compress__Raw__Bunzip2_total_in_lo32( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1552 | XS_EUPXS(XS_Compress__Raw__Bunzip2_total_in_lo32)static void XS_Compress__Raw__Bunzip2_total_in_lo32( CV* cv __attribute__ ((unused))) |
1553 | { |
1554 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1555 | if (items != 1) |
1556 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
1557 | { |
1558 | Compress__Raw__Bunzip2 s; |
1559 | uLong RETVAL; |
1560 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1561 | |
1562 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bunzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bunzip2" )) { |
1563 | 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)); |
1564 | s = INT2PTR(Compress__Raw__Bunzip2,tmp)(Compress__Raw__Bunzip2)(tmp); |
1565 | } |
1566 | else |
1567 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1568 | "Compress::Raw::Bunzip2::total_in_lo32", |
1569 | "s", "Compress::Raw::Bunzip2") |
1570 | ; |
1571 | #line 869 "Bzip2.xs" |
1572 | RETVAL = s->stream.total_in_lo32 ; |
1573 | #line 1574 "Bzip2.c" |
1574 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((IV)RETVAL)do { do { UV TARGu_uv = (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) & (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); |
1575 | } |
1576 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1577 | } |
1578 | |
1579 | |
1580 | XS_EUPXS(XS_Compress__Raw__Bunzip2_total_out_lo32)static void XS_Compress__Raw__Bunzip2_total_out_lo32( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
1581 | XS_EUPXS(XS_Compress__Raw__Bunzip2_total_out_lo32)static void XS_Compress__Raw__Bunzip2_total_out_lo32( CV* cv __attribute__ ((unused))) |
1582 | { |
1583 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1584 | if (items != 1) |
1585 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
1586 | { |
1587 | Compress__Raw__Bunzip2 s; |
1588 | uLong RETVAL; |
1589 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1590 | |
1591 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bunzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bunzip2" )) { |
1592 | 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)); |
1593 | s = INT2PTR(Compress__Raw__Bunzip2,tmp)(Compress__Raw__Bunzip2)(tmp); |
1594 | } |
1595 | else |
1596 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1597 | "Compress::Raw::Bunzip2::total_out_lo32", |
1598 | "s", "Compress::Raw::Bunzip2") |
1599 | ; |
1600 | #line 877 "Bzip2.xs" |
1601 | RETVAL = s->stream.total_out_lo32 ; |
1602 | #line 1603 "Bzip2.c" |
1603 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((IV)RETVAL)do { do { UV TARGu_uv = (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) & (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); |
1604 | } |
1605 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1606 | } |
1607 | |
1608 | |
1609 | XS_EUPXS(XS_Compress__Raw__Bunzip2_compressedBytes)static void XS_Compress__Raw__Bunzip2_compressedBytes( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ |
1610 | XS_EUPXS(XS_Compress__Raw__Bunzip2_compressedBytes)static void XS_Compress__Raw__Bunzip2_compressedBytes( CV* cv __attribute__((unused))) |
1611 | { |
1612 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1613 | if (items != 1) |
1614 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
1615 | { |
1616 | Compress__Raw__Bunzip2 s; |
1617 | uLong RETVAL; |
1618 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1619 | |
1620 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bunzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bunzip2" )) { |
1621 | 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)); |
1622 | s = INT2PTR(Compress__Raw__Bunzip2,tmp)(Compress__Raw__Bunzip2)(tmp); |
1623 | } |
1624 | else |
1625 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1626 | "Compress::Raw::Bunzip2::compressedBytes", |
1627 | "s", "Compress::Raw::Bunzip2") |
1628 | ; |
1629 | #line 885 "Bzip2.xs" |
1630 | RETVAL = s->compressedBytes; |
1631 | #line 1632 "Bzip2.c" |
1632 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((IV)RETVAL)do { do { UV TARGu_uv = (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) & (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); |
1633 | } |
1634 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1635 | } |
1636 | |
1637 | |
1638 | XS_EUPXS(XS_Compress__Raw__Bunzip2_uncompressedBytes)static void XS_Compress__Raw__Bunzip2_uncompressedBytes( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ |
1639 | XS_EUPXS(XS_Compress__Raw__Bunzip2_uncompressedBytes)static void XS_Compress__Raw__Bunzip2_uncompressedBytes( CV* cv __attribute__((unused))) |
1640 | { |
1641 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1642 | if (items != 1) |
1643 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); |
1644 | { |
1645 | Compress__Raw__Bunzip2 s; |
1646 | uLong RETVAL; |
1647 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); |
1648 | |
1649 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "Compress::Raw::Bunzip2")Perl_sv_derived_from( PL_stack_base[ax + (0)],"Compress::Raw::Bunzip2" )) { |
1650 | 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)); |
1651 | s = INT2PTR(Compress__Raw__Bunzip2,tmp)(Compress__Raw__Bunzip2)(tmp); |
1652 | } |
1653 | else |
1654 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", |
1655 | "Compress::Raw::Bunzip2::uncompressedBytes", |
1656 | "s", "Compress::Raw::Bunzip2") |
1657 | ; |
1658 | #line 893 "Bzip2.xs" |
1659 | RETVAL = s->uncompressedBytes; |
1660 | #line 1661 "Bzip2.c" |
1661 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((IV)RETVAL)do { do { UV TARGu_uv = (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) & (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); |
1662 | } |
1663 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); |
1664 | } |
1665 | |
1666 | #ifdef __cplusplus |
1667 | extern "C" |
1668 | #endif |
1669 | XS_EXTERNAL(boot_Compress__Raw__Bzip2)void boot_Compress__Raw__Bzip2( CV* cv __attribute__((unused) )); /* prototype to pass -Wmissing-prototypes */ |
1670 | XS_EXTERNAL(boot_Compress__Raw__Bzip2)void boot_Compress__Raw__Bzip2( CV* cv __attribute__((unused) )) |
1671 | { |
1672 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) |
1673 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); |
1674 | #else |
1675 | dVARstruct Perl___notused_struct; dXSBOOTARGSXSAPIVERCHKI32 ax = Perl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter )) << 16) | ((sizeof("" "2.093" "")-1) > 0xFF ? (Perl_croak ("panic: handshake overflow"), 0xFF) : (sizeof("" "2.093" "") -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, "Bzip2.c", "v" "5" "." "32" "." "0", "2.093"); SV **mark = PL_stack_base + ax; SV **sp = PL_stack_sp; I32 items = (I32 )(sp - mark); |
1676 | #endif |
1677 | #if (PERL_REVISION5 == 5 && PERL_VERSION32 < 9) |
1678 | char* file = __FILE__"Bzip2.c"; |
1679 | #else |
1680 | const char* file = __FILE__"Bzip2.c"; |
1681 | #endif |
1682 | |
1683 | PERL_UNUSED_VAR(file)((void)sizeof(file)); |
1684 | |
1685 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ |
1686 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ |
1687 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) |
1688 | XS_VERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter)) << 16) | ((sizeof("" "2.093" "")-1) > 0xFF ? (Perl_croak ("panic: handshake overflow"), 0xFF) : (sizeof("" "2.093" "") -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, "Bzip2.c", items , ax, "2.093"); |
1689 | # 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, "Bzip2.c", items, ax, "v" "5" "." "32" "." "0") |
1690 | 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, "Bzip2.c", items, ax, "v" "5" "." "32" "." "0"); |
1691 | # endif |
1692 | #endif |
1693 | |
1694 | newXS_deffile("Compress::Raw::Bzip2::constant", XS_Compress__Raw__Bzip2_constant)Perl_newXS_deffile( "Compress::Raw::Bzip2::constant",XS_Compress__Raw__Bzip2_constant ); |
1695 | newXS_deffile("Compress::Raw::Bzip2::bzlibversion", XS_Compress__Raw__Bzip2_bzlibversion)Perl_newXS_deffile( "Compress::Raw::Bzip2::bzlibversion",XS_Compress__Raw__Bzip2_bzlibversion ); |
1696 | newXS_deffile("Compress::Raw::Bzip2::new", XS_Compress__Raw__Bzip2_new)Perl_newXS_deffile( "Compress::Raw::Bzip2::new",XS_Compress__Raw__Bzip2_new ); |
1697 | newXS_deffile("Compress::Raw::Bunzip2::new", XS_Compress__Raw__Bunzip2_new)Perl_newXS_deffile( "Compress::Raw::Bunzip2::new",XS_Compress__Raw__Bunzip2_new ); |
1698 | newXS_deffile("Compress::Raw::Bzip2::DispStream", XS_Compress__Raw__Bzip2_DispStream)Perl_newXS_deffile( "Compress::Raw::Bzip2::DispStream",XS_Compress__Raw__Bzip2_DispStream ); |
1699 | newXS_deffile("Compress::Raw::Bzip2::bzdeflate", XS_Compress__Raw__Bzip2_bzdeflate)Perl_newXS_deffile( "Compress::Raw::Bzip2::bzdeflate",XS_Compress__Raw__Bzip2_bzdeflate ); |
1700 | newXS_deffile("Compress::Raw::Bzip2::DESTROY", XS_Compress__Raw__Bzip2_DESTROY)Perl_newXS_deffile( "Compress::Raw::Bzip2::DESTROY",XS_Compress__Raw__Bzip2_DESTROY ); |
1701 | newXS_deffile("Compress::Raw::Bzip2::bzclose", XS_Compress__Raw__Bzip2_bzclose)Perl_newXS_deffile( "Compress::Raw::Bzip2::bzclose",XS_Compress__Raw__Bzip2_bzclose ); |
1702 | newXS_deffile("Compress::Raw::Bzip2::bzflush", XS_Compress__Raw__Bzip2_bzflush)Perl_newXS_deffile( "Compress::Raw::Bzip2::bzflush",XS_Compress__Raw__Bzip2_bzflush ); |
1703 | newXS_deffile("Compress::Raw::Bzip2::total_in_lo32", XS_Compress__Raw__Bzip2_total_in_lo32)Perl_newXS_deffile( "Compress::Raw::Bzip2::total_in_lo32",XS_Compress__Raw__Bzip2_total_in_lo32 ); |
1704 | newXS_deffile("Compress::Raw::Bzip2::total_out_lo32", XS_Compress__Raw__Bzip2_total_out_lo32)Perl_newXS_deffile( "Compress::Raw::Bzip2::total_out_lo32",XS_Compress__Raw__Bzip2_total_out_lo32 ); |
1705 | newXS_deffile("Compress::Raw::Bzip2::compressedBytes", XS_Compress__Raw__Bzip2_compressedBytes)Perl_newXS_deffile( "Compress::Raw::Bzip2::compressedBytes",XS_Compress__Raw__Bzip2_compressedBytes ); |
1706 | newXS_deffile("Compress::Raw::Bzip2::uncompressedBytes", XS_Compress__Raw__Bzip2_uncompressedBytes)Perl_newXS_deffile( "Compress::Raw::Bzip2::uncompressedBytes" ,XS_Compress__Raw__Bzip2_uncompressedBytes); |
1707 | newXS_deffile("Compress::Raw::Bunzip2::DispStream", XS_Compress__Raw__Bunzip2_DispStream)Perl_newXS_deffile( "Compress::Raw::Bunzip2::DispStream",XS_Compress__Raw__Bunzip2_DispStream ); |
1708 | newXS_deffile("Compress::Raw::Bunzip2::bzinflate", XS_Compress__Raw__Bunzip2_bzinflate)Perl_newXS_deffile( "Compress::Raw::Bunzip2::bzinflate",XS_Compress__Raw__Bunzip2_bzinflate ); |
1709 | newXS_deffile("Compress::Raw::Bunzip2::inflateCount", XS_Compress__Raw__Bunzip2_inflateCount)Perl_newXS_deffile( "Compress::Raw::Bunzip2::inflateCount",XS_Compress__Raw__Bunzip2_inflateCount ); |
1710 | newXS_deffile("Compress::Raw::Bunzip2::DESTROY", XS_Compress__Raw__Bunzip2_DESTROY)Perl_newXS_deffile( "Compress::Raw::Bunzip2::DESTROY",XS_Compress__Raw__Bunzip2_DESTROY ); |
1711 | newXS_deffile("Compress::Raw::Bunzip2::status", XS_Compress__Raw__Bunzip2_status)Perl_newXS_deffile( "Compress::Raw::Bunzip2::status",XS_Compress__Raw__Bunzip2_status ); |
1712 | newXS_deffile("Compress::Raw::Bunzip2::total_in_lo32", XS_Compress__Raw__Bunzip2_total_in_lo32)Perl_newXS_deffile( "Compress::Raw::Bunzip2::total_in_lo32",XS_Compress__Raw__Bunzip2_total_in_lo32 ); |
1713 | newXS_deffile("Compress::Raw::Bunzip2::total_out_lo32", XS_Compress__Raw__Bunzip2_total_out_lo32)Perl_newXS_deffile( "Compress::Raw::Bunzip2::total_out_lo32", XS_Compress__Raw__Bunzip2_total_out_lo32); |
1714 | newXS_deffile("Compress::Raw::Bunzip2::compressedBytes", XS_Compress__Raw__Bunzip2_compressedBytes)Perl_newXS_deffile( "Compress::Raw::Bunzip2::compressedBytes" ,XS_Compress__Raw__Bunzip2_compressedBytes); |
1715 | newXS_deffile("Compress::Raw::Bunzip2::uncompressedBytes", XS_Compress__Raw__Bunzip2_uncompressedBytes)Perl_newXS_deffile( "Compress::Raw::Bunzip2::uncompressedBytes" ,XS_Compress__Raw__Bunzip2_uncompressedBytes); |
1716 | |
1717 | /* Initialisation Section */ |
1718 | |
1719 | #line 337 "Bzip2.xs" |
1720 | /* Check this version of bzip2 is == 1 */ |
1721 | if (BZ2_bzlibVersion()[0] != '1') |
1722 | croakPerl_croak(COMPRESS_CLASS"Compress::Raw::Bzip2" " needs bzip2 version 1.x, you have %s\n", BZ2_bzlibVersion()) ; |
1723 | |
1724 | #line 1725 "Bzip2.c" |
1725 | |
1726 | /* End of Initialisation Section */ |
1727 | |
1728 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) |
1729 | # if PERL_VERSION_GE(5, 9, 0)((5*1000000 + 32*1000 + 1) >= (5*1000000 + 9*1000 + 0)) |
1730 | if (PL_unitcheckav) |
1731 | call_list(PL_scopestack_ix, PL_unitcheckav)Perl_call_list( PL_scopestack_ix,PL_unitcheckav); |
1732 | # endif |
1733 | 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); |
1734 | #else |
1735 | Perl_xs_boot_epilog(aTHX_ ax); |
1736 | #endif |
1737 | } |
1738 |