| File: | obj/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/Bzip2.c |
| Warning: | line 1393, column 5 Value stored to 'RETVAL' 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; |
| 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; |
Value stored to 'RETVAL' is never read | |
| 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 |