libarchive-static 1.0.5 → 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.
Files changed (296) hide show
  1. checksums.yaml +5 -5
  2. data/ext/extconf.rb +2 -9
  3. data/ext/libarchive-0.1.1/ext/archive_read_support_compression.c +6 -6
  4. data/ext/libarchive-0.1.1/ext/archive_read_support_compression.o +0 -0
  5. data/ext/libarchive-0.1.1/ext/archive_read_support_format.o +0 -0
  6. data/ext/libarchive-0.1.1/ext/archive_write_open_rb_str.c +1 -1
  7. data/ext/libarchive-0.1.1/ext/archive_write_open_rb_str.o +0 -0
  8. data/ext/libarchive-0.1.1/ext/archive_write_set_compression.c +5 -5
  9. data/ext/libarchive-0.1.1/ext/archive_write_set_compression.o +0 -0
  10. data/ext/libarchive-0.1.1/ext/config.h +23 -0
  11. data/ext/libarchive-0.1.1/ext/config.log +230 -0
  12. data/ext/libarchive-0.1.1/ext/config.status +671 -0
  13. data/ext/libarchive-0.1.1/ext/libarchive.c +1 -1
  14. data/ext/libarchive-0.1.1/ext/libarchive.o +0 -0
  15. data/ext/libarchive-0.1.1/ext/libarchive_archive.c +7 -7
  16. data/ext/libarchive-0.1.1/ext/libarchive_archive.o +0 -0
  17. data/ext/libarchive-0.1.1/ext/libarchive_entry.c +6 -0
  18. data/ext/libarchive-0.1.1/ext/libarchive_entry.o +0 -0
  19. data/ext/libarchive-0.1.1/ext/libarchive_internal.h +0 -1
  20. data/ext/libarchive-0.1.1/ext/libarchive_reader.c +6 -4
  21. data/ext/libarchive-0.1.1/ext/libarchive_reader.o +0 -0
  22. data/ext/libarchive-0.1.1/ext/libarchive_ruby.so +0 -0
  23. data/ext/libarchive-0.1.1/ext/libarchive_win32.h +1 -1
  24. data/ext/libarchive-0.1.1/ext/libarchive_writer.c +2 -2
  25. data/ext/libarchive-0.1.1/ext/libarchive_writer.o +0 -0
  26. data/ext/libarchive-3.6.2/Makefile.in +16892 -0
  27. data/ext/libarchive-3.6.2/build/autoconf/ax_append_compile_flags.m4 +67 -0
  28. data/ext/libarchive-3.6.2/build/autoconf/ax_append_flag.m4 +71 -0
  29. data/ext/libarchive-3.6.2/build/autoconf/ax_check_compile_flag.m4 +74 -0
  30. data/ext/libarchive-3.6.2/build/autoconf/ax_require_defined.m4 +37 -0
  31. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/check_stdcall_func.m4 +0 -0
  32. data/ext/libarchive-3.6.2/build/autoconf/compile +348 -0
  33. data/ext/libarchive-3.6.2/build/autoconf/config.guess +1754 -0
  34. data/ext/libarchive-3.6.2/build/autoconf/config.rpath +696 -0
  35. data/ext/libarchive-3.6.2/build/autoconf/config.sub +1890 -0
  36. data/ext/libarchive-3.6.2/build/autoconf/depcomp +791 -0
  37. data/ext/libarchive-3.6.2/build/autoconf/iconv.m4 +271 -0
  38. data/ext/libarchive-3.6.2/build/autoconf/install-sh +541 -0
  39. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/la_uid_t.m4 +0 -0
  40. data/ext/libarchive-3.6.2/build/autoconf/lib-ld.m4 +109 -0
  41. data/ext/libarchive-3.6.2/build/autoconf/lib-link.m4 +777 -0
  42. data/ext/libarchive-3.6.2/build/autoconf/lib-prefix.m4 +224 -0
  43. data/ext/libarchive-3.6.2/build/autoconf/ltmain.sh +11251 -0
  44. data/ext/libarchive-3.6.2/build/autoconf/m4_ax_compile_check_sizeof.m4 +115 -0
  45. data/ext/libarchive-3.6.2/build/autoconf/missing +215 -0
  46. data/ext/libarchive-3.6.2/build/autoconf/test-driver +153 -0
  47. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/pkgconfig/libarchive.pc.in +4 -1
  48. data/ext/libarchive-3.6.2/config.h.in +1504 -0
  49. data/ext/libarchive-3.6.2/configure +25558 -0
  50. data/ext/libarchive-3.6.2/libarchive/archive.h +1212 -0
  51. data/ext/libarchive-3.6.2/libarchive/archive_acl.c +2097 -0
  52. data/ext/libarchive-3.6.2/libarchive/archive_acl_private.h +83 -0
  53. data/ext/libarchive-3.6.2/libarchive/archive_blake2.h +197 -0
  54. data/ext/libarchive-3.6.2/libarchive/archive_blake2_impl.h +161 -0
  55. data/ext/libarchive-3.6.2/libarchive/archive_blake2s_ref.c +369 -0
  56. data/ext/libarchive-3.6.2/libarchive/archive_blake2sp_ref.c +361 -0
  57. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_check_magic.c +63 -22
  58. data/ext/libarchive-3.6.2/libarchive/archive_cmdline.c +227 -0
  59. data/ext/libarchive-3.6.2/libarchive/archive_cmdline_private.h +47 -0
  60. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_crc32.h +17 -0
  61. data/ext/libarchive-3.6.2/libarchive/archive_cryptor.c +534 -0
  62. data/ext/libarchive-3.6.2/libarchive/archive_cryptor_private.h +188 -0
  63. data/ext/libarchive-3.6.2/libarchive/archive_digest.c +1505 -0
  64. data/ext/libarchive-3.6.2/libarchive/archive_digest_private.h +416 -0
  65. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_darwin.c +559 -0
  66. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_freebsd.c +712 -0
  67. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_linux.c +760 -0
  68. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_sunos.c +824 -0
  69. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_endian.h +48 -15
  70. data/ext/libarchive-3.6.2/libarchive/archive_entry.c +2149 -0
  71. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry.h +305 -106
  72. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_bhfi.c +5 -4
  73. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_stat.c +9 -3
  74. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_link_resolver.c +104 -62
  75. data/ext/libarchive-3.6.2/libarchive/archive_entry_locale.h +92 -0
  76. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_private.h +65 -49
  77. data/ext/libarchive-3.6.2/libarchive/archive_entry_sparse.c +156 -0
  78. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_stat.c +6 -6
  79. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_strmode.c +1 -1
  80. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_xattr.c +4 -6
  81. data/ext/libarchive-3.6.2/libarchive/archive_getdate.c +1165 -0
  82. data/ext/libarchive-3.6.2/libarchive/archive_getdate.h +39 -0
  83. data/ext/libarchive-3.6.2/libarchive/archive_hmac.c +334 -0
  84. data/ext/libarchive-3.6.2/libarchive/archive_hmac_private.h +117 -0
  85. data/ext/libarchive-3.6.2/libarchive/archive_match.c +1875 -0
  86. data/ext/libarchive-3.6.2/libarchive/archive_openssl_evp_private.h +53 -0
  87. data/ext/libarchive-3.6.2/libarchive/archive_openssl_hmac_private.h +54 -0
  88. data/ext/libarchive-3.6.2/libarchive/archive_options.c +218 -0
  89. data/ext/libarchive-3.6.2/libarchive/archive_options_private.h +51 -0
  90. data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.c +337 -0
  91. data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.h +49 -0
  92. data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.c +463 -0
  93. data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.h +52 -0
  94. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_platform.h +77 -9
  95. data/ext/libarchive-3.6.2/libarchive/archive_platform_acl.h +55 -0
  96. data/ext/libarchive-3.6.2/libarchive/archive_platform_xattr.h +47 -0
  97. data/ext/libarchive-3.6.2/libarchive/archive_ppmd7.c +1168 -0
  98. data/ext/libarchive-3.6.2/libarchive/archive_ppmd7_private.h +119 -0
  99. data/ext/libarchive-3.6.2/libarchive/archive_ppmd8.c +1287 -0
  100. data/ext/libarchive-3.6.2/libarchive/archive_ppmd8_private.h +148 -0
  101. data/ext/libarchive-3.6.2/libarchive/archive_ppmd_private.h +151 -0
  102. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_private.h +74 -18
  103. data/ext/libarchive-3.6.2/libarchive/archive_random.c +272 -0
  104. data/ext/libarchive-3.6.2/libarchive/archive_random_private.h +36 -0
  105. data/ext/libarchive-3.6.2/libarchive/archive_rb.c +709 -0
  106. data/ext/libarchive-3.6.2/libarchive/archive_rb.h +113 -0
  107. data/ext/libarchive-3.6.2/libarchive/archive_read.c +1756 -0
  108. data/ext/libarchive-3.6.2/libarchive/archive_read_add_passphrase.c +190 -0
  109. data/ext/libarchive-3.6.2/libarchive/archive_read_append_filter.c +204 -0
  110. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_data_into_fd.c +64 -18
  111. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_entry_from_file.c +1086 -0
  112. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_posix.c +2732 -0
  113. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_private.h +40 -4
  114. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_set_standard_lookup.c +21 -11
  115. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_windows.c +2479 -0
  116. data/ext/libarchive-3.6.2/libarchive/archive_read_extract.c +60 -0
  117. data/ext/{libarchive-2.8.4/libarchive/archive_read_extract.c → libarchive-3.6.2/libarchive/archive_read_extract2.c} +34 -61
  118. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_fd.c +70 -49
  119. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_file.c +38 -23
  120. data/ext/libarchive-3.6.2/libarchive/archive_read_open_filename.c +586 -0
  121. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_memory.c +58 -28
  122. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_private.h +127 -59
  123. data/ext/libarchive-3.6.2/libarchive/archive_read_set_format.c +117 -0
  124. data/ext/libarchive-3.6.2/libarchive/archive_read_set_options.c +133 -0
  125. 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
  126. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_by_code.c +83 -0
  127. 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
  128. 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
  129. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_grzip.c +112 -0
  130. 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
  131. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lrzip.c +122 -0
  132. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lz4.c +742 -0
  133. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lzop.c +499 -0
  134. 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
  135. 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
  136. 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
  137. 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
  138. 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
  139. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_zstd.c +297 -0
  140. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_7zip.c +3900 -0
  141. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_all.c +89 -0
  142. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_ar.c +126 -72
  143. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_by_code.c +92 -0
  144. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cab.c +3228 -0
  145. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cpio.c +1104 -0
  146. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_empty.c +14 -11
  147. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_iso9660.c +990 -541
  148. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_lha.c +2916 -0
  149. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_mtree.c +2150 -0
  150. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar.c +3797 -0
  151. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar5.c +4251 -0
  152. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_raw.c +38 -31
  153. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_tar.c +1157 -629
  154. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_warc.c +848 -0
  155. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_xar.c +439 -258
  156. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_zip.c +4270 -0
  157. data/ext/libarchive-3.6.2/libarchive/archive_string.c +4240 -0
  158. data/ext/libarchive-3.6.2/libarchive/archive_string.h +243 -0
  159. data/ext/libarchive-3.6.2/libarchive/archive_string_composition.h +2292 -0
  160. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_string_sprintf.c +44 -16
  161. data/ext/libarchive-3.6.2/libarchive/archive_util.c +655 -0
  162. data/ext/libarchive-3.6.2/libarchive/archive_version_details.c +151 -0
  163. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_virtual.c +85 -16
  164. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.c +214 -541
  165. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.h +74 -106
  166. data/ext/libarchive-3.6.2/libarchive/archive_write.c +828 -0
  167. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter.c +72 -0
  168. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_b64encode.c +304 -0
  169. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_by_name.c +77 -0
  170. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_bzip2.c +401 -0
  171. 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
  172. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_grzip.c +135 -0
  173. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_gzip.c +442 -0
  174. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lrzip.c +197 -0
  175. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lz4.c +700 -0
  176. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lzop.c +478 -0
  177. 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
  178. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_program.c +391 -0
  179. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_uuencode.c +295 -0
  180. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_xz.c +545 -0
  181. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_zstd.c +418 -0
  182. data/ext/libarchive-3.6.2/libarchive/archive_write_disk_posix.c +4711 -0
  183. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_private.h +9 -2
  184. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_set_standard_lookup.c +30 -29
  185. data/ext/libarchive-3.6.2/libarchive/archive_write_disk_windows.c +2842 -0
  186. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_fd.c +15 -10
  187. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_file.c +15 -9
  188. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_filename.c +128 -20
  189. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_memory.c +7 -18
  190. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_private.h +72 -29
  191. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format.c +56 -3
  192. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_7zip.c +2322 -0
  193. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ar.c +54 -34
  194. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_by_name.c +20 -2
  195. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio.c +11 -0
  196. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_binary.c +610 -0
  197. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_newc.c +457 -0
  198. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_odc.c +500 -0
  199. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_filter_by_ext.c +142 -0
  200. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_gnutar.c +755 -0
  201. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_iso9660.c +8165 -0
  202. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_mtree.c +2217 -0
  203. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_pax.c +1049 -387
  204. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_private.h +42 -0
  205. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_raw.c +125 -0
  206. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_shar.c +62 -47
  207. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ustar.c +279 -108
  208. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_v7tar.c +638 -0
  209. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_warc.c +453 -0
  210. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_xar.c +3259 -0
  211. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_zip.c +1704 -0
  212. data/ext/libarchive-3.6.2/libarchive/archive_write_set_options.c +130 -0
  213. data/ext/libarchive-3.6.2/libarchive/archive_write_set_passphrase.c +95 -0
  214. data/ext/libarchive-3.6.2/libarchive/archive_xxhash.h +48 -0
  215. data/ext/libarchive-3.6.2/libarchive/config_freebsd.h +271 -0
  216. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/filter_fork.h +10 -5
  217. data/ext/{libarchive-2.8.4/libarchive/filter_fork.c → libarchive-3.6.2/libarchive/filter_fork_posix.c} +98 -19
  218. data/ext/libarchive-3.6.2/libarchive/filter_fork_windows.c +236 -0
  219. data/ext/libarchive-3.6.2/libarchive/xxhash.c +525 -0
  220. data/ext/libarchive-static-makefile +144 -80
  221. data/ext/libarchive-static-wrapper-makefile +1 -1
  222. data/ext/zlib-1.2.13/Makefile.in +404 -0
  223. data/ext/{zlib-1.2.5 → zlib-1.2.13}/adler32.c +51 -34
  224. data/ext/{zlib-1.2.5 → zlib-1.2.13}/compress.c +27 -21
  225. data/ext/zlib-1.2.13/configure +922 -0
  226. data/ext/zlib-1.2.13/crc32.c +1125 -0
  227. data/ext/zlib-1.2.13/crc32.h +9446 -0
  228. data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.c +842 -459
  229. data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.h +37 -33
  230. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzclose.c +0 -0
  231. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzguts.h +103 -16
  232. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzlib.c +155 -53
  233. data/ext/zlib-1.2.13/gzread.c +650 -0
  234. data/ext/zlib-1.2.13/gzwrite.c +677 -0
  235. data/ext/{zlib-1.2.5 → zlib-1.2.13}/infback.c +24 -12
  236. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.c +49 -66
  237. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.h +0 -0
  238. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffixed.h +3 -3
  239. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.c +209 -94
  240. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.h +9 -5
  241. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.c +24 -50
  242. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.h +1 -1
  243. data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.c +135 -198
  244. data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.h +0 -0
  245. data/ext/zlib-1.2.13/uncompr.c +93 -0
  246. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zconf.h +182 -63
  247. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zlib.h +617 -295
  248. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.c +50 -41
  249. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.h +83 -82
  250. metadata +244 -137
  251. data/ext/libarchive-0.1.1/libarchive.c +0 -1762
  252. data/ext/libarchive-2.8.4/Makefile.in +0 -7076
  253. data/ext/libarchive-2.8.4/build/autoconf/compile +0 -143
  254. data/ext/libarchive-2.8.4/build/autoconf/config.guess +0 -1502
  255. data/ext/libarchive-2.8.4/build/autoconf/config.sub +0 -1708
  256. data/ext/libarchive-2.8.4/build/autoconf/depcomp +0 -630
  257. data/ext/libarchive-2.8.4/build/autoconf/install-sh +0 -291
  258. data/ext/libarchive-2.8.4/build/autoconf/ltmain.sh +0 -8406
  259. data/ext/libarchive-2.8.4/build/autoconf/missing +0 -376
  260. data/ext/libarchive-2.8.4/config.h.in +0 -772
  261. data/ext/libarchive-2.8.4/configure +0 -17916
  262. data/ext/libarchive-2.8.4/libarchive/archive.h +0 -741
  263. data/ext/libarchive-2.8.4/libarchive/archive_entry.c +0 -2202
  264. data/ext/libarchive-2.8.4/libarchive/archive_hash.h +0 -281
  265. data/ext/libarchive-2.8.4/libarchive/archive_read.c +0 -1249
  266. data/ext/libarchive-2.8.4/libarchive/archive_read_disk.c +0 -198
  267. data/ext/libarchive-2.8.4/libarchive/archive_read_disk_entry_from_file.c +0 -570
  268. data/ext/libarchive-2.8.4/libarchive/archive_read_open_filename.c +0 -272
  269. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_cpio.c +0 -777
  270. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_mtree.c +0 -1304
  271. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_zip.c +0 -903
  272. data/ext/libarchive-2.8.4/libarchive/archive_string.c +0 -453
  273. data/ext/libarchive-2.8.4/libarchive/archive_string.h +0 -148
  274. data/ext/libarchive-2.8.4/libarchive/archive_util.c +0 -391
  275. data/ext/libarchive-2.8.4/libarchive/archive_write.c +0 -466
  276. data/ext/libarchive-2.8.4/libarchive/archive_write_disk.c +0 -2628
  277. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_bzip2.c +0 -408
  278. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_gzip.c +0 -477
  279. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_none.c +0 -257
  280. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_program.c +0 -347
  281. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_xz.c +0 -438
  282. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio.c +0 -344
  283. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio_newc.c +0 -295
  284. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_mtree.c +0 -1050
  285. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_zip.c +0 -667
  286. data/ext/libarchive-2.8.4/libarchive/config_freebsd.h +0 -154
  287. data/ext/libarchive-2.8.4/libarchive/filter_fork_windows.c +0 -113
  288. data/ext/zlib-1.2.5/Makefile.in +0 -257
  289. data/ext/zlib-1.2.5/configure +0 -596
  290. data/ext/zlib-1.2.5/crc32.c +0 -442
  291. data/ext/zlib-1.2.5/crc32.h +0 -441
  292. data/ext/zlib-1.2.5/example.c +0 -565
  293. data/ext/zlib-1.2.5/gzread.c +0 -653
  294. data/ext/zlib-1.2.5/gzwrite.c +0 -531
  295. data/ext/zlib-1.2.5/minigzip.c +0 -440
  296. data/ext/zlib-1.2.5/uncompr.c +0 -59
@@ -0,0 +1,677 @@
1
+ /* gzwrite.c -- zlib functions for writing gzip files
2
+ * Copyright (C) 2004-2019 Mark Adler
3
+ * For conditions of distribution and use, see copyright notice in zlib.h
4
+ */
5
+
6
+ #include "gzguts.h"
7
+
8
+ /* Local functions */
9
+ local int gz_init OF((gz_statep));
10
+ local int gz_comp OF((gz_statep, int));
11
+ local int gz_zero OF((gz_statep, z_off64_t));
12
+ local z_size_t gz_write OF((gz_statep, voidpc, z_size_t));
13
+
14
+ /* Initialize state for writing a gzip file. Mark initialization by setting
15
+ state->size to non-zero. Return -1 on a memory allocation failure, or 0 on
16
+ success. */
17
+ local int gz_init(state)
18
+ gz_statep state;
19
+ {
20
+ int ret;
21
+ z_streamp strm = &(state->strm);
22
+
23
+ /* allocate input buffer (double size for gzprintf) */
24
+ state->in = (unsigned char *)malloc(state->want << 1);
25
+ if (state->in == NULL) {
26
+ gz_error(state, Z_MEM_ERROR, "out of memory");
27
+ return -1;
28
+ }
29
+
30
+ /* only need output buffer and deflate state if compressing */
31
+ if (!state->direct) {
32
+ /* allocate output buffer */
33
+ state->out = (unsigned char *)malloc(state->want);
34
+ if (state->out == NULL) {
35
+ free(state->in);
36
+ gz_error(state, Z_MEM_ERROR, "out of memory");
37
+ return -1;
38
+ }
39
+
40
+ /* allocate deflate memory, set up for gzip compression */
41
+ strm->zalloc = Z_NULL;
42
+ strm->zfree = Z_NULL;
43
+ strm->opaque = Z_NULL;
44
+ ret = deflateInit2(strm, state->level, Z_DEFLATED,
45
+ MAX_WBITS + 16, DEF_MEM_LEVEL, state->strategy);
46
+ if (ret != Z_OK) {
47
+ free(state->out);
48
+ free(state->in);
49
+ gz_error(state, Z_MEM_ERROR, "out of memory");
50
+ return -1;
51
+ }
52
+ strm->next_in = NULL;
53
+ }
54
+
55
+ /* mark state as initialized */
56
+ state->size = state->want;
57
+
58
+ /* initialize write buffer if compressing */
59
+ if (!state->direct) {
60
+ strm->avail_out = state->size;
61
+ strm->next_out = state->out;
62
+ state->x.next = strm->next_out;
63
+ }
64
+ return 0;
65
+ }
66
+
67
+ /* Compress whatever is at avail_in and next_in and write to the output file.
68
+ Return -1 if there is an error writing to the output file or if gz_init()
69
+ fails to allocate memory, otherwise 0. flush is assumed to be a valid
70
+ deflate() flush value. If flush is Z_FINISH, then the deflate() state is
71
+ reset to start a new gzip stream. If gz->direct is true, then simply write
72
+ to the output file without compressing, and ignore flush. */
73
+ local int gz_comp(state, flush)
74
+ gz_statep state;
75
+ int flush;
76
+ {
77
+ int ret, writ;
78
+ unsigned have, put, max = ((unsigned)-1 >> 2) + 1;
79
+ z_streamp strm = &(state->strm);
80
+
81
+ /* allocate memory if this is the first time through */
82
+ if (state->size == 0 && gz_init(state) == -1)
83
+ return -1;
84
+
85
+ /* write directly if requested */
86
+ if (state->direct) {
87
+ while (strm->avail_in) {
88
+ put = strm->avail_in > max ? max : strm->avail_in;
89
+ writ = write(state->fd, strm->next_in, put);
90
+ if (writ < 0) {
91
+ gz_error(state, Z_ERRNO, zstrerror());
92
+ return -1;
93
+ }
94
+ strm->avail_in -= (unsigned)writ;
95
+ strm->next_in += writ;
96
+ }
97
+ return 0;
98
+ }
99
+
100
+ /* check for a pending reset */
101
+ if (state->reset) {
102
+ /* don't start a new gzip member unless there is data to write */
103
+ if (strm->avail_in == 0)
104
+ return 0;
105
+ deflateReset(strm);
106
+ state->reset = 0;
107
+ }
108
+
109
+ /* run deflate() on provided input until it produces no more output */
110
+ ret = Z_OK;
111
+ do {
112
+ /* write out current buffer contents if full, or if flushing, but if
113
+ doing Z_FINISH then don't write until we get to Z_STREAM_END */
114
+ if (strm->avail_out == 0 || (flush != Z_NO_FLUSH &&
115
+ (flush != Z_FINISH || ret == Z_STREAM_END))) {
116
+ while (strm->next_out > state->x.next) {
117
+ put = strm->next_out - state->x.next > (int)max ? max :
118
+ (unsigned)(strm->next_out - state->x.next);
119
+ writ = write(state->fd, state->x.next, put);
120
+ if (writ < 0) {
121
+ gz_error(state, Z_ERRNO, zstrerror());
122
+ return -1;
123
+ }
124
+ state->x.next += writ;
125
+ }
126
+ if (strm->avail_out == 0) {
127
+ strm->avail_out = state->size;
128
+ strm->next_out = state->out;
129
+ state->x.next = state->out;
130
+ }
131
+ }
132
+
133
+ /* compress */
134
+ have = strm->avail_out;
135
+ ret = deflate(strm, flush);
136
+ if (ret == Z_STREAM_ERROR) {
137
+ gz_error(state, Z_STREAM_ERROR,
138
+ "internal error: deflate stream corrupt");
139
+ return -1;
140
+ }
141
+ have -= strm->avail_out;
142
+ } while (have);
143
+
144
+ /* if that completed a deflate stream, allow another to start */
145
+ if (flush == Z_FINISH)
146
+ state->reset = 1;
147
+
148
+ /* all done, no errors */
149
+ return 0;
150
+ }
151
+
152
+ /* Compress len zeros to output. Return -1 on a write error or memory
153
+ allocation failure by gz_comp(), or 0 on success. */
154
+ local int gz_zero(state, len)
155
+ gz_statep state;
156
+ z_off64_t len;
157
+ {
158
+ int first;
159
+ unsigned n;
160
+ z_streamp strm = &(state->strm);
161
+
162
+ /* consume whatever's left in the input buffer */
163
+ if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1)
164
+ return -1;
165
+
166
+ /* compress len zeros (len guaranteed > 0) */
167
+ first = 1;
168
+ while (len) {
169
+ n = GT_OFF(state->size) || (z_off64_t)state->size > len ?
170
+ (unsigned)len : state->size;
171
+ if (first) {
172
+ memset(state->in, 0, n);
173
+ first = 0;
174
+ }
175
+ strm->avail_in = n;
176
+ strm->next_in = state->in;
177
+ state->x.pos += n;
178
+ if (gz_comp(state, Z_NO_FLUSH) == -1)
179
+ return -1;
180
+ len -= n;
181
+ }
182
+ return 0;
183
+ }
184
+
185
+ /* Write len bytes from buf to file. Return the number of bytes written. If
186
+ the returned value is less than len, then there was an error. */
187
+ local z_size_t gz_write(state, buf, len)
188
+ gz_statep state;
189
+ voidpc buf;
190
+ z_size_t len;
191
+ {
192
+ z_size_t put = len;
193
+
194
+ /* if len is zero, avoid unnecessary operations */
195
+ if (len == 0)
196
+ return 0;
197
+
198
+ /* allocate memory if this is the first time through */
199
+ if (state->size == 0 && gz_init(state) == -1)
200
+ return 0;
201
+
202
+ /* check for seek request */
203
+ if (state->seek) {
204
+ state->seek = 0;
205
+ if (gz_zero(state, state->skip) == -1)
206
+ return 0;
207
+ }
208
+
209
+ /* for small len, copy to input buffer, otherwise compress directly */
210
+ if (len < state->size) {
211
+ /* copy to input buffer, compress when full */
212
+ do {
213
+ unsigned have, copy;
214
+
215
+ if (state->strm.avail_in == 0)
216
+ state->strm.next_in = state->in;
217
+ have = (unsigned)((state->strm.next_in + state->strm.avail_in) -
218
+ state->in);
219
+ copy = state->size - have;
220
+ if (copy > len)
221
+ copy = (unsigned)len;
222
+ memcpy(state->in + have, buf, copy);
223
+ state->strm.avail_in += copy;
224
+ state->x.pos += copy;
225
+ buf = (const char *)buf + copy;
226
+ len -= copy;
227
+ if (len && gz_comp(state, Z_NO_FLUSH) == -1)
228
+ return 0;
229
+ } while (len);
230
+ }
231
+ else {
232
+ /* consume whatever's left in the input buffer */
233
+ if (state->strm.avail_in && gz_comp(state, Z_NO_FLUSH) == -1)
234
+ return 0;
235
+
236
+ /* directly compress user buffer to file */
237
+ state->strm.next_in = (z_const Bytef *)buf;
238
+ do {
239
+ unsigned n = (unsigned)-1;
240
+ if (n > len)
241
+ n = (unsigned)len;
242
+ state->strm.avail_in = n;
243
+ state->x.pos += n;
244
+ if (gz_comp(state, Z_NO_FLUSH) == -1)
245
+ return 0;
246
+ len -= n;
247
+ } while (len);
248
+ }
249
+
250
+ /* input was all buffered or compressed */
251
+ return put;
252
+ }
253
+
254
+ /* -- see zlib.h -- */
255
+ int ZEXPORT gzwrite(file, buf, len)
256
+ gzFile file;
257
+ voidpc buf;
258
+ unsigned len;
259
+ {
260
+ gz_statep state;
261
+
262
+ /* get internal structure */
263
+ if (file == NULL)
264
+ return 0;
265
+ state = (gz_statep)file;
266
+
267
+ /* check that we're writing and that there's no error */
268
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
269
+ return 0;
270
+
271
+ /* since an int is returned, make sure len fits in one, otherwise return
272
+ with an error (this avoids a flaw in the interface) */
273
+ if ((int)len < 0) {
274
+ gz_error(state, Z_DATA_ERROR, "requested length does not fit in int");
275
+ return 0;
276
+ }
277
+
278
+ /* write len bytes from buf (the return value will fit in an int) */
279
+ return (int)gz_write(state, buf, len);
280
+ }
281
+
282
+ /* -- see zlib.h -- */
283
+ z_size_t ZEXPORT gzfwrite(buf, size, nitems, file)
284
+ voidpc buf;
285
+ z_size_t size;
286
+ z_size_t nitems;
287
+ gzFile file;
288
+ {
289
+ z_size_t len;
290
+ gz_statep state;
291
+
292
+ /* get internal structure */
293
+ if (file == NULL)
294
+ return 0;
295
+ state = (gz_statep)file;
296
+
297
+ /* check that we're writing and that there's no error */
298
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
299
+ return 0;
300
+
301
+ /* compute bytes to read -- error on overflow */
302
+ len = nitems * size;
303
+ if (size && len / size != nitems) {
304
+ gz_error(state, Z_STREAM_ERROR, "request does not fit in a size_t");
305
+ return 0;
306
+ }
307
+
308
+ /* write len bytes to buf, return the number of full items written */
309
+ return len ? gz_write(state, buf, len) / size : 0;
310
+ }
311
+
312
+ /* -- see zlib.h -- */
313
+ int ZEXPORT gzputc(file, c)
314
+ gzFile file;
315
+ int c;
316
+ {
317
+ unsigned have;
318
+ unsigned char buf[1];
319
+ gz_statep state;
320
+ z_streamp strm;
321
+
322
+ /* get internal structure */
323
+ if (file == NULL)
324
+ return -1;
325
+ state = (gz_statep)file;
326
+ strm = &(state->strm);
327
+
328
+ /* check that we're writing and that there's no error */
329
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
330
+ return -1;
331
+
332
+ /* check for seek request */
333
+ if (state->seek) {
334
+ state->seek = 0;
335
+ if (gz_zero(state, state->skip) == -1)
336
+ return -1;
337
+ }
338
+
339
+ /* try writing to input buffer for speed (state->size == 0 if buffer not
340
+ initialized) */
341
+ if (state->size) {
342
+ if (strm->avail_in == 0)
343
+ strm->next_in = state->in;
344
+ have = (unsigned)((strm->next_in + strm->avail_in) - state->in);
345
+ if (have < state->size) {
346
+ state->in[have] = (unsigned char)c;
347
+ strm->avail_in++;
348
+ state->x.pos++;
349
+ return c & 0xff;
350
+ }
351
+ }
352
+
353
+ /* no room in buffer or not initialized, use gz_write() */
354
+ buf[0] = (unsigned char)c;
355
+ if (gz_write(state, buf, 1) != 1)
356
+ return -1;
357
+ return c & 0xff;
358
+ }
359
+
360
+ /* -- see zlib.h -- */
361
+ int ZEXPORT gzputs(file, s)
362
+ gzFile file;
363
+ const char *s;
364
+ {
365
+ z_size_t len, put;
366
+ gz_statep state;
367
+
368
+ /* get internal structure */
369
+ if (file == NULL)
370
+ return -1;
371
+ state = (gz_statep)file;
372
+
373
+ /* check that we're writing and that there's no error */
374
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
375
+ return -1;
376
+
377
+ /* write string */
378
+ len = strlen(s);
379
+ if ((int)len < 0 || (unsigned)len != len) {
380
+ gz_error(state, Z_STREAM_ERROR, "string length does not fit in int");
381
+ return -1;
382
+ }
383
+ put = gz_write(state, s, len);
384
+ return put < len ? -1 : (int)len;
385
+ }
386
+
387
+ #if defined(STDC) || defined(Z_HAVE_STDARG_H)
388
+ #include <stdarg.h>
389
+
390
+ /* -- see zlib.h -- */
391
+ int ZEXPORTVA gzvprintf(gzFile file, const char *format, va_list va)
392
+ {
393
+ int len;
394
+ unsigned left;
395
+ char *next;
396
+ gz_statep state;
397
+ z_streamp strm;
398
+
399
+ /* get internal structure */
400
+ if (file == NULL)
401
+ return Z_STREAM_ERROR;
402
+ state = (gz_statep)file;
403
+ strm = &(state->strm);
404
+
405
+ /* check that we're writing and that there's no error */
406
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
407
+ return Z_STREAM_ERROR;
408
+
409
+ /* make sure we have some buffer space */
410
+ if (state->size == 0 && gz_init(state) == -1)
411
+ return state->err;
412
+
413
+ /* check for seek request */
414
+ if (state->seek) {
415
+ state->seek = 0;
416
+ if (gz_zero(state, state->skip) == -1)
417
+ return state->err;
418
+ }
419
+
420
+ /* do the printf() into the input buffer, put length in len -- the input
421
+ buffer is double-sized just for this function, so there is guaranteed to
422
+ be state->size bytes available after the current contents */
423
+ if (strm->avail_in == 0)
424
+ strm->next_in = state->in;
425
+ next = (char *)(state->in + (strm->next_in - state->in) + strm->avail_in);
426
+ next[state->size - 1] = 0;
427
+ #ifdef NO_vsnprintf
428
+ # ifdef HAS_vsprintf_void
429
+ (void)vsprintf(next, format, va);
430
+ for (len = 0; len < state->size; len++)
431
+ if (next[len] == 0) break;
432
+ # else
433
+ len = vsprintf(next, format, va);
434
+ # endif
435
+ #else
436
+ # ifdef HAS_vsnprintf_void
437
+ (void)vsnprintf(next, state->size, format, va);
438
+ len = strlen(next);
439
+ # else
440
+ len = vsnprintf(next, state->size, format, va);
441
+ # endif
442
+ #endif
443
+
444
+ /* check that printf() results fit in buffer */
445
+ if (len == 0 || (unsigned)len >= state->size || next[state->size - 1] != 0)
446
+ return 0;
447
+
448
+ /* update buffer and position, compress first half if past that */
449
+ strm->avail_in += (unsigned)len;
450
+ state->x.pos += len;
451
+ if (strm->avail_in >= state->size) {
452
+ left = strm->avail_in - state->size;
453
+ strm->avail_in = state->size;
454
+ if (gz_comp(state, Z_NO_FLUSH) == -1)
455
+ return state->err;
456
+ memmove(state->in, state->in + state->size, left);
457
+ strm->next_in = state->in;
458
+ strm->avail_in = left;
459
+ }
460
+ return len;
461
+ }
462
+
463
+ int ZEXPORTVA gzprintf(gzFile file, const char *format, ...)
464
+ {
465
+ va_list va;
466
+ int ret;
467
+
468
+ va_start(va, format);
469
+ ret = gzvprintf(file, format, va);
470
+ va_end(va);
471
+ return ret;
472
+ }
473
+
474
+ #else /* !STDC && !Z_HAVE_STDARG_H */
475
+
476
+ /* -- see zlib.h -- */
477
+ int ZEXPORTVA gzprintf(file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
478
+ a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
479
+ gzFile file;
480
+ const char *format;
481
+ int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
482
+ a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;
483
+ {
484
+ unsigned len, left;
485
+ char *next;
486
+ gz_statep state;
487
+ z_streamp strm;
488
+
489
+ /* get internal structure */
490
+ if (file == NULL)
491
+ return Z_STREAM_ERROR;
492
+ state = (gz_statep)file;
493
+ strm = &(state->strm);
494
+
495
+ /* check that can really pass pointer in ints */
496
+ if (sizeof(int) != sizeof(void *))
497
+ return Z_STREAM_ERROR;
498
+
499
+ /* check that we're writing and that there's no error */
500
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
501
+ return Z_STREAM_ERROR;
502
+
503
+ /* make sure we have some buffer space */
504
+ if (state->size == 0 && gz_init(state) == -1)
505
+ return state->error;
506
+
507
+ /* check for seek request */
508
+ if (state->seek) {
509
+ state->seek = 0;
510
+ if (gz_zero(state, state->skip) == -1)
511
+ return state->error;
512
+ }
513
+
514
+ /* do the printf() into the input buffer, put length in len -- the input
515
+ buffer is double-sized just for this function, so there is guaranteed to
516
+ be state->size bytes available after the current contents */
517
+ if (strm->avail_in == 0)
518
+ strm->next_in = state->in;
519
+ next = (char *)(strm->next_in + strm->avail_in);
520
+ next[state->size - 1] = 0;
521
+ #ifdef NO_snprintf
522
+ # ifdef HAS_sprintf_void
523
+ sprintf(next, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12,
524
+ a13, a14, a15, a16, a17, a18, a19, a20);
525
+ for (len = 0; len < size; len++)
526
+ if (next[len] == 0)
527
+ break;
528
+ # else
529
+ len = sprintf(next, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11,
530
+ a12, a13, a14, a15, a16, a17, a18, a19, a20);
531
+ # endif
532
+ #else
533
+ # ifdef HAS_snprintf_void
534
+ snprintf(next, state->size, format, a1, a2, a3, a4, a5, a6, a7, a8, a9,
535
+ a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
536
+ len = strlen(next);
537
+ # else
538
+ len = snprintf(next, state->size, format, a1, a2, a3, a4, a5, a6, a7, a8,
539
+ a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
540
+ # endif
541
+ #endif
542
+
543
+ /* check that printf() results fit in buffer */
544
+ if (len == 0 || len >= state->size || next[state->size - 1] != 0)
545
+ return 0;
546
+
547
+ /* update buffer and position, compress first half if past that */
548
+ strm->avail_in += len;
549
+ state->x.pos += len;
550
+ if (strm->avail_in >= state->size) {
551
+ left = strm->avail_in - state->size;
552
+ strm->avail_in = state->size;
553
+ if (gz_comp(state, Z_NO_FLUSH) == -1)
554
+ return state->err;
555
+ memmove(state->in, state->in + state->size, left);
556
+ strm->next_in = state->in;
557
+ strm->avail_in = left;
558
+ }
559
+ return (int)len;
560
+ }
561
+
562
+ #endif
563
+
564
+ /* -- see zlib.h -- */
565
+ int ZEXPORT gzflush(file, flush)
566
+ gzFile file;
567
+ int flush;
568
+ {
569
+ gz_statep state;
570
+
571
+ /* get internal structure */
572
+ if (file == NULL)
573
+ return Z_STREAM_ERROR;
574
+ state = (gz_statep)file;
575
+
576
+ /* check that we're writing and that there's no error */
577
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
578
+ return Z_STREAM_ERROR;
579
+
580
+ /* check flush parameter */
581
+ if (flush < 0 || flush > Z_FINISH)
582
+ return Z_STREAM_ERROR;
583
+
584
+ /* check for seek request */
585
+ if (state->seek) {
586
+ state->seek = 0;
587
+ if (gz_zero(state, state->skip) == -1)
588
+ return state->err;
589
+ }
590
+
591
+ /* compress remaining data with requested flush */
592
+ (void)gz_comp(state, flush);
593
+ return state->err;
594
+ }
595
+
596
+ /* -- see zlib.h -- */
597
+ int ZEXPORT gzsetparams(file, level, strategy)
598
+ gzFile file;
599
+ int level;
600
+ int strategy;
601
+ {
602
+ gz_statep state;
603
+ z_streamp strm;
604
+
605
+ /* get internal structure */
606
+ if (file == NULL)
607
+ return Z_STREAM_ERROR;
608
+ state = (gz_statep)file;
609
+ strm = &(state->strm);
610
+
611
+ /* check that we're writing and that there's no error */
612
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
613
+ return Z_STREAM_ERROR;
614
+
615
+ /* if no change is requested, then do nothing */
616
+ if (level == state->level && strategy == state->strategy)
617
+ return Z_OK;
618
+
619
+ /* check for seek request */
620
+ if (state->seek) {
621
+ state->seek = 0;
622
+ if (gz_zero(state, state->skip) == -1)
623
+ return state->err;
624
+ }
625
+
626
+ /* change compression parameters for subsequent input */
627
+ if (state->size) {
628
+ /* flush previous input with previous parameters before changing */
629
+ if (strm->avail_in && gz_comp(state, Z_BLOCK) == -1)
630
+ return state->err;
631
+ deflateParams(strm, level, strategy);
632
+ }
633
+ state->level = level;
634
+ state->strategy = strategy;
635
+ return Z_OK;
636
+ }
637
+
638
+ /* -- see zlib.h -- */
639
+ int ZEXPORT gzclose_w(file)
640
+ gzFile file;
641
+ {
642
+ int ret = Z_OK;
643
+ gz_statep state;
644
+
645
+ /* get internal structure */
646
+ if (file == NULL)
647
+ return Z_STREAM_ERROR;
648
+ state = (gz_statep)file;
649
+
650
+ /* check that we're writing */
651
+ if (state->mode != GZ_WRITE)
652
+ return Z_STREAM_ERROR;
653
+
654
+ /* check for seek request */
655
+ if (state->seek) {
656
+ state->seek = 0;
657
+ if (gz_zero(state, state->skip) == -1)
658
+ ret = state->err;
659
+ }
660
+
661
+ /* flush, free memory, and close file */
662
+ if (gz_comp(state, Z_FINISH) == -1)
663
+ ret = state->err;
664
+ if (state->size) {
665
+ if (!state->direct) {
666
+ (void)deflateEnd(&(state->strm));
667
+ free(state->out);
668
+ }
669
+ free(state->in);
670
+ }
671
+ gz_error(state, Z_OK, NULL);
672
+ free(state->path);
673
+ if (close(state->fd) == -1)
674
+ ret = Z_ERRNO;
675
+ free(state);
676
+ return ret;
677
+ }