libarchive-static 1.0.6 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/extconf.rb +2 -9
- data/ext/libarchive-0.1.1/ext/archive_read_support_compression.c +6 -6
- data/ext/libarchive-0.1.1/ext/archive_read_support_compression.o +0 -0
- data/ext/libarchive-0.1.1/ext/archive_read_support_format.o +0 -0
- data/ext/libarchive-0.1.1/ext/archive_write_open_rb_str.c +1 -1
- data/ext/libarchive-0.1.1/ext/archive_write_open_rb_str.o +0 -0
- data/ext/libarchive-0.1.1/ext/archive_write_set_compression.c +5 -5
- data/ext/libarchive-0.1.1/ext/archive_write_set_compression.o +0 -0
- data/ext/libarchive-0.1.1/ext/config.h +23 -0
- data/ext/libarchive-0.1.1/ext/config.log +230 -0
- data/ext/libarchive-0.1.1/ext/config.status +671 -0
- data/ext/libarchive-0.1.1/ext/libarchive.c +1 -1
- data/ext/libarchive-0.1.1/ext/libarchive.o +0 -0
- data/ext/libarchive-0.1.1/ext/libarchive_archive.c +7 -7
- data/ext/libarchive-0.1.1/ext/libarchive_archive.o +0 -0
- data/ext/libarchive-0.1.1/ext/libarchive_entry.c +6 -0
- data/ext/libarchive-0.1.1/ext/libarchive_entry.o +0 -0
- data/ext/libarchive-0.1.1/ext/libarchive_reader.c +6 -4
- data/ext/libarchive-0.1.1/ext/libarchive_reader.o +0 -0
- data/ext/libarchive-0.1.1/ext/libarchive_ruby.so +0 -0
- data/ext/libarchive-0.1.1/ext/libarchive_win32.h +1 -1
- data/ext/libarchive-0.1.1/ext/libarchive_writer.c +2 -2
- data/ext/libarchive-0.1.1/ext/libarchive_writer.o +0 -0
- data/ext/libarchive-3.6.2/Makefile.in +16892 -0
- data/ext/libarchive-3.6.2/build/autoconf/ax_append_compile_flags.m4 +67 -0
- data/ext/libarchive-3.6.2/build/autoconf/ax_append_flag.m4 +71 -0
- data/ext/libarchive-3.6.2/build/autoconf/ax_check_compile_flag.m4 +74 -0
- data/ext/libarchive-3.6.2/build/autoconf/ax_require_defined.m4 +37 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/check_stdcall_func.m4 +0 -0
- data/ext/libarchive-3.6.2/build/autoconf/compile +348 -0
- data/ext/libarchive-3.6.2/build/autoconf/config.guess +1754 -0
- data/ext/libarchive-3.6.2/build/autoconf/config.rpath +696 -0
- data/ext/libarchive-3.6.2/build/autoconf/config.sub +1890 -0
- data/ext/libarchive-3.6.2/build/autoconf/depcomp +791 -0
- data/ext/libarchive-3.6.2/build/autoconf/iconv.m4 +271 -0
- data/ext/libarchive-3.6.2/build/autoconf/install-sh +541 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/la_uid_t.m4 +0 -0
- data/ext/libarchive-3.6.2/build/autoconf/lib-ld.m4 +109 -0
- data/ext/libarchive-3.6.2/build/autoconf/lib-link.m4 +777 -0
- data/ext/libarchive-3.6.2/build/autoconf/lib-prefix.m4 +224 -0
- data/ext/libarchive-3.6.2/build/autoconf/ltmain.sh +11251 -0
- data/ext/libarchive-3.6.2/build/autoconf/m4_ax_compile_check_sizeof.m4 +115 -0
- data/ext/libarchive-3.6.2/build/autoconf/missing +215 -0
- data/ext/libarchive-3.6.2/build/autoconf/test-driver +153 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/pkgconfig/libarchive.pc.in +4 -1
- data/ext/libarchive-3.6.2/config.h.in +1504 -0
- data/ext/libarchive-3.6.2/configure +25558 -0
- data/ext/libarchive-3.6.2/libarchive/archive.h +1212 -0
- data/ext/libarchive-3.6.2/libarchive/archive_acl.c +2097 -0
- data/ext/libarchive-3.6.2/libarchive/archive_acl_private.h +83 -0
- data/ext/libarchive-3.6.2/libarchive/archive_blake2.h +197 -0
- data/ext/libarchive-3.6.2/libarchive/archive_blake2_impl.h +161 -0
- data/ext/libarchive-3.6.2/libarchive/archive_blake2s_ref.c +369 -0
- data/ext/libarchive-3.6.2/libarchive/archive_blake2sp_ref.c +361 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_check_magic.c +63 -22
- data/ext/libarchive-3.6.2/libarchive/archive_cmdline.c +227 -0
- data/ext/libarchive-3.6.2/libarchive/archive_cmdline_private.h +47 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_crc32.h +17 -0
- data/ext/libarchive-3.6.2/libarchive/archive_cryptor.c +534 -0
- data/ext/libarchive-3.6.2/libarchive/archive_cryptor_private.h +188 -0
- data/ext/libarchive-3.6.2/libarchive/archive_digest.c +1505 -0
- data/ext/libarchive-3.6.2/libarchive/archive_digest_private.h +416 -0
- data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_darwin.c +559 -0
- data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_freebsd.c +712 -0
- data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_linux.c +760 -0
- data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_sunos.c +824 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_endian.h +48 -15
- data/ext/libarchive-3.6.2/libarchive/archive_entry.c +2149 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry.h +305 -106
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_bhfi.c +5 -4
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_stat.c +9 -3
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_link_resolver.c +104 -62
- data/ext/libarchive-3.6.2/libarchive/archive_entry_locale.h +92 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_private.h +65 -49
- data/ext/libarchive-3.6.2/libarchive/archive_entry_sparse.c +156 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_stat.c +6 -6
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_strmode.c +1 -1
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_xattr.c +4 -6
- data/ext/libarchive-3.6.2/libarchive/archive_getdate.c +1165 -0
- data/ext/libarchive-3.6.2/libarchive/archive_getdate.h +39 -0
- data/ext/libarchive-3.6.2/libarchive/archive_hmac.c +334 -0
- data/ext/libarchive-3.6.2/libarchive/archive_hmac_private.h +117 -0
- data/ext/libarchive-3.6.2/libarchive/archive_match.c +1875 -0
- data/ext/libarchive-3.6.2/libarchive/archive_openssl_evp_private.h +53 -0
- data/ext/libarchive-3.6.2/libarchive/archive_openssl_hmac_private.h +54 -0
- data/ext/libarchive-3.6.2/libarchive/archive_options.c +218 -0
- data/ext/libarchive-3.6.2/libarchive/archive_options_private.h +51 -0
- data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.c +337 -0
- data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.h +49 -0
- data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.c +463 -0
- data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.h +52 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_platform.h +77 -9
- data/ext/libarchive-3.6.2/libarchive/archive_platform_acl.h +55 -0
- data/ext/libarchive-3.6.2/libarchive/archive_platform_xattr.h +47 -0
- data/ext/libarchive-3.6.2/libarchive/archive_ppmd7.c +1168 -0
- data/ext/libarchive-3.6.2/libarchive/archive_ppmd7_private.h +119 -0
- data/ext/libarchive-3.6.2/libarchive/archive_ppmd8.c +1287 -0
- data/ext/libarchive-3.6.2/libarchive/archive_ppmd8_private.h +148 -0
- data/ext/libarchive-3.6.2/libarchive/archive_ppmd_private.h +151 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_private.h +74 -18
- data/ext/libarchive-3.6.2/libarchive/archive_random.c +272 -0
- data/ext/libarchive-3.6.2/libarchive/archive_random_private.h +36 -0
- data/ext/libarchive-3.6.2/libarchive/archive_rb.c +709 -0
- data/ext/libarchive-3.6.2/libarchive/archive_rb.h +113 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read.c +1756 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_add_passphrase.c +190 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_append_filter.c +204 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_data_into_fd.c +64 -18
- data/ext/libarchive-3.6.2/libarchive/archive_read_disk_entry_from_file.c +1086 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_disk_posix.c +2732 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_private.h +40 -4
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_set_standard_lookup.c +21 -11
- data/ext/libarchive-3.6.2/libarchive/archive_read_disk_windows.c +2479 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_extract.c +60 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_extract.c → libarchive-3.6.2/libarchive/archive_read_extract2.c} +34 -61
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_fd.c +70 -49
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_file.c +38 -23
- data/ext/libarchive-3.6.2/libarchive/archive_read_open_filename.c +586 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_memory.c +58 -28
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_private.h +127 -59
- data/ext/libarchive-3.6.2/libarchive/archive_read_set_format.c +117 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_set_options.c +133 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_all.c → libarchive-3.6.2/libarchive/archive_read_support_filter_all.c} +35 -10
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_by_code.c +83 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_bzip2.c → libarchive-3.6.2/libarchive/archive_read_support_filter_bzip2.c} +38 -26
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_compress.c → libarchive-3.6.2/libarchive/archive_read_support_filter_compress.c} +52 -44
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_grzip.c +112 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_gzip.c → libarchive-3.6.2/libarchive/archive_read_support_filter_gzip.c} +108 -37
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lrzip.c +122 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lz4.c +742 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lzop.c +499 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_none.c → libarchive-3.6.2/libarchive/archive_read_support_filter_none.c} +15 -3
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_program.c → libarchive-3.6.2/libarchive/archive_read_support_filter_program.c} +114 -77
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_rpm.c → libarchive-3.6.2/libarchive/archive_read_support_filter_rpm.c} +31 -31
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_uu.c → libarchive-3.6.2/libarchive/archive_read_support_filter_uu.c} +141 -85
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_xz.c → libarchive-3.6.2/libarchive/archive_read_support_filter_xz.c} +369 -284
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_zstd.c +297 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_7zip.c +3900 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_all.c +89 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_ar.c +126 -72
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_by_code.c +92 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cab.c +3228 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cpio.c +1104 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_empty.c +14 -11
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_iso9660.c +990 -541
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_lha.c +2916 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_mtree.c +2150 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar.c +3797 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar5.c +4251 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_raw.c +38 -31
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_tar.c +1157 -629
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_warc.c +848 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_xar.c +439 -258
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_zip.c +4270 -0
- data/ext/libarchive-3.6.2/libarchive/archive_string.c +4240 -0
- data/ext/libarchive-3.6.2/libarchive/archive_string.h +243 -0
- data/ext/libarchive-3.6.2/libarchive/archive_string_composition.h +2292 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_string_sprintf.c +44 -16
- data/ext/libarchive-3.6.2/libarchive/archive_util.c +655 -0
- data/ext/libarchive-3.6.2/libarchive/archive_version_details.c +151 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_virtual.c +85 -16
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.c +214 -541
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.h +74 -106
- data/ext/libarchive-3.6.2/libarchive/archive_write.c +828 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter.c +72 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_b64encode.c +304 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_by_name.c +77 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_bzip2.c +401 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_write_set_compression_compress.c → libarchive-3.6.2/libarchive/archive_write_add_filter_compress.c} +86 -131
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_grzip.c +135 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_gzip.c +442 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lrzip.c +197 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lz4.c +700 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lzop.c +478 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_format_all.c → libarchive-3.6.2/libarchive/archive_write_add_filter_none.c} +11 -11
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_program.c +391 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_uuencode.c +295 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_xz.c +545 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_zstd.c +418 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_disk_posix.c +4711 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_private.h +9 -2
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_set_standard_lookup.c +30 -29
- data/ext/libarchive-3.6.2/libarchive/archive_write_disk_windows.c +2842 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_fd.c +15 -10
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_file.c +15 -9
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_filename.c +128 -20
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_memory.c +7 -18
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_private.h +72 -29
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format.c +56 -3
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_7zip.c +2322 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ar.c +54 -34
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_by_name.c +20 -2
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio.c +11 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_binary.c +610 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_newc.c +457 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_odc.c +500 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_filter_by_ext.c +142 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_gnutar.c +755 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_iso9660.c +8165 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_mtree.c +2217 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_pax.c +1049 -387
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_private.h +42 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_raw.c +125 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_shar.c +62 -47
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ustar.c +279 -108
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_v7tar.c +638 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_warc.c +453 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_xar.c +3259 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_zip.c +1704 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_options.c +130 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_passphrase.c +95 -0
- data/ext/libarchive-3.6.2/libarchive/archive_xxhash.h +48 -0
- data/ext/libarchive-3.6.2/libarchive/config_freebsd.h +271 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/filter_fork.h +10 -5
- data/ext/{libarchive-2.8.4/libarchive/filter_fork.c → libarchive-3.6.2/libarchive/filter_fork_posix.c} +98 -19
- data/ext/libarchive-3.6.2/libarchive/filter_fork_windows.c +236 -0
- data/ext/libarchive-3.6.2/libarchive/xxhash.c +525 -0
- data/ext/libarchive-static-makefile +144 -80
- data/ext/libarchive-static-wrapper-makefile +1 -1
- data/ext/zlib-1.2.13/Makefile.in +404 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/adler32.c +51 -34
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/compress.c +27 -21
- data/ext/zlib-1.2.13/configure +922 -0
- data/ext/zlib-1.2.13/crc32.c +1125 -0
- data/ext/zlib-1.2.13/crc32.h +9446 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.c +842 -459
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.h +37 -33
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzclose.c +0 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzguts.h +103 -16
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzlib.c +155 -53
- data/ext/zlib-1.2.13/gzread.c +650 -0
- data/ext/zlib-1.2.13/gzwrite.c +677 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/infback.c +24 -12
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.c +49 -66
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.h +0 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffixed.h +3 -3
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.c +209 -94
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.h +9 -5
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.c +24 -50
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.h +1 -1
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.c +135 -198
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.h +0 -0
- data/ext/zlib-1.2.13/uncompr.c +93 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/zconf.h +182 -63
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/zlib.h +617 -295
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.c +50 -41
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.h +83 -82
- metadata +241 -133
- data/ext/libarchive-0.1.1/libarchive.c +0 -1762
- data/ext/libarchive-2.8.4/Makefile.in +0 -7076
- data/ext/libarchive-2.8.4/build/autoconf/compile +0 -143
- data/ext/libarchive-2.8.4/build/autoconf/config.guess +0 -1502
- data/ext/libarchive-2.8.4/build/autoconf/config.sub +0 -1708
- data/ext/libarchive-2.8.4/build/autoconf/depcomp +0 -630
- data/ext/libarchive-2.8.4/build/autoconf/install-sh +0 -291
- data/ext/libarchive-2.8.4/build/autoconf/ltmain.sh +0 -8406
- data/ext/libarchive-2.8.4/build/autoconf/missing +0 -376
- data/ext/libarchive-2.8.4/config.h.in +0 -772
- data/ext/libarchive-2.8.4/configure +0 -17916
- data/ext/libarchive-2.8.4/libarchive/archive.h +0 -741
- data/ext/libarchive-2.8.4/libarchive/archive_entry.c +0 -2202
- data/ext/libarchive-2.8.4/libarchive/archive_hash.h +0 -281
- data/ext/libarchive-2.8.4/libarchive/archive_read.c +0 -1249
- data/ext/libarchive-2.8.4/libarchive/archive_read_disk.c +0 -198
- data/ext/libarchive-2.8.4/libarchive/archive_read_disk_entry_from_file.c +0 -570
- data/ext/libarchive-2.8.4/libarchive/archive_read_open_filename.c +0 -272
- data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_cpio.c +0 -777
- data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_mtree.c +0 -1304
- data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_zip.c +0 -903
- data/ext/libarchive-2.8.4/libarchive/archive_string.c +0 -453
- data/ext/libarchive-2.8.4/libarchive/archive_string.h +0 -148
- data/ext/libarchive-2.8.4/libarchive/archive_util.c +0 -391
- data/ext/libarchive-2.8.4/libarchive/archive_write.c +0 -466
- data/ext/libarchive-2.8.4/libarchive/archive_write_disk.c +0 -2628
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_bzip2.c +0 -408
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_gzip.c +0 -477
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_none.c +0 -257
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_program.c +0 -347
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_xz.c +0 -438
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio.c +0 -344
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio_newc.c +0 -295
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_mtree.c +0 -1050
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_zip.c +0 -667
- data/ext/libarchive-2.8.4/libarchive/config_freebsd.h +0 -154
- data/ext/libarchive-2.8.4/libarchive/filter_fork_windows.c +0 -113
- data/ext/zlib-1.2.5/Makefile.in +0 -257
- data/ext/zlib-1.2.5/configure +0 -596
- data/ext/zlib-1.2.5/crc32.c +0 -442
- data/ext/zlib-1.2.5/crc32.h +0 -441
- data/ext/zlib-1.2.5/example.c +0 -565
- data/ext/zlib-1.2.5/gzread.c +0 -653
- data/ext/zlib-1.2.5/gzwrite.c +0 -531
- data/ext/zlib-1.2.5/minigzip.c +0 -440
- data/ext/zlib-1.2.5/uncompr.c +0 -59
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* inflate.c -- zlib decompression
|
|
2
|
-
* Copyright (C) 1995-
|
|
2
|
+
* Copyright (C) 1995-2022 Mark Adler
|
|
3
3
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -92,32 +92,47 @@
|
|
|
92
92
|
#endif
|
|
93
93
|
|
|
94
94
|
/* function prototypes */
|
|
95
|
+
local int inflateStateCheck OF((z_streamp strm));
|
|
95
96
|
local void fixedtables OF((struct inflate_state FAR *state));
|
|
96
|
-
local int updatewindow OF((z_streamp strm, unsigned
|
|
97
|
+
local int updatewindow OF((z_streamp strm, const unsigned char FAR *end,
|
|
98
|
+
unsigned copy));
|
|
97
99
|
#ifdef BUILDFIXED
|
|
98
100
|
void makefixed OF((void));
|
|
99
101
|
#endif
|
|
100
|
-
local unsigned syncsearch OF((unsigned FAR *have, unsigned char FAR *buf,
|
|
102
|
+
local unsigned syncsearch OF((unsigned FAR *have, const unsigned char FAR *buf,
|
|
101
103
|
unsigned len));
|
|
102
104
|
|
|
103
|
-
int
|
|
105
|
+
local int inflateStateCheck(strm)
|
|
106
|
+
z_streamp strm;
|
|
107
|
+
{
|
|
108
|
+
struct inflate_state FAR *state;
|
|
109
|
+
if (strm == Z_NULL ||
|
|
110
|
+
strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0)
|
|
111
|
+
return 1;
|
|
112
|
+
state = (struct inflate_state FAR *)strm->state;
|
|
113
|
+
if (state == Z_NULL || state->strm != strm ||
|
|
114
|
+
state->mode < HEAD || state->mode > SYNC)
|
|
115
|
+
return 1;
|
|
116
|
+
return 0;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
int ZEXPORT inflateResetKeep(strm)
|
|
104
120
|
z_streamp strm;
|
|
105
121
|
{
|
|
106
122
|
struct inflate_state FAR *state;
|
|
107
123
|
|
|
108
|
-
if (strm
|
|
124
|
+
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
|
|
109
125
|
state = (struct inflate_state FAR *)strm->state;
|
|
110
126
|
strm->total_in = strm->total_out = state->total = 0;
|
|
111
127
|
strm->msg = Z_NULL;
|
|
112
|
-
|
|
128
|
+
if (state->wrap) /* to support ill-conceived Java test suite */
|
|
129
|
+
strm->adler = state->wrap & 1;
|
|
113
130
|
state->mode = HEAD;
|
|
114
131
|
state->last = 0;
|
|
115
132
|
state->havedict = 0;
|
|
133
|
+
state->flags = -1;
|
|
116
134
|
state->dmax = 32768U;
|
|
117
135
|
state->head = Z_NULL;
|
|
118
|
-
state->wsize = 0;
|
|
119
|
-
state->whave = 0;
|
|
120
|
-
state->wnext = 0;
|
|
121
136
|
state->hold = 0;
|
|
122
137
|
state->bits = 0;
|
|
123
138
|
state->lencode = state->distcode = state->next = state->codes;
|
|
@@ -127,6 +142,19 @@ z_streamp strm;
|
|
|
127
142
|
return Z_OK;
|
|
128
143
|
}
|
|
129
144
|
|
|
145
|
+
int ZEXPORT inflateReset(strm)
|
|
146
|
+
z_streamp strm;
|
|
147
|
+
{
|
|
148
|
+
struct inflate_state FAR *state;
|
|
149
|
+
|
|
150
|
+
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
|
|
151
|
+
state = (struct inflate_state FAR *)strm->state;
|
|
152
|
+
state->wsize = 0;
|
|
153
|
+
state->whave = 0;
|
|
154
|
+
state->wnext = 0;
|
|
155
|
+
return inflateResetKeep(strm);
|
|
156
|
+
}
|
|
157
|
+
|
|
130
158
|
int ZEXPORT inflateReset2(strm, windowBits)
|
|
131
159
|
z_streamp strm;
|
|
132
160
|
int windowBits;
|
|
@@ -135,16 +163,18 @@ int windowBits;
|
|
|
135
163
|
struct inflate_state FAR *state;
|
|
136
164
|
|
|
137
165
|
/* get the state */
|
|
138
|
-
if (strm
|
|
166
|
+
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
|
|
139
167
|
state = (struct inflate_state FAR *)strm->state;
|
|
140
168
|
|
|
141
169
|
/* extract wrap request from windowBits parameter */
|
|
142
170
|
if (windowBits < 0) {
|
|
171
|
+
if (windowBits < -15)
|
|
172
|
+
return Z_STREAM_ERROR;
|
|
143
173
|
wrap = 0;
|
|
144
174
|
windowBits = -windowBits;
|
|
145
175
|
}
|
|
146
176
|
else {
|
|
147
|
-
wrap = (windowBits >> 4) +
|
|
177
|
+
wrap = (windowBits >> 4) + 5;
|
|
148
178
|
#ifdef GUNZIP
|
|
149
179
|
if (windowBits < 48)
|
|
150
180
|
windowBits &= 15;
|
|
@@ -180,16 +210,27 @@ int stream_size;
|
|
|
180
210
|
if (strm == Z_NULL) return Z_STREAM_ERROR;
|
|
181
211
|
strm->msg = Z_NULL; /* in case we return an error */
|
|
182
212
|
if (strm->zalloc == (alloc_func)0) {
|
|
213
|
+
#ifdef Z_SOLO
|
|
214
|
+
return Z_STREAM_ERROR;
|
|
215
|
+
#else
|
|
183
216
|
strm->zalloc = zcalloc;
|
|
184
217
|
strm->opaque = (voidpf)0;
|
|
218
|
+
#endif
|
|
185
219
|
}
|
|
186
|
-
if (strm->zfree == (free_func)0)
|
|
220
|
+
if (strm->zfree == (free_func)0)
|
|
221
|
+
#ifdef Z_SOLO
|
|
222
|
+
return Z_STREAM_ERROR;
|
|
223
|
+
#else
|
|
224
|
+
strm->zfree = zcfree;
|
|
225
|
+
#endif
|
|
187
226
|
state = (struct inflate_state FAR *)
|
|
188
227
|
ZALLOC(strm, 1, sizeof(struct inflate_state));
|
|
189
228
|
if (state == Z_NULL) return Z_MEM_ERROR;
|
|
190
229
|
Tracev((stderr, "inflate: allocated\n"));
|
|
191
230
|
strm->state = (struct internal_state FAR *)state;
|
|
231
|
+
state->strm = strm;
|
|
192
232
|
state->window = Z_NULL;
|
|
233
|
+
state->mode = HEAD; /* to pass state test in inflateReset2() */
|
|
193
234
|
ret = inflateReset2(strm, windowBits);
|
|
194
235
|
if (ret != Z_OK) {
|
|
195
236
|
ZFREE(strm, state);
|
|
@@ -213,17 +254,17 @@ int value;
|
|
|
213
254
|
{
|
|
214
255
|
struct inflate_state FAR *state;
|
|
215
256
|
|
|
216
|
-
if (strm
|
|
257
|
+
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
|
|
217
258
|
state = (struct inflate_state FAR *)strm->state;
|
|
218
259
|
if (bits < 0) {
|
|
219
260
|
state->hold = 0;
|
|
220
261
|
state->bits = 0;
|
|
221
262
|
return Z_OK;
|
|
222
263
|
}
|
|
223
|
-
if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR;
|
|
264
|
+
if (bits > 16 || state->bits + (uInt)bits > 32) return Z_STREAM_ERROR;
|
|
224
265
|
value &= (1L << bits) - 1;
|
|
225
|
-
state->hold += value << state->bits;
|
|
226
|
-
state->bits += bits;
|
|
266
|
+
state->hold += (unsigned)value << state->bits;
|
|
267
|
+
state->bits += (uInt)bits;
|
|
227
268
|
return Z_OK;
|
|
228
269
|
}
|
|
229
270
|
|
|
@@ -321,8 +362,8 @@ void makefixed()
|
|
|
321
362
|
low = 0;
|
|
322
363
|
for (;;) {
|
|
323
364
|
if ((low % 7) == 0) printf("\n ");
|
|
324
|
-
printf("{%u,%u,%d}",
|
|
325
|
-
state.lencode[low].val);
|
|
365
|
+
printf("{%u,%u,%d}", (low & 127) == 99 ? 64 : state.lencode[low].op,
|
|
366
|
+
state.lencode[low].bits, state.lencode[low].val);
|
|
326
367
|
if (++low == size) break;
|
|
327
368
|
putchar(',');
|
|
328
369
|
}
|
|
@@ -355,12 +396,13 @@ void makefixed()
|
|
|
355
396
|
output will fall in the output data, making match copies simpler and faster.
|
|
356
397
|
The advantage may be dependent on the size of the processor's data caches.
|
|
357
398
|
*/
|
|
358
|
-
local int updatewindow(strm,
|
|
399
|
+
local int updatewindow(strm, end, copy)
|
|
359
400
|
z_streamp strm;
|
|
360
|
-
|
|
401
|
+
const Bytef *end;
|
|
402
|
+
unsigned copy;
|
|
361
403
|
{
|
|
362
404
|
struct inflate_state FAR *state;
|
|
363
|
-
unsigned
|
|
405
|
+
unsigned dist;
|
|
364
406
|
|
|
365
407
|
state = (struct inflate_state FAR *)strm->state;
|
|
366
408
|
|
|
@@ -380,19 +422,18 @@ unsigned out;
|
|
|
380
422
|
}
|
|
381
423
|
|
|
382
424
|
/* copy state->wsize or less output bytes into the circular window */
|
|
383
|
-
copy = out - strm->avail_out;
|
|
384
425
|
if (copy >= state->wsize) {
|
|
385
|
-
zmemcpy(state->window,
|
|
426
|
+
zmemcpy(state->window, end - state->wsize, state->wsize);
|
|
386
427
|
state->wnext = 0;
|
|
387
428
|
state->whave = state->wsize;
|
|
388
429
|
}
|
|
389
430
|
else {
|
|
390
431
|
dist = state->wsize - state->wnext;
|
|
391
432
|
if (dist > copy) dist = copy;
|
|
392
|
-
zmemcpy(state->window + state->wnext,
|
|
433
|
+
zmemcpy(state->window + state->wnext, end - copy, dist);
|
|
393
434
|
copy -= dist;
|
|
394
435
|
if (copy) {
|
|
395
|
-
zmemcpy(state->window,
|
|
436
|
+
zmemcpy(state->window, end - copy, copy);
|
|
396
437
|
state->wnext = copy;
|
|
397
438
|
state->whave = state->wsize;
|
|
398
439
|
}
|
|
@@ -409,10 +450,10 @@ unsigned out;
|
|
|
409
450
|
|
|
410
451
|
/* check function to use adler32() for zlib or crc32() for gzip */
|
|
411
452
|
#ifdef GUNZIP
|
|
412
|
-
# define
|
|
453
|
+
# define UPDATE_CHECK(check, buf, len) \
|
|
413
454
|
(state->flags ? crc32(check, buf, len) : adler32(check, buf, len))
|
|
414
455
|
#else
|
|
415
|
-
# define
|
|
456
|
+
# define UPDATE_CHECK(check, buf, len) adler32(check, buf, len)
|
|
416
457
|
#endif
|
|
417
458
|
|
|
418
459
|
/* check macros for header crc */
|
|
@@ -499,11 +540,6 @@ unsigned out;
|
|
|
499
540
|
bits -= bits & 7; \
|
|
500
541
|
} while (0)
|
|
501
542
|
|
|
502
|
-
/* Reverse the bytes in a 32-bit value */
|
|
503
|
-
#define REVERSE(q) \
|
|
504
|
-
((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
|
|
505
|
-
(((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
|
|
506
|
-
|
|
507
543
|
/*
|
|
508
544
|
inflate() uses a state machine to process as much input data and generate as
|
|
509
545
|
much output data as possible before returning. The state machine is
|
|
@@ -591,7 +627,7 @@ z_streamp strm;
|
|
|
591
627
|
int flush;
|
|
592
628
|
{
|
|
593
629
|
struct inflate_state FAR *state;
|
|
594
|
-
unsigned char FAR *next; /* next input */
|
|
630
|
+
z_const unsigned char FAR *next; /* next input */
|
|
595
631
|
unsigned char FAR *put; /* next output */
|
|
596
632
|
unsigned have, left; /* available input and output */
|
|
597
633
|
unsigned long hold; /* bit buffer */
|
|
@@ -609,7 +645,7 @@ int flush;
|
|
|
609
645
|
static const unsigned short order[19] = /* permutation of code lengths */
|
|
610
646
|
{16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
|
|
611
647
|
|
|
612
|
-
if (strm
|
|
648
|
+
if (inflateStateCheck(strm) || strm->next_out == Z_NULL ||
|
|
613
649
|
(strm->next_in == Z_NULL && strm->avail_in != 0))
|
|
614
650
|
return Z_STREAM_ERROR;
|
|
615
651
|
|
|
@@ -629,13 +665,14 @@ int flush;
|
|
|
629
665
|
NEEDBITS(16);
|
|
630
666
|
#ifdef GUNZIP
|
|
631
667
|
if ((state->wrap & 2) && hold == 0x8b1f) { /* gzip header */
|
|
668
|
+
if (state->wbits == 0)
|
|
669
|
+
state->wbits = 15;
|
|
632
670
|
state->check = crc32(0L, Z_NULL, 0);
|
|
633
671
|
CRC2(state->check, hold);
|
|
634
672
|
INITBITS();
|
|
635
673
|
state->mode = FLAGS;
|
|
636
674
|
break;
|
|
637
675
|
}
|
|
638
|
-
state->flags = 0; /* expect zlib header */
|
|
639
676
|
if (state->head != Z_NULL)
|
|
640
677
|
state->head->done = -1;
|
|
641
678
|
if (!(state->wrap & 1) || /* check if zlib header allowed */
|
|
@@ -656,12 +693,13 @@ int flush;
|
|
|
656
693
|
len = BITS(4) + 8;
|
|
657
694
|
if (state->wbits == 0)
|
|
658
695
|
state->wbits = len;
|
|
659
|
-
|
|
696
|
+
if (len > 15 || len > state->wbits) {
|
|
660
697
|
strm->msg = (char *)"invalid window size";
|
|
661
698
|
state->mode = BAD;
|
|
662
699
|
break;
|
|
663
700
|
}
|
|
664
701
|
state->dmax = 1U << len;
|
|
702
|
+
state->flags = 0; /* indicate zlib header */
|
|
665
703
|
Tracev((stderr, "inflate: zlib header ok\n"));
|
|
666
704
|
strm->adler = state->check = adler32(0L, Z_NULL, 0);
|
|
667
705
|
state->mode = hold & 0x200 ? DICTID : TYPE;
|
|
@@ -683,50 +721,59 @@ int flush;
|
|
|
683
721
|
}
|
|
684
722
|
if (state->head != Z_NULL)
|
|
685
723
|
state->head->text = (int)((hold >> 8) & 1);
|
|
686
|
-
if (state->flags & 0x0200)
|
|
724
|
+
if ((state->flags & 0x0200) && (state->wrap & 4))
|
|
725
|
+
CRC2(state->check, hold);
|
|
687
726
|
INITBITS();
|
|
688
727
|
state->mode = TIME;
|
|
728
|
+
/* fallthrough */
|
|
689
729
|
case TIME:
|
|
690
730
|
NEEDBITS(32);
|
|
691
731
|
if (state->head != Z_NULL)
|
|
692
732
|
state->head->time = hold;
|
|
693
|
-
if (state->flags & 0x0200)
|
|
733
|
+
if ((state->flags & 0x0200) && (state->wrap & 4))
|
|
734
|
+
CRC4(state->check, hold);
|
|
694
735
|
INITBITS();
|
|
695
736
|
state->mode = OS;
|
|
737
|
+
/* fallthrough */
|
|
696
738
|
case OS:
|
|
697
739
|
NEEDBITS(16);
|
|
698
740
|
if (state->head != Z_NULL) {
|
|
699
741
|
state->head->xflags = (int)(hold & 0xff);
|
|
700
742
|
state->head->os = (int)(hold >> 8);
|
|
701
743
|
}
|
|
702
|
-
if (state->flags & 0x0200)
|
|
744
|
+
if ((state->flags & 0x0200) && (state->wrap & 4))
|
|
745
|
+
CRC2(state->check, hold);
|
|
703
746
|
INITBITS();
|
|
704
747
|
state->mode = EXLEN;
|
|
748
|
+
/* fallthrough */
|
|
705
749
|
case EXLEN:
|
|
706
750
|
if (state->flags & 0x0400) {
|
|
707
751
|
NEEDBITS(16);
|
|
708
752
|
state->length = (unsigned)(hold);
|
|
709
753
|
if (state->head != Z_NULL)
|
|
710
754
|
state->head->extra_len = (unsigned)hold;
|
|
711
|
-
if (state->flags & 0x0200)
|
|
755
|
+
if ((state->flags & 0x0200) && (state->wrap & 4))
|
|
756
|
+
CRC2(state->check, hold);
|
|
712
757
|
INITBITS();
|
|
713
758
|
}
|
|
714
759
|
else if (state->head != Z_NULL)
|
|
715
760
|
state->head->extra = Z_NULL;
|
|
716
761
|
state->mode = EXTRA;
|
|
762
|
+
/* fallthrough */
|
|
717
763
|
case EXTRA:
|
|
718
764
|
if (state->flags & 0x0400) {
|
|
719
765
|
copy = state->length;
|
|
720
766
|
if (copy > have) copy = have;
|
|
721
767
|
if (copy) {
|
|
722
768
|
if (state->head != Z_NULL &&
|
|
723
|
-
state->head->extra != Z_NULL
|
|
724
|
-
len = state->head->extra_len - state->length
|
|
769
|
+
state->head->extra != Z_NULL &&
|
|
770
|
+
(len = state->head->extra_len - state->length) <
|
|
771
|
+
state->head->extra_max) {
|
|
725
772
|
zmemcpy(state->head->extra + len, next,
|
|
726
773
|
len + copy > state->head->extra_max ?
|
|
727
774
|
state->head->extra_max - len : copy);
|
|
728
775
|
}
|
|
729
|
-
if (state->flags & 0x0200)
|
|
776
|
+
if ((state->flags & 0x0200) && (state->wrap & 4))
|
|
730
777
|
state->check = crc32(state->check, next, copy);
|
|
731
778
|
have -= copy;
|
|
732
779
|
next += copy;
|
|
@@ -736,6 +783,7 @@ int flush;
|
|
|
736
783
|
}
|
|
737
784
|
state->length = 0;
|
|
738
785
|
state->mode = NAME;
|
|
786
|
+
/* fallthrough */
|
|
739
787
|
case NAME:
|
|
740
788
|
if (state->flags & 0x0800) {
|
|
741
789
|
if (have == 0) goto inf_leave;
|
|
@@ -745,9 +793,9 @@ int flush;
|
|
|
745
793
|
if (state->head != Z_NULL &&
|
|
746
794
|
state->head->name != Z_NULL &&
|
|
747
795
|
state->length < state->head->name_max)
|
|
748
|
-
state->head->name[state->length++] = len;
|
|
796
|
+
state->head->name[state->length++] = (Bytef)len;
|
|
749
797
|
} while (len && copy < have);
|
|
750
|
-
if (state->flags & 0x0200)
|
|
798
|
+
if ((state->flags & 0x0200) && (state->wrap & 4))
|
|
751
799
|
state->check = crc32(state->check, next, copy);
|
|
752
800
|
have -= copy;
|
|
753
801
|
next += copy;
|
|
@@ -757,6 +805,7 @@ int flush;
|
|
|
757
805
|
state->head->name = Z_NULL;
|
|
758
806
|
state->length = 0;
|
|
759
807
|
state->mode = COMMENT;
|
|
808
|
+
/* fallthrough */
|
|
760
809
|
case COMMENT:
|
|
761
810
|
if (state->flags & 0x1000) {
|
|
762
811
|
if (have == 0) goto inf_leave;
|
|
@@ -766,9 +815,9 @@ int flush;
|
|
|
766
815
|
if (state->head != Z_NULL &&
|
|
767
816
|
state->head->comment != Z_NULL &&
|
|
768
817
|
state->length < state->head->comm_max)
|
|
769
|
-
state->head->comment[state->length++] = len;
|
|
818
|
+
state->head->comment[state->length++] = (Bytef)len;
|
|
770
819
|
} while (len && copy < have);
|
|
771
|
-
if (state->flags & 0x0200)
|
|
820
|
+
if ((state->flags & 0x0200) && (state->wrap & 4))
|
|
772
821
|
state->check = crc32(state->check, next, copy);
|
|
773
822
|
have -= copy;
|
|
774
823
|
next += copy;
|
|
@@ -777,10 +826,11 @@ int flush;
|
|
|
777
826
|
else if (state->head != Z_NULL)
|
|
778
827
|
state->head->comment = Z_NULL;
|
|
779
828
|
state->mode = HCRC;
|
|
829
|
+
/* fallthrough */
|
|
780
830
|
case HCRC:
|
|
781
831
|
if (state->flags & 0x0200) {
|
|
782
832
|
NEEDBITS(16);
|
|
783
|
-
if (hold != (state->check & 0xffff)) {
|
|
833
|
+
if ((state->wrap & 4) && hold != (state->check & 0xffff)) {
|
|
784
834
|
strm->msg = (char *)"header crc mismatch";
|
|
785
835
|
state->mode = BAD;
|
|
786
836
|
break;
|
|
@@ -797,9 +847,10 @@ int flush;
|
|
|
797
847
|
#endif
|
|
798
848
|
case DICTID:
|
|
799
849
|
NEEDBITS(32);
|
|
800
|
-
strm->adler = state->check =
|
|
850
|
+
strm->adler = state->check = ZSWAP32(hold);
|
|
801
851
|
INITBITS();
|
|
802
852
|
state->mode = DICT;
|
|
853
|
+
/* fallthrough */
|
|
803
854
|
case DICT:
|
|
804
855
|
if (state->havedict == 0) {
|
|
805
856
|
RESTORE();
|
|
@@ -807,8 +858,10 @@ int flush;
|
|
|
807
858
|
}
|
|
808
859
|
strm->adler = state->check = adler32(0L, Z_NULL, 0);
|
|
809
860
|
state->mode = TYPE;
|
|
861
|
+
/* fallthrough */
|
|
810
862
|
case TYPE:
|
|
811
863
|
if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave;
|
|
864
|
+
/* fallthrough */
|
|
812
865
|
case TYPEDO:
|
|
813
866
|
if (state->last) {
|
|
814
867
|
BYTEBITS();
|
|
@@ -859,8 +912,10 @@ int flush;
|
|
|
859
912
|
INITBITS();
|
|
860
913
|
state->mode = COPY_;
|
|
861
914
|
if (flush == Z_TREES) goto inf_leave;
|
|
915
|
+
/* fallthrough */
|
|
862
916
|
case COPY_:
|
|
863
917
|
state->mode = COPY;
|
|
918
|
+
/* fallthrough */
|
|
864
919
|
case COPY:
|
|
865
920
|
copy = state->length;
|
|
866
921
|
if (copy) {
|
|
@@ -896,6 +951,7 @@ int flush;
|
|
|
896
951
|
Tracev((stderr, "inflate: table sizes ok\n"));
|
|
897
952
|
state->have = 0;
|
|
898
953
|
state->mode = LENLENS;
|
|
954
|
+
/* fallthrough */
|
|
899
955
|
case LENLENS:
|
|
900
956
|
while (state->have < state->ncode) {
|
|
901
957
|
NEEDBITS(3);
|
|
@@ -905,7 +961,7 @@ int flush;
|
|
|
905
961
|
while (state->have < 19)
|
|
906
962
|
state->lens[order[state->have++]] = 0;
|
|
907
963
|
state->next = state->codes;
|
|
908
|
-
state->lencode = (code
|
|
964
|
+
state->lencode = (const code FAR *)(state->next);
|
|
909
965
|
state->lenbits = 7;
|
|
910
966
|
ret = inflate_table(CODES, state->lens, 19, &(state->next),
|
|
911
967
|
&(state->lenbits), state->work);
|
|
@@ -917,6 +973,7 @@ int flush;
|
|
|
917
973
|
Tracev((stderr, "inflate: code lengths ok\n"));
|
|
918
974
|
state->have = 0;
|
|
919
975
|
state->mode = CODELENS;
|
|
976
|
+
/* fallthrough */
|
|
920
977
|
case CODELENS:
|
|
921
978
|
while (state->have < state->nlen + state->ndist) {
|
|
922
979
|
for (;;) {
|
|
@@ -925,7 +982,6 @@ int flush;
|
|
|
925
982
|
PULLBYTE();
|
|
926
983
|
}
|
|
927
984
|
if (here.val < 16) {
|
|
928
|
-
NEEDBITS(here.bits);
|
|
929
985
|
DROPBITS(here.bits);
|
|
930
986
|
state->lens[state->have++] = here.val;
|
|
931
987
|
}
|
|
@@ -980,7 +1036,7 @@ int flush;
|
|
|
980
1036
|
values here (9 and 6) without reading the comments in inftrees.h
|
|
981
1037
|
concerning the ENOUGH constants, which depend on those values */
|
|
982
1038
|
state->next = state->codes;
|
|
983
|
-
state->lencode = (code
|
|
1039
|
+
state->lencode = (const code FAR *)(state->next);
|
|
984
1040
|
state->lenbits = 9;
|
|
985
1041
|
ret = inflate_table(LENS, state->lens, state->nlen, &(state->next),
|
|
986
1042
|
&(state->lenbits), state->work);
|
|
@@ -989,7 +1045,7 @@ int flush;
|
|
|
989
1045
|
state->mode = BAD;
|
|
990
1046
|
break;
|
|
991
1047
|
}
|
|
992
|
-
state->distcode = (code
|
|
1048
|
+
state->distcode = (const code FAR *)(state->next);
|
|
993
1049
|
state->distbits = 6;
|
|
994
1050
|
ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist,
|
|
995
1051
|
&(state->next), &(state->distbits), state->work);
|
|
@@ -1001,8 +1057,10 @@ int flush;
|
|
|
1001
1057
|
Tracev((stderr, "inflate: codes ok\n"));
|
|
1002
1058
|
state->mode = LEN_;
|
|
1003
1059
|
if (flush == Z_TREES) goto inf_leave;
|
|
1060
|
+
/* fallthrough */
|
|
1004
1061
|
case LEN_:
|
|
1005
1062
|
state->mode = LEN;
|
|
1063
|
+
/* fallthrough */
|
|
1006
1064
|
case LEN:
|
|
1007
1065
|
if (have >= 6 && left >= 258) {
|
|
1008
1066
|
RESTORE();
|
|
@@ -1052,6 +1110,7 @@ int flush;
|
|
|
1052
1110
|
}
|
|
1053
1111
|
state->extra = (unsigned)(here.op) & 15;
|
|
1054
1112
|
state->mode = LENEXT;
|
|
1113
|
+
/* fallthrough */
|
|
1055
1114
|
case LENEXT:
|
|
1056
1115
|
if (state->extra) {
|
|
1057
1116
|
NEEDBITS(state->extra);
|
|
@@ -1062,6 +1121,7 @@ int flush;
|
|
|
1062
1121
|
Tracevv((stderr, "inflate: length %u\n", state->length));
|
|
1063
1122
|
state->was = state->length;
|
|
1064
1123
|
state->mode = DIST;
|
|
1124
|
+
/* fallthrough */
|
|
1065
1125
|
case DIST:
|
|
1066
1126
|
for (;;) {
|
|
1067
1127
|
here = state->distcode[BITS(state->distbits)];
|
|
@@ -1089,6 +1149,7 @@ int flush;
|
|
|
1089
1149
|
state->offset = (unsigned)here.val;
|
|
1090
1150
|
state->extra = (unsigned)(here.op) & 15;
|
|
1091
1151
|
state->mode = DISTEXT;
|
|
1152
|
+
/* fallthrough */
|
|
1092
1153
|
case DISTEXT:
|
|
1093
1154
|
if (state->extra) {
|
|
1094
1155
|
NEEDBITS(state->extra);
|
|
@@ -1105,6 +1166,7 @@ int flush;
|
|
|
1105
1166
|
#endif
|
|
1106
1167
|
Tracevv((stderr, "inflate: distance %u\n", state->offset));
|
|
1107
1168
|
state->mode = MATCH;
|
|
1169
|
+
/* fallthrough */
|
|
1108
1170
|
case MATCH:
|
|
1109
1171
|
if (left == 0) goto inf_leave;
|
|
1110
1172
|
copy = out - left;
|
|
@@ -1162,15 +1224,15 @@ int flush;
|
|
|
1162
1224
|
out -= left;
|
|
1163
1225
|
strm->total_out += out;
|
|
1164
1226
|
state->total += out;
|
|
1165
|
-
if (out)
|
|
1227
|
+
if ((state->wrap & 4) && out)
|
|
1166
1228
|
strm->adler = state->check =
|
|
1167
|
-
|
|
1229
|
+
UPDATE_CHECK(state->check, put - out, out);
|
|
1168
1230
|
out = left;
|
|
1169
|
-
if ((
|
|
1231
|
+
if ((state->wrap & 4) && (
|
|
1170
1232
|
#ifdef GUNZIP
|
|
1171
1233
|
state->flags ? hold :
|
|
1172
1234
|
#endif
|
|
1173
|
-
|
|
1235
|
+
ZSWAP32(hold)) != state->check) {
|
|
1174
1236
|
strm->msg = (char *)"incorrect data check";
|
|
1175
1237
|
state->mode = BAD;
|
|
1176
1238
|
break;
|
|
@@ -1180,10 +1242,11 @@ int flush;
|
|
|
1180
1242
|
}
|
|
1181
1243
|
#ifdef GUNZIP
|
|
1182
1244
|
state->mode = LENGTH;
|
|
1245
|
+
/* fallthrough */
|
|
1183
1246
|
case LENGTH:
|
|
1184
1247
|
if (state->wrap && state->flags) {
|
|
1185
1248
|
NEEDBITS(32);
|
|
1186
|
-
if (hold != (state->total &
|
|
1249
|
+
if ((state->wrap & 4) && hold != (state->total & 0xffffffff)) {
|
|
1187
1250
|
strm->msg = (char *)"incorrect length check";
|
|
1188
1251
|
state->mode = BAD;
|
|
1189
1252
|
break;
|
|
@@ -1193,6 +1256,7 @@ int flush;
|
|
|
1193
1256
|
}
|
|
1194
1257
|
#endif
|
|
1195
1258
|
state->mode = DONE;
|
|
1259
|
+
/* fallthrough */
|
|
1196
1260
|
case DONE:
|
|
1197
1261
|
ret = Z_STREAM_END;
|
|
1198
1262
|
goto inf_leave;
|
|
@@ -1202,6 +1266,7 @@ int flush;
|
|
|
1202
1266
|
case MEM:
|
|
1203
1267
|
return Z_MEM_ERROR;
|
|
1204
1268
|
case SYNC:
|
|
1269
|
+
/* fallthrough */
|
|
1205
1270
|
default:
|
|
1206
1271
|
return Z_STREAM_ERROR;
|
|
1207
1272
|
}
|
|
@@ -1214,8 +1279,9 @@ int flush;
|
|
|
1214
1279
|
*/
|
|
1215
1280
|
inf_leave:
|
|
1216
1281
|
RESTORE();
|
|
1217
|
-
if (state->wsize || (state->mode <
|
|
1218
|
-
|
|
1282
|
+
if (state->wsize || (out != strm->avail_out && state->mode < BAD &&
|
|
1283
|
+
(state->mode < CHECK || flush != Z_FINISH)))
|
|
1284
|
+
if (updatewindow(strm, strm->next_out, out - strm->avail_out)) {
|
|
1219
1285
|
state->mode = MEM;
|
|
1220
1286
|
return Z_MEM_ERROR;
|
|
1221
1287
|
}
|
|
@@ -1224,10 +1290,10 @@ int flush;
|
|
|
1224
1290
|
strm->total_in += in;
|
|
1225
1291
|
strm->total_out += out;
|
|
1226
1292
|
state->total += out;
|
|
1227
|
-
if (state->wrap && out)
|
|
1293
|
+
if ((state->wrap & 4) && out)
|
|
1228
1294
|
strm->adler = state->check =
|
|
1229
|
-
|
|
1230
|
-
strm->data_type = state->bits + (state->last ? 64 : 0) +
|
|
1295
|
+
UPDATE_CHECK(state->check, strm->next_out - out, out);
|
|
1296
|
+
strm->data_type = (int)state->bits + (state->last ? 64 : 0) +
|
|
1231
1297
|
(state->mode == TYPE ? 128 : 0) +
|
|
1232
1298
|
(state->mode == LEN_ || state->mode == COPY_ ? 256 : 0);
|
|
1233
1299
|
if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK)
|
|
@@ -1239,7 +1305,7 @@ int ZEXPORT inflateEnd(strm)
|
|
|
1239
1305
|
z_streamp strm;
|
|
1240
1306
|
{
|
|
1241
1307
|
struct inflate_state FAR *state;
|
|
1242
|
-
if (strm
|
|
1308
|
+
if (inflateStateCheck(strm))
|
|
1243
1309
|
return Z_STREAM_ERROR;
|
|
1244
1310
|
state = (struct inflate_state FAR *)strm->state;
|
|
1245
1311
|
if (state->window != Z_NULL) ZFREE(strm, state->window);
|
|
@@ -1249,43 +1315,59 @@ z_streamp strm;
|
|
|
1249
1315
|
return Z_OK;
|
|
1250
1316
|
}
|
|
1251
1317
|
|
|
1318
|
+
int ZEXPORT inflateGetDictionary(strm, dictionary, dictLength)
|
|
1319
|
+
z_streamp strm;
|
|
1320
|
+
Bytef *dictionary;
|
|
1321
|
+
uInt *dictLength;
|
|
1322
|
+
{
|
|
1323
|
+
struct inflate_state FAR *state;
|
|
1324
|
+
|
|
1325
|
+
/* check state */
|
|
1326
|
+
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
|
|
1327
|
+
state = (struct inflate_state FAR *)strm->state;
|
|
1328
|
+
|
|
1329
|
+
/* copy dictionary */
|
|
1330
|
+
if (state->whave && dictionary != Z_NULL) {
|
|
1331
|
+
zmemcpy(dictionary, state->window + state->wnext,
|
|
1332
|
+
state->whave - state->wnext);
|
|
1333
|
+
zmemcpy(dictionary + state->whave - state->wnext,
|
|
1334
|
+
state->window, state->wnext);
|
|
1335
|
+
}
|
|
1336
|
+
if (dictLength != Z_NULL)
|
|
1337
|
+
*dictLength = state->whave;
|
|
1338
|
+
return Z_OK;
|
|
1339
|
+
}
|
|
1340
|
+
|
|
1252
1341
|
int ZEXPORT inflateSetDictionary(strm, dictionary, dictLength)
|
|
1253
1342
|
z_streamp strm;
|
|
1254
1343
|
const Bytef *dictionary;
|
|
1255
1344
|
uInt dictLength;
|
|
1256
1345
|
{
|
|
1257
1346
|
struct inflate_state FAR *state;
|
|
1258
|
-
unsigned long
|
|
1347
|
+
unsigned long dictid;
|
|
1348
|
+
int ret;
|
|
1259
1349
|
|
|
1260
1350
|
/* check state */
|
|
1261
|
-
if (strm
|
|
1351
|
+
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
|
|
1262
1352
|
state = (struct inflate_state FAR *)strm->state;
|
|
1263
1353
|
if (state->wrap != 0 && state->mode != DICT)
|
|
1264
1354
|
return Z_STREAM_ERROR;
|
|
1265
1355
|
|
|
1266
|
-
/* check for correct dictionary
|
|
1356
|
+
/* check for correct dictionary identifier */
|
|
1267
1357
|
if (state->mode == DICT) {
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
if (
|
|
1358
|
+
dictid = adler32(0L, Z_NULL, 0);
|
|
1359
|
+
dictid = adler32(dictid, dictionary, dictLength);
|
|
1360
|
+
if (dictid != state->check)
|
|
1271
1361
|
return Z_DATA_ERROR;
|
|
1272
1362
|
}
|
|
1273
1363
|
|
|
1274
|
-
/* copy dictionary to window
|
|
1275
|
-
|
|
1364
|
+
/* copy dictionary to window using updatewindow(), which will amend the
|
|
1365
|
+
existing dictionary if appropriate */
|
|
1366
|
+
ret = updatewindow(strm, dictionary + dictLength, dictLength);
|
|
1367
|
+
if (ret) {
|
|
1276
1368
|
state->mode = MEM;
|
|
1277
1369
|
return Z_MEM_ERROR;
|
|
1278
1370
|
}
|
|
1279
|
-
if (dictLength > state->wsize) {
|
|
1280
|
-
zmemcpy(state->window, dictionary + dictLength - state->wsize,
|
|
1281
|
-
state->wsize);
|
|
1282
|
-
state->whave = state->wsize;
|
|
1283
|
-
}
|
|
1284
|
-
else {
|
|
1285
|
-
zmemcpy(state->window + state->wsize - dictLength, dictionary,
|
|
1286
|
-
dictLength);
|
|
1287
|
-
state->whave = dictLength;
|
|
1288
|
-
}
|
|
1289
1371
|
state->havedict = 1;
|
|
1290
1372
|
Tracev((stderr, "inflate: dictionary set\n"));
|
|
1291
1373
|
return Z_OK;
|
|
@@ -1298,7 +1380,7 @@ gz_headerp head;
|
|
|
1298
1380
|
struct inflate_state FAR *state;
|
|
1299
1381
|
|
|
1300
1382
|
/* check state */
|
|
1301
|
-
if (strm
|
|
1383
|
+
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
|
|
1302
1384
|
state = (struct inflate_state FAR *)strm->state;
|
|
1303
1385
|
if ((state->wrap & 2) == 0) return Z_STREAM_ERROR;
|
|
1304
1386
|
|
|
@@ -1321,7 +1403,7 @@ gz_headerp head;
|
|
|
1321
1403
|
*/
|
|
1322
1404
|
local unsigned syncsearch(have, buf, len)
|
|
1323
1405
|
unsigned FAR *have;
|
|
1324
|
-
unsigned char FAR *buf;
|
|
1406
|
+
const unsigned char FAR *buf;
|
|
1325
1407
|
unsigned len;
|
|
1326
1408
|
{
|
|
1327
1409
|
unsigned got;
|
|
@@ -1346,12 +1428,13 @@ int ZEXPORT inflateSync(strm)
|
|
|
1346
1428
|
z_streamp strm;
|
|
1347
1429
|
{
|
|
1348
1430
|
unsigned len; /* number of bytes to look at or looked at */
|
|
1431
|
+
int flags; /* temporary to save header status */
|
|
1349
1432
|
unsigned long in, out; /* temporary to save total_in and total_out */
|
|
1350
1433
|
unsigned char buf[4]; /* to restore bit buffer to byte string */
|
|
1351
1434
|
struct inflate_state FAR *state;
|
|
1352
1435
|
|
|
1353
1436
|
/* check parameters */
|
|
1354
|
-
if (strm
|
|
1437
|
+
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
|
|
1355
1438
|
state = (struct inflate_state FAR *)strm->state;
|
|
1356
1439
|
if (strm->avail_in == 0 && state->bits < 8) return Z_BUF_ERROR;
|
|
1357
1440
|
|
|
@@ -1378,9 +1461,15 @@ z_streamp strm;
|
|
|
1378
1461
|
|
|
1379
1462
|
/* return no joy or set up to restart inflate() on a new block */
|
|
1380
1463
|
if (state->have != 4) return Z_DATA_ERROR;
|
|
1464
|
+
if (state->flags == -1)
|
|
1465
|
+
state->wrap = 0; /* if no header yet, treat as raw */
|
|
1466
|
+
else
|
|
1467
|
+
state->wrap &= ~4; /* no point in computing a check value now */
|
|
1468
|
+
flags = state->flags;
|
|
1381
1469
|
in = strm->total_in; out = strm->total_out;
|
|
1382
1470
|
inflateReset(strm);
|
|
1383
1471
|
strm->total_in = in; strm->total_out = out;
|
|
1472
|
+
state->flags = flags;
|
|
1384
1473
|
state->mode = TYPE;
|
|
1385
1474
|
return Z_OK;
|
|
1386
1475
|
}
|
|
@@ -1398,7 +1487,7 @@ z_streamp strm;
|
|
|
1398
1487
|
{
|
|
1399
1488
|
struct inflate_state FAR *state;
|
|
1400
1489
|
|
|
1401
|
-
if (strm
|
|
1490
|
+
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
|
|
1402
1491
|
state = (struct inflate_state FAR *)strm->state;
|
|
1403
1492
|
return state->mode == STORED && state->bits == 0;
|
|
1404
1493
|
}
|
|
@@ -1413,8 +1502,7 @@ z_streamp source;
|
|
|
1413
1502
|
unsigned wsize;
|
|
1414
1503
|
|
|
1415
1504
|
/* check input */
|
|
1416
|
-
if (
|
|
1417
|
-
source->zalloc == (alloc_func)0 || source->zfree == (free_func)0)
|
|
1505
|
+
if (inflateStateCheck(source) || dest == Z_NULL)
|
|
1418
1506
|
return Z_STREAM_ERROR;
|
|
1419
1507
|
state = (struct inflate_state FAR *)source->state;
|
|
1420
1508
|
|
|
@@ -1433,8 +1521,9 @@ z_streamp source;
|
|
|
1433
1521
|
}
|
|
1434
1522
|
|
|
1435
1523
|
/* copy state */
|
|
1436
|
-
zmemcpy(dest, source, sizeof(z_stream));
|
|
1437
|
-
zmemcpy(copy, state, sizeof(struct inflate_state));
|
|
1524
|
+
zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream));
|
|
1525
|
+
zmemcpy((voidpf)copy, (voidpf)state, sizeof(struct inflate_state));
|
|
1526
|
+
copy->strm = dest;
|
|
1438
1527
|
if (state->lencode >= state->codes &&
|
|
1439
1528
|
state->lencode <= state->codes + ENOUGH - 1) {
|
|
1440
1529
|
copy->lencode = copy->codes + (state->lencode - state->codes);
|
|
@@ -1456,25 +1545,51 @@ int subvert;
|
|
|
1456
1545
|
{
|
|
1457
1546
|
struct inflate_state FAR *state;
|
|
1458
1547
|
|
|
1459
|
-
if (strm
|
|
1548
|
+
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
|
|
1460
1549
|
state = (struct inflate_state FAR *)strm->state;
|
|
1461
|
-
state->sane = !subvert;
|
|
1462
1550
|
#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
|
|
1551
|
+
state->sane = !subvert;
|
|
1463
1552
|
return Z_OK;
|
|
1464
1553
|
#else
|
|
1554
|
+
(void)subvert;
|
|
1465
1555
|
state->sane = 1;
|
|
1466
1556
|
return Z_DATA_ERROR;
|
|
1467
1557
|
#endif
|
|
1468
1558
|
}
|
|
1469
1559
|
|
|
1560
|
+
int ZEXPORT inflateValidate(strm, check)
|
|
1561
|
+
z_streamp strm;
|
|
1562
|
+
int check;
|
|
1563
|
+
{
|
|
1564
|
+
struct inflate_state FAR *state;
|
|
1565
|
+
|
|
1566
|
+
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
|
|
1567
|
+
state = (struct inflate_state FAR *)strm->state;
|
|
1568
|
+
if (check && state->wrap)
|
|
1569
|
+
state->wrap |= 4;
|
|
1570
|
+
else
|
|
1571
|
+
state->wrap &= ~4;
|
|
1572
|
+
return Z_OK;
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1470
1575
|
long ZEXPORT inflateMark(strm)
|
|
1471
1576
|
z_streamp strm;
|
|
1472
1577
|
{
|
|
1473
1578
|
struct inflate_state FAR *state;
|
|
1474
1579
|
|
|
1475
|
-
if (strm
|
|
1580
|
+
if (inflateStateCheck(strm))
|
|
1581
|
+
return -(1L << 16);
|
|
1476
1582
|
state = (struct inflate_state FAR *)strm->state;
|
|
1477
|
-
return ((long)(state->back) << 16) +
|
|
1583
|
+
return (long)(((unsigned long)((long)state->back)) << 16) +
|
|
1478
1584
|
(state->mode == COPY ? state->length :
|
|
1479
1585
|
(state->mode == MATCH ? state->was - state->length : 0));
|
|
1480
1586
|
}
|
|
1587
|
+
|
|
1588
|
+
unsigned long ZEXPORT inflateCodesUsed(strm)
|
|
1589
|
+
z_streamp strm;
|
|
1590
|
+
{
|
|
1591
|
+
struct inflate_state FAR *state;
|
|
1592
|
+
if (inflateStateCheck(strm)) return (unsigned long)-1;
|
|
1593
|
+
state = (struct inflate_state FAR *)strm->state;
|
|
1594
|
+
return (unsigned long)(state->next - state->codes);
|
|
1595
|
+
}
|