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
|
@@ -88,7 +88,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_compression_compress.c
|
|
|
88
88
|
#define CLEAR 256 /* Table clear output code. */
|
|
89
89
|
|
|
90
90
|
struct private_data {
|
|
91
|
-
|
|
91
|
+
int64_t in_count, out_count, checkpoint;
|
|
92
92
|
|
|
93
93
|
int code_len; /* Number of bits/code. */
|
|
94
94
|
int cur_maxcode; /* Maximum code, given n_bits. */
|
|
@@ -108,23 +108,35 @@ struct private_data {
|
|
|
108
108
|
size_t compressed_offset;
|
|
109
109
|
};
|
|
110
110
|
|
|
111
|
-
static int
|
|
112
|
-
static int
|
|
113
|
-
static int archive_compressor_compress_write(struct archive_write *,
|
|
111
|
+
static int archive_compressor_compress_open(struct archive_write_filter *);
|
|
112
|
+
static int archive_compressor_compress_write(struct archive_write_filter *,
|
|
114
113
|
const void *, size_t);
|
|
114
|
+
static int archive_compressor_compress_close(struct archive_write_filter *);
|
|
115
|
+
static int archive_compressor_compress_free(struct archive_write_filter *);
|
|
116
|
+
|
|
117
|
+
#if ARCHIVE_VERSION_NUMBER < 4000000
|
|
118
|
+
int
|
|
119
|
+
archive_write_set_compression_compress(struct archive *a)
|
|
120
|
+
{
|
|
121
|
+
__archive_write_filters_free(a);
|
|
122
|
+
return (archive_write_add_filter_compress(a));
|
|
123
|
+
}
|
|
124
|
+
#endif
|
|
115
125
|
|
|
116
126
|
/*
|
|
117
|
-
*
|
|
127
|
+
* Add a compress filter to this write handle.
|
|
118
128
|
*/
|
|
119
129
|
int
|
|
120
|
-
|
|
130
|
+
archive_write_add_filter_compress(struct archive *_a)
|
|
121
131
|
{
|
|
122
132
|
struct archive_write *a = (struct archive_write *)_a;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
a->
|
|
126
|
-
|
|
127
|
-
|
|
133
|
+
struct archive_write_filter *f = __archive_write_allocate_filter(_a);
|
|
134
|
+
|
|
135
|
+
archive_check_magic(&a->archive, ARCHIVE_WRITE_MAGIC,
|
|
136
|
+
ARCHIVE_STATE_NEW, "archive_write_add_filter_compress");
|
|
137
|
+
f->open = &archive_compressor_compress_open;
|
|
138
|
+
f->code = ARCHIVE_FILTER_COMPRESS;
|
|
139
|
+
f->name = "compress";
|
|
128
140
|
return (ARCHIVE_OK);
|
|
129
141
|
}
|
|
130
142
|
|
|
@@ -132,46 +144,43 @@ archive_write_set_compression_compress(struct archive *_a)
|
|
|
132
144
|
* Setup callback.
|
|
133
145
|
*/
|
|
134
146
|
static int
|
|
135
|
-
|
|
147
|
+
archive_compressor_compress_open(struct archive_write_filter *f)
|
|
136
148
|
{
|
|
137
|
-
int ret;
|
|
138
149
|
struct private_data *state;
|
|
150
|
+
size_t bs = 65536, bpb;
|
|
139
151
|
|
|
140
|
-
|
|
141
|
-
|
|
152
|
+
f->code = ARCHIVE_FILTER_COMPRESS;
|
|
153
|
+
f->name = "compress";
|
|
142
154
|
|
|
143
|
-
|
|
144
|
-
archive_set_error(&a->archive, EINVAL,
|
|
145
|
-
"Can't write Compress header as single block");
|
|
146
|
-
return (ARCHIVE_FATAL);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
if (a->client_opener != NULL) {
|
|
150
|
-
ret = (a->client_opener)(&a->archive, a->client_data);
|
|
151
|
-
if (ret != ARCHIVE_OK)
|
|
152
|
-
return (ret);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
state = (struct private_data *)malloc(sizeof(*state));
|
|
155
|
+
state = (struct private_data *)calloc(1, sizeof(*state));
|
|
156
156
|
if (state == NULL) {
|
|
157
|
-
archive_set_error(
|
|
157
|
+
archive_set_error(f->archive, ENOMEM,
|
|
158
158
|
"Can't allocate data for compression");
|
|
159
159
|
return (ARCHIVE_FATAL);
|
|
160
160
|
}
|
|
161
|
-
memset(state, 0, sizeof(*state));
|
|
162
161
|
|
|
163
|
-
|
|
162
|
+
if (f->archive->magic == ARCHIVE_WRITE_MAGIC) {
|
|
163
|
+
/* Buffer size should be a multiple number of the of bytes
|
|
164
|
+
* per block for performance. */
|
|
165
|
+
bpb = archive_write_get_bytes_per_block(f->archive);
|
|
166
|
+
if (bpb > bs)
|
|
167
|
+
bs = bpb;
|
|
168
|
+
else if (bpb != 0)
|
|
169
|
+
bs -= bs % bpb;
|
|
170
|
+
}
|
|
171
|
+
state->compressed_buffer_size = bs;
|
|
164
172
|
state->compressed = malloc(state->compressed_buffer_size);
|
|
165
173
|
|
|
166
174
|
if (state->compressed == NULL) {
|
|
167
|
-
archive_set_error(
|
|
175
|
+
archive_set_error(f->archive, ENOMEM,
|
|
168
176
|
"Can't allocate data for compression buffer");
|
|
169
177
|
free(state);
|
|
170
178
|
return (ARCHIVE_FATAL);
|
|
171
179
|
}
|
|
172
180
|
|
|
173
|
-
|
|
174
|
-
|
|
181
|
+
f->write = archive_compressor_compress_write;
|
|
182
|
+
f->close = archive_compressor_compress_close;
|
|
183
|
+
f->free = archive_compressor_compress_free;
|
|
175
184
|
|
|
176
185
|
state->max_maxcode = 0x10000; /* Should NEVER generate this code. */
|
|
177
186
|
state->in_count = 0; /* Length of input. */
|
|
@@ -192,7 +201,7 @@ archive_compressor_compress_init(struct archive_write *a)
|
|
|
192
201
|
state->compressed[2] = 0x90; /* Block mode, 16bit max */
|
|
193
202
|
state->compressed_offset = 3;
|
|
194
203
|
|
|
195
|
-
|
|
204
|
+
f->data = state;
|
|
196
205
|
return (0);
|
|
197
206
|
}
|
|
198
207
|
|
|
@@ -200,7 +209,7 @@ archive_compressor_compress_init(struct archive_write *a)
|
|
|
200
209
|
* Output the given code.
|
|
201
210
|
* Inputs:
|
|
202
211
|
* code: A n_bits-bit integer. If == -1, then EOF. This assumes
|
|
203
|
-
* that n_bits
|
|
212
|
+
* that n_bits <= (long)wordsize - 1.
|
|
204
213
|
* Outputs:
|
|
205
214
|
* Outputs code to the file.
|
|
206
215
|
* Assumptions:
|
|
@@ -211,25 +220,22 @@ archive_compressor_compress_init(struct archive_write *a)
|
|
|
211
220
|
* code in turn. When the buffer fills up empty it and start over.
|
|
212
221
|
*/
|
|
213
222
|
|
|
214
|
-
static unsigned char rmask[9] =
|
|
223
|
+
static const unsigned char rmask[9] =
|
|
215
224
|
{0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff};
|
|
216
225
|
|
|
217
226
|
static int
|
|
218
|
-
output_byte(struct
|
|
227
|
+
output_byte(struct archive_write_filter *f, unsigned char c)
|
|
219
228
|
{
|
|
220
|
-
struct private_data *state =
|
|
221
|
-
ssize_t bytes_written;
|
|
229
|
+
struct private_data *state = f->data;
|
|
222
230
|
|
|
223
231
|
state->compressed[state->compressed_offset++] = c;
|
|
224
232
|
++state->out_count;
|
|
225
233
|
|
|
226
234
|
if (state->compressed_buffer_size == state->compressed_offset) {
|
|
227
|
-
|
|
228
|
-
a->client_data,
|
|
235
|
+
int ret = __archive_write_filter(f->next_filter,
|
|
229
236
|
state->compressed, state->compressed_buffer_size);
|
|
230
|
-
if (
|
|
237
|
+
if (ret != ARCHIVE_OK)
|
|
231
238
|
return ARCHIVE_FATAL;
|
|
232
|
-
a->archive.raw_position += bytes_written;
|
|
233
239
|
state->compressed_offset = 0;
|
|
234
240
|
}
|
|
235
241
|
|
|
@@ -237,9 +243,9 @@ output_byte(struct archive_write *a, unsigned char c)
|
|
|
237
243
|
}
|
|
238
244
|
|
|
239
245
|
static int
|
|
240
|
-
output_code(struct
|
|
246
|
+
output_code(struct archive_write_filter *f, int ocode)
|
|
241
247
|
{
|
|
242
|
-
struct private_data *state =
|
|
248
|
+
struct private_data *state = f->data;
|
|
243
249
|
int bits, ret, clear_flg, bit_offset;
|
|
244
250
|
|
|
245
251
|
clear_flg = ocode == CLEAR;
|
|
@@ -250,13 +256,13 @@ output_code(struct archive_write *a, int ocode)
|
|
|
250
256
|
*/
|
|
251
257
|
bit_offset = state->bit_offset % 8;
|
|
252
258
|
state->bit_buf |= (ocode << bit_offset) & 0xff;
|
|
253
|
-
output_byte(
|
|
259
|
+
output_byte(f, state->bit_buf);
|
|
254
260
|
|
|
255
261
|
bits = state->code_len - (8 - bit_offset);
|
|
256
262
|
ocode >>= 8 - bit_offset;
|
|
257
263
|
/* Get any 8 bit parts in the middle (<=1 for up to 16 bits). */
|
|
258
264
|
if (bits >= 8) {
|
|
259
|
-
output_byte(
|
|
265
|
+
output_byte(f, ocode & 0xff);
|
|
260
266
|
ocode >>= 8;
|
|
261
267
|
bits -= 8;
|
|
262
268
|
}
|
|
@@ -277,7 +283,7 @@ output_code(struct archive_write *a, int ocode)
|
|
|
277
283
|
*/
|
|
278
284
|
if (state->bit_offset > 0) {
|
|
279
285
|
while (state->bit_offset < state->code_len * 8) {
|
|
280
|
-
ret = output_byte(
|
|
286
|
+
ret = output_byte(f, state->bit_buf);
|
|
281
287
|
if (ret != ARCHIVE_OK)
|
|
282
288
|
return ret;
|
|
283
289
|
state->bit_offset += 8;
|
|
@@ -303,15 +309,15 @@ output_code(struct archive_write *a, int ocode)
|
|
|
303
309
|
}
|
|
304
310
|
|
|
305
311
|
static int
|
|
306
|
-
output_flush(struct
|
|
312
|
+
output_flush(struct archive_write_filter *f)
|
|
307
313
|
{
|
|
308
|
-
struct private_data *state =
|
|
314
|
+
struct private_data *state = f->data;
|
|
309
315
|
int ret;
|
|
310
316
|
|
|
311
317
|
/* At EOF, write the rest of the buffer. */
|
|
312
318
|
if (state->bit_offset % 8) {
|
|
313
319
|
state->code_len = (state->bit_offset % 8 + 7) / 8;
|
|
314
|
-
ret = output_byte(
|
|
320
|
+
ret = output_byte(f, state->bit_buf);
|
|
315
321
|
if (ret != ARCHIVE_OK)
|
|
316
322
|
return ret;
|
|
317
323
|
}
|
|
@@ -323,23 +329,15 @@ output_flush(struct archive_write *a)
|
|
|
323
329
|
* Write data to the compressed stream.
|
|
324
330
|
*/
|
|
325
331
|
static int
|
|
326
|
-
archive_compressor_compress_write(struct
|
|
327
|
-
size_t length)
|
|
332
|
+
archive_compressor_compress_write(struct archive_write_filter *f,
|
|
333
|
+
const void *buff, size_t length)
|
|
328
334
|
{
|
|
329
|
-
struct private_data *state;
|
|
335
|
+
struct private_data *state = (struct private_data *)f->data;
|
|
330
336
|
int i;
|
|
331
337
|
int ratio;
|
|
332
338
|
int c, disp, ret;
|
|
333
339
|
const unsigned char *bp;
|
|
334
340
|
|
|
335
|
-
state = (struct private_data *)a->compressor.data;
|
|
336
|
-
if (a->client_writer == NULL) {
|
|
337
|
-
archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
|
|
338
|
-
"No write callback is registered? "
|
|
339
|
-
"This is probably an internal programming error.");
|
|
340
|
-
return (ARCHIVE_FATAL);
|
|
341
|
-
}
|
|
342
|
-
|
|
343
341
|
if (length == 0)
|
|
344
342
|
return ARCHIVE_OK;
|
|
345
343
|
|
|
@@ -368,7 +366,7 @@ archive_compressor_compress_write(struct archive_write *a, const void *buff,
|
|
|
368
366
|
disp = 1;
|
|
369
367
|
else
|
|
370
368
|
disp = HSIZE - i;
|
|
371
|
-
probe:
|
|
369
|
+
probe:
|
|
372
370
|
if ((i -= disp) < 0)
|
|
373
371
|
i += HSIZE;
|
|
374
372
|
|
|
@@ -378,8 +376,8 @@ archive_compressor_compress_write(struct archive_write *a, const void *buff,
|
|
|
378
376
|
}
|
|
379
377
|
if (state->hashtab[i] >= 0)
|
|
380
378
|
goto probe;
|
|
381
|
-
nomatch:
|
|
382
|
-
ret = output_code(
|
|
379
|
+
nomatch:
|
|
380
|
+
ret = output_code(f, state->cur_code);
|
|
383
381
|
if (ret != ARCHIVE_OK)
|
|
384
382
|
return ret;
|
|
385
383
|
state->cur_code = c;
|
|
@@ -393,12 +391,12 @@ archive_compressor_compress_write(struct archive_write *a, const void *buff,
|
|
|
393
391
|
|
|
394
392
|
state->checkpoint = state->in_count + CHECK_GAP;
|
|
395
393
|
|
|
396
|
-
if (state->in_count <= 0x007fffff)
|
|
397
|
-
ratio = state->in_count * 256 / state->out_count;
|
|
398
|
-
else if ((ratio = state->out_count / 256) == 0)
|
|
394
|
+
if (state->in_count <= 0x007fffff && state->out_count != 0)
|
|
395
|
+
ratio = (int)(state->in_count * 256 / state->out_count);
|
|
396
|
+
else if ((ratio = (int)(state->out_count / 256)) == 0)
|
|
399
397
|
ratio = 0x7fffffff;
|
|
400
398
|
else
|
|
401
|
-
ratio = state->in_count / ratio;
|
|
399
|
+
ratio = (int)(state->in_count / ratio);
|
|
402
400
|
|
|
403
401
|
if (ratio > state->compress_ratio)
|
|
404
402
|
state->compress_ratio = ratio;
|
|
@@ -406,7 +404,7 @@ archive_compressor_compress_write(struct archive_write *a, const void *buff,
|
|
|
406
404
|
state->compress_ratio = 0;
|
|
407
405
|
memset(state->hashtab, 0xff, sizeof(state->hashtab));
|
|
408
406
|
state->first_free = FIRST;
|
|
409
|
-
ret = output_code(
|
|
407
|
+
ret = output_code(f, CLEAR);
|
|
410
408
|
if (ret != ARCHIVE_OK)
|
|
411
409
|
return ret;
|
|
412
410
|
}
|
|
@@ -420,73 +418,30 @@ archive_compressor_compress_write(struct archive_write *a, const void *buff,
|
|
|
420
418
|
* Finish the compression...
|
|
421
419
|
*/
|
|
422
420
|
static int
|
|
423
|
-
|
|
421
|
+
archive_compressor_compress_close(struct archive_write_filter *f)
|
|
424
422
|
{
|
|
425
|
-
|
|
423
|
+
struct private_data *state = (struct private_data *)f->data;
|
|
426
424
|
int ret;
|
|
427
|
-
struct private_data *state;
|
|
428
|
-
size_t tocopy;
|
|
429
|
-
|
|
430
|
-
state = (struct private_data *)a->compressor.data;
|
|
431
|
-
if (a->client_writer == NULL) {
|
|
432
|
-
archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
|
|
433
|
-
"No write callback is registered? "
|
|
434
|
-
"This is probably an internal programming error.");
|
|
435
|
-
ret = ARCHIVE_FATAL;
|
|
436
|
-
goto cleanup;
|
|
437
|
-
}
|
|
438
425
|
|
|
439
|
-
|
|
440
|
-
if (a->pad_uncompressed) {
|
|
441
|
-
while (state->in_count % a->bytes_per_block != 0) {
|
|
442
|
-
tocopy = a->bytes_per_block -
|
|
443
|
-
(state->in_count % a->bytes_per_block);
|
|
444
|
-
if (tocopy > a->null_length)
|
|
445
|
-
tocopy = a->null_length;
|
|
446
|
-
ret = archive_compressor_compress_write(a, a->nulls,
|
|
447
|
-
tocopy);
|
|
448
|
-
if (ret != ARCHIVE_OK)
|
|
449
|
-
goto cleanup;
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
ret = output_code(a, state->cur_code);
|
|
426
|
+
ret = output_code(f, state->cur_code);
|
|
454
427
|
if (ret != ARCHIVE_OK)
|
|
455
|
-
|
|
456
|
-
ret = output_flush(
|
|
428
|
+
return ret;
|
|
429
|
+
ret = output_flush(f);
|
|
457
430
|
if (ret != ARCHIVE_OK)
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
/* Optionally, pad the final compressed block. */
|
|
461
|
-
block_length = state->compressed_offset;
|
|
462
|
-
|
|
463
|
-
/* Tricky calculation to determine size of last block. */
|
|
464
|
-
if (a->bytes_in_last_block <= 0)
|
|
465
|
-
/* Default or Zero: pad to full block */
|
|
466
|
-
target_block_length = a->bytes_per_block;
|
|
467
|
-
else
|
|
468
|
-
/* Round length to next multiple of bytes_in_last_block. */
|
|
469
|
-
target_block_length = a->bytes_in_last_block *
|
|
470
|
-
( (block_length + a->bytes_in_last_block - 1) /
|
|
471
|
-
a->bytes_in_last_block);
|
|
472
|
-
if (target_block_length > a->bytes_per_block)
|
|
473
|
-
target_block_length = a->bytes_per_block;
|
|
474
|
-
if (block_length < target_block_length) {
|
|
475
|
-
memset(state->compressed + state->compressed_offset, 0,
|
|
476
|
-
target_block_length - block_length);
|
|
477
|
-
block_length = target_block_length;
|
|
478
|
-
}
|
|
431
|
+
return ret;
|
|
479
432
|
|
|
480
433
|
/* Write the last block */
|
|
481
|
-
|
|
482
|
-
state->compressed,
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
434
|
+
ret = __archive_write_filter(f->next_filter,
|
|
435
|
+
state->compressed, state->compressed_offset);
|
|
436
|
+
return (ret);
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
static int
|
|
440
|
+
archive_compressor_compress_free(struct archive_write_filter *f)
|
|
441
|
+
{
|
|
442
|
+
struct private_data *state = (struct private_data *)f->data;
|
|
443
|
+
|
|
489
444
|
free(state->compressed);
|
|
490
445
|
free(state);
|
|
491
|
-
return (
|
|
446
|
+
return (ARCHIVE_OK);
|
|
492
447
|
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/*-
|
|
2
|
+
* Copyright (c) 2003-2007 Tim Kientzle
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Redistribution and use in source and binary forms, with or without
|
|
6
|
+
* modification, are permitted provided that the following conditions
|
|
7
|
+
* are met:
|
|
8
|
+
* 1. Redistributions of source code must retain the above copyright
|
|
9
|
+
* notice, this list of conditions and the following disclaimer.
|
|
10
|
+
* 2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
+
* notice, this list of conditions and the following disclaimer in the
|
|
12
|
+
* documentation and/or other materials provided with the distribution.
|
|
13
|
+
*
|
|
14
|
+
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
|
|
15
|
+
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
16
|
+
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
17
|
+
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
18
|
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
19
|
+
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
20
|
+
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
21
|
+
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
22
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
23
|
+
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
#include "archive_platform.h"
|
|
27
|
+
|
|
28
|
+
__FBSDID("$FreeBSD$");
|
|
29
|
+
|
|
30
|
+
#ifdef HAVE_ERRNO_H
|
|
31
|
+
#include <errno.h>
|
|
32
|
+
#endif
|
|
33
|
+
#ifdef HAVE_STDLIB_H
|
|
34
|
+
#include <stdlib.h>
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
#include "archive.h"
|
|
38
|
+
#include "archive_write_private.h"
|
|
39
|
+
|
|
40
|
+
struct write_grzip {
|
|
41
|
+
struct archive_write_program_data *pdata;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
static int archive_write_grzip_open(struct archive_write_filter *);
|
|
45
|
+
static int archive_write_grzip_options(struct archive_write_filter *,
|
|
46
|
+
const char *, const char *);
|
|
47
|
+
static int archive_write_grzip_write(struct archive_write_filter *,
|
|
48
|
+
const void *, size_t);
|
|
49
|
+
static int archive_write_grzip_close(struct archive_write_filter *);
|
|
50
|
+
static int archive_write_grzip_free(struct archive_write_filter *);
|
|
51
|
+
|
|
52
|
+
int
|
|
53
|
+
archive_write_add_filter_grzip(struct archive *_a)
|
|
54
|
+
{
|
|
55
|
+
struct archive_write_filter *f = __archive_write_allocate_filter(_a);
|
|
56
|
+
struct write_grzip *data;
|
|
57
|
+
|
|
58
|
+
archive_check_magic(_a, ARCHIVE_WRITE_MAGIC,
|
|
59
|
+
ARCHIVE_STATE_NEW, "archive_write_add_filter_grzip");
|
|
60
|
+
|
|
61
|
+
data = calloc(1, sizeof(*data));
|
|
62
|
+
if (data == NULL) {
|
|
63
|
+
archive_set_error(_a, ENOMEM, "Can't allocate memory");
|
|
64
|
+
return (ARCHIVE_FATAL);
|
|
65
|
+
}
|
|
66
|
+
data->pdata = __archive_write_program_allocate("grzip");
|
|
67
|
+
if (data->pdata == NULL) {
|
|
68
|
+
free(data);
|
|
69
|
+
archive_set_error(_a, ENOMEM, "Can't allocate memory");
|
|
70
|
+
return (ARCHIVE_FATAL);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
f->name = "grzip";
|
|
74
|
+
f->code = ARCHIVE_FILTER_GRZIP;
|
|
75
|
+
f->data = data;
|
|
76
|
+
f->open = archive_write_grzip_open;
|
|
77
|
+
f->options = archive_write_grzip_options;
|
|
78
|
+
f->write = archive_write_grzip_write;
|
|
79
|
+
f->close = archive_write_grzip_close;
|
|
80
|
+
f->free = archive_write_grzip_free;
|
|
81
|
+
|
|
82
|
+
/* Note: This filter always uses an external program, so we
|
|
83
|
+
* return "warn" to inform of the fact. */
|
|
84
|
+
archive_set_error(_a, ARCHIVE_ERRNO_MISC,
|
|
85
|
+
"Using external grzip program for grzip compression");
|
|
86
|
+
return (ARCHIVE_WARN);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
static int
|
|
90
|
+
archive_write_grzip_options(struct archive_write_filter *f, const char *key,
|
|
91
|
+
const char *value)
|
|
92
|
+
{
|
|
93
|
+
(void)f; /* UNUSED */
|
|
94
|
+
(void)key; /* UNUSED */
|
|
95
|
+
(void)value; /* UNUSED */
|
|
96
|
+
/* Note: The "warn" return is just to inform the options
|
|
97
|
+
* supervisor that we didn't handle it. It will generate
|
|
98
|
+
* a suitable error if no one used this option. */
|
|
99
|
+
return (ARCHIVE_WARN);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
static int
|
|
103
|
+
archive_write_grzip_open(struct archive_write_filter *f)
|
|
104
|
+
{
|
|
105
|
+
struct write_grzip *data = (struct write_grzip *)f->data;
|
|
106
|
+
|
|
107
|
+
return __archive_write_program_open(f, data->pdata, "grzip");
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
static int
|
|
111
|
+
archive_write_grzip_write(struct archive_write_filter *f,
|
|
112
|
+
const void *buff, size_t length)
|
|
113
|
+
{
|
|
114
|
+
struct write_grzip *data = (struct write_grzip *)f->data;
|
|
115
|
+
|
|
116
|
+
return __archive_write_program_write(f, data->pdata, buff, length);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
static int
|
|
120
|
+
archive_write_grzip_close(struct archive_write_filter *f)
|
|
121
|
+
{
|
|
122
|
+
struct write_grzip *data = (struct write_grzip *)f->data;
|
|
123
|
+
|
|
124
|
+
return __archive_write_program_close(f, data->pdata);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
static int
|
|
128
|
+
archive_write_grzip_free(struct archive_write_filter *f)
|
|
129
|
+
{
|
|
130
|
+
struct write_grzip *data = (struct write_grzip *)f->data;
|
|
131
|
+
|
|
132
|
+
__archive_write_program_free(data->pdata);
|
|
133
|
+
free(data);
|
|
134
|
+
return (ARCHIVE_OK);
|
|
135
|
+
}
|