libarchive-static 1.0.5 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
+ }