libarchive-static 1.0.6 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (295) hide show
  1. checksums.yaml +4 -4
  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_reader.c +6 -4
  20. data/ext/libarchive-0.1.1/ext/libarchive_reader.o +0 -0
  21. data/ext/libarchive-0.1.1/ext/libarchive_ruby.so +0 -0
  22. data/ext/libarchive-0.1.1/ext/libarchive_win32.h +1 -1
  23. data/ext/libarchive-0.1.1/ext/libarchive_writer.c +2 -2
  24. data/ext/libarchive-0.1.1/ext/libarchive_writer.o +0 -0
  25. data/ext/libarchive-3.6.2/Makefile.in +16892 -0
  26. data/ext/libarchive-3.6.2/build/autoconf/ax_append_compile_flags.m4 +67 -0
  27. data/ext/libarchive-3.6.2/build/autoconf/ax_append_flag.m4 +71 -0
  28. data/ext/libarchive-3.6.2/build/autoconf/ax_check_compile_flag.m4 +74 -0
  29. data/ext/libarchive-3.6.2/build/autoconf/ax_require_defined.m4 +37 -0
  30. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/check_stdcall_func.m4 +0 -0
  31. data/ext/libarchive-3.6.2/build/autoconf/compile +348 -0
  32. data/ext/libarchive-3.6.2/build/autoconf/config.guess +1754 -0
  33. data/ext/libarchive-3.6.2/build/autoconf/config.rpath +696 -0
  34. data/ext/libarchive-3.6.2/build/autoconf/config.sub +1890 -0
  35. data/ext/libarchive-3.6.2/build/autoconf/depcomp +791 -0
  36. data/ext/libarchive-3.6.2/build/autoconf/iconv.m4 +271 -0
  37. data/ext/libarchive-3.6.2/build/autoconf/install-sh +541 -0
  38. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/la_uid_t.m4 +0 -0
  39. data/ext/libarchive-3.6.2/build/autoconf/lib-ld.m4 +109 -0
  40. data/ext/libarchive-3.6.2/build/autoconf/lib-link.m4 +777 -0
  41. data/ext/libarchive-3.6.2/build/autoconf/lib-prefix.m4 +224 -0
  42. data/ext/libarchive-3.6.2/build/autoconf/ltmain.sh +11251 -0
  43. data/ext/libarchive-3.6.2/build/autoconf/m4_ax_compile_check_sizeof.m4 +115 -0
  44. data/ext/libarchive-3.6.2/build/autoconf/missing +215 -0
  45. data/ext/libarchive-3.6.2/build/autoconf/test-driver +153 -0
  46. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/pkgconfig/libarchive.pc.in +4 -1
  47. data/ext/libarchive-3.6.2/config.h.in +1504 -0
  48. data/ext/libarchive-3.6.2/configure +25558 -0
  49. data/ext/libarchive-3.6.2/libarchive/archive.h +1212 -0
  50. data/ext/libarchive-3.6.2/libarchive/archive_acl.c +2097 -0
  51. data/ext/libarchive-3.6.2/libarchive/archive_acl_private.h +83 -0
  52. data/ext/libarchive-3.6.2/libarchive/archive_blake2.h +197 -0
  53. data/ext/libarchive-3.6.2/libarchive/archive_blake2_impl.h +161 -0
  54. data/ext/libarchive-3.6.2/libarchive/archive_blake2s_ref.c +369 -0
  55. data/ext/libarchive-3.6.2/libarchive/archive_blake2sp_ref.c +361 -0
  56. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_check_magic.c +63 -22
  57. data/ext/libarchive-3.6.2/libarchive/archive_cmdline.c +227 -0
  58. data/ext/libarchive-3.6.2/libarchive/archive_cmdline_private.h +47 -0
  59. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_crc32.h +17 -0
  60. data/ext/libarchive-3.6.2/libarchive/archive_cryptor.c +534 -0
  61. data/ext/libarchive-3.6.2/libarchive/archive_cryptor_private.h +188 -0
  62. data/ext/libarchive-3.6.2/libarchive/archive_digest.c +1505 -0
  63. data/ext/libarchive-3.6.2/libarchive/archive_digest_private.h +416 -0
  64. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_darwin.c +559 -0
  65. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_freebsd.c +712 -0
  66. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_linux.c +760 -0
  67. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_sunos.c +824 -0
  68. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_endian.h +48 -15
  69. data/ext/libarchive-3.6.2/libarchive/archive_entry.c +2149 -0
  70. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry.h +305 -106
  71. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_bhfi.c +5 -4
  72. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_stat.c +9 -3
  73. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_link_resolver.c +104 -62
  74. data/ext/libarchive-3.6.2/libarchive/archive_entry_locale.h +92 -0
  75. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_private.h +65 -49
  76. data/ext/libarchive-3.6.2/libarchive/archive_entry_sparse.c +156 -0
  77. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_stat.c +6 -6
  78. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_strmode.c +1 -1
  79. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_xattr.c +4 -6
  80. data/ext/libarchive-3.6.2/libarchive/archive_getdate.c +1165 -0
  81. data/ext/libarchive-3.6.2/libarchive/archive_getdate.h +39 -0
  82. data/ext/libarchive-3.6.2/libarchive/archive_hmac.c +334 -0
  83. data/ext/libarchive-3.6.2/libarchive/archive_hmac_private.h +117 -0
  84. data/ext/libarchive-3.6.2/libarchive/archive_match.c +1875 -0
  85. data/ext/libarchive-3.6.2/libarchive/archive_openssl_evp_private.h +53 -0
  86. data/ext/libarchive-3.6.2/libarchive/archive_openssl_hmac_private.h +54 -0
  87. data/ext/libarchive-3.6.2/libarchive/archive_options.c +218 -0
  88. data/ext/libarchive-3.6.2/libarchive/archive_options_private.h +51 -0
  89. data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.c +337 -0
  90. data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.h +49 -0
  91. data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.c +463 -0
  92. data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.h +52 -0
  93. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_platform.h +77 -9
  94. data/ext/libarchive-3.6.2/libarchive/archive_platform_acl.h +55 -0
  95. data/ext/libarchive-3.6.2/libarchive/archive_platform_xattr.h +47 -0
  96. data/ext/libarchive-3.6.2/libarchive/archive_ppmd7.c +1168 -0
  97. data/ext/libarchive-3.6.2/libarchive/archive_ppmd7_private.h +119 -0
  98. data/ext/libarchive-3.6.2/libarchive/archive_ppmd8.c +1287 -0
  99. data/ext/libarchive-3.6.2/libarchive/archive_ppmd8_private.h +148 -0
  100. data/ext/libarchive-3.6.2/libarchive/archive_ppmd_private.h +151 -0
  101. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_private.h +74 -18
  102. data/ext/libarchive-3.6.2/libarchive/archive_random.c +272 -0
  103. data/ext/libarchive-3.6.2/libarchive/archive_random_private.h +36 -0
  104. data/ext/libarchive-3.6.2/libarchive/archive_rb.c +709 -0
  105. data/ext/libarchive-3.6.2/libarchive/archive_rb.h +113 -0
  106. data/ext/libarchive-3.6.2/libarchive/archive_read.c +1756 -0
  107. data/ext/libarchive-3.6.2/libarchive/archive_read_add_passphrase.c +190 -0
  108. data/ext/libarchive-3.6.2/libarchive/archive_read_append_filter.c +204 -0
  109. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_data_into_fd.c +64 -18
  110. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_entry_from_file.c +1086 -0
  111. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_posix.c +2732 -0
  112. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_private.h +40 -4
  113. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_set_standard_lookup.c +21 -11
  114. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_windows.c +2479 -0
  115. data/ext/libarchive-3.6.2/libarchive/archive_read_extract.c +60 -0
  116. data/ext/{libarchive-2.8.4/libarchive/archive_read_extract.c → libarchive-3.6.2/libarchive/archive_read_extract2.c} +34 -61
  117. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_fd.c +70 -49
  118. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_file.c +38 -23
  119. data/ext/libarchive-3.6.2/libarchive/archive_read_open_filename.c +586 -0
  120. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_memory.c +58 -28
  121. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_private.h +127 -59
  122. data/ext/libarchive-3.6.2/libarchive/archive_read_set_format.c +117 -0
  123. data/ext/libarchive-3.6.2/libarchive/archive_read_set_options.c +133 -0
  124. 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
  125. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_by_code.c +83 -0
  126. 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
  127. 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
  128. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_grzip.c +112 -0
  129. 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
  130. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lrzip.c +122 -0
  131. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lz4.c +742 -0
  132. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lzop.c +499 -0
  133. 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
  134. 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
  135. 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
  136. 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
  137. 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
  138. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_zstd.c +297 -0
  139. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_7zip.c +3900 -0
  140. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_all.c +89 -0
  141. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_ar.c +126 -72
  142. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_by_code.c +92 -0
  143. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cab.c +3228 -0
  144. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cpio.c +1104 -0
  145. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_empty.c +14 -11
  146. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_iso9660.c +990 -541
  147. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_lha.c +2916 -0
  148. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_mtree.c +2150 -0
  149. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar.c +3797 -0
  150. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar5.c +4251 -0
  151. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_raw.c +38 -31
  152. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_tar.c +1157 -629
  153. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_warc.c +848 -0
  154. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_xar.c +439 -258
  155. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_zip.c +4270 -0
  156. data/ext/libarchive-3.6.2/libarchive/archive_string.c +4240 -0
  157. data/ext/libarchive-3.6.2/libarchive/archive_string.h +243 -0
  158. data/ext/libarchive-3.6.2/libarchive/archive_string_composition.h +2292 -0
  159. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_string_sprintf.c +44 -16
  160. data/ext/libarchive-3.6.2/libarchive/archive_util.c +655 -0
  161. data/ext/libarchive-3.6.2/libarchive/archive_version_details.c +151 -0
  162. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_virtual.c +85 -16
  163. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.c +214 -541
  164. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.h +74 -106
  165. data/ext/libarchive-3.6.2/libarchive/archive_write.c +828 -0
  166. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter.c +72 -0
  167. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_b64encode.c +304 -0
  168. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_by_name.c +77 -0
  169. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_bzip2.c +401 -0
  170. 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
  171. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_grzip.c +135 -0
  172. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_gzip.c +442 -0
  173. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lrzip.c +197 -0
  174. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lz4.c +700 -0
  175. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lzop.c +478 -0
  176. 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
  177. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_program.c +391 -0
  178. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_uuencode.c +295 -0
  179. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_xz.c +545 -0
  180. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_zstd.c +418 -0
  181. data/ext/libarchive-3.6.2/libarchive/archive_write_disk_posix.c +4711 -0
  182. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_private.h +9 -2
  183. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_set_standard_lookup.c +30 -29
  184. data/ext/libarchive-3.6.2/libarchive/archive_write_disk_windows.c +2842 -0
  185. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_fd.c +15 -10
  186. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_file.c +15 -9
  187. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_filename.c +128 -20
  188. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_memory.c +7 -18
  189. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_private.h +72 -29
  190. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format.c +56 -3
  191. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_7zip.c +2322 -0
  192. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ar.c +54 -34
  193. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_by_name.c +20 -2
  194. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio.c +11 -0
  195. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_binary.c +610 -0
  196. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_newc.c +457 -0
  197. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_odc.c +500 -0
  198. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_filter_by_ext.c +142 -0
  199. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_gnutar.c +755 -0
  200. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_iso9660.c +8165 -0
  201. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_mtree.c +2217 -0
  202. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_pax.c +1049 -387
  203. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_private.h +42 -0
  204. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_raw.c +125 -0
  205. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_shar.c +62 -47
  206. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ustar.c +279 -108
  207. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_v7tar.c +638 -0
  208. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_warc.c +453 -0
  209. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_xar.c +3259 -0
  210. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_zip.c +1704 -0
  211. data/ext/libarchive-3.6.2/libarchive/archive_write_set_options.c +130 -0
  212. data/ext/libarchive-3.6.2/libarchive/archive_write_set_passphrase.c +95 -0
  213. data/ext/libarchive-3.6.2/libarchive/archive_xxhash.h +48 -0
  214. data/ext/libarchive-3.6.2/libarchive/config_freebsd.h +271 -0
  215. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/filter_fork.h +10 -5
  216. data/ext/{libarchive-2.8.4/libarchive/filter_fork.c → libarchive-3.6.2/libarchive/filter_fork_posix.c} +98 -19
  217. data/ext/libarchive-3.6.2/libarchive/filter_fork_windows.c +236 -0
  218. data/ext/libarchive-3.6.2/libarchive/xxhash.c +525 -0
  219. data/ext/libarchive-static-makefile +144 -80
  220. data/ext/libarchive-static-wrapper-makefile +1 -1
  221. data/ext/zlib-1.2.13/Makefile.in +404 -0
  222. data/ext/{zlib-1.2.5 → zlib-1.2.13}/adler32.c +51 -34
  223. data/ext/{zlib-1.2.5 → zlib-1.2.13}/compress.c +27 -21
  224. data/ext/zlib-1.2.13/configure +922 -0
  225. data/ext/zlib-1.2.13/crc32.c +1125 -0
  226. data/ext/zlib-1.2.13/crc32.h +9446 -0
  227. data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.c +842 -459
  228. data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.h +37 -33
  229. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzclose.c +0 -0
  230. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzguts.h +103 -16
  231. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzlib.c +155 -53
  232. data/ext/zlib-1.2.13/gzread.c +650 -0
  233. data/ext/zlib-1.2.13/gzwrite.c +677 -0
  234. data/ext/{zlib-1.2.5 → zlib-1.2.13}/infback.c +24 -12
  235. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.c +49 -66
  236. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.h +0 -0
  237. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffixed.h +3 -3
  238. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.c +209 -94
  239. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.h +9 -5
  240. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.c +24 -50
  241. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.h +1 -1
  242. data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.c +135 -198
  243. data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.h +0 -0
  244. data/ext/zlib-1.2.13/uncompr.c +93 -0
  245. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zconf.h +182 -63
  246. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zlib.h +617 -295
  247. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.c +50 -41
  248. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.h +83 -82
  249. metadata +241 -133
  250. data/ext/libarchive-0.1.1/libarchive.c +0 -1762
  251. data/ext/libarchive-2.8.4/Makefile.in +0 -7076
  252. data/ext/libarchive-2.8.4/build/autoconf/compile +0 -143
  253. data/ext/libarchive-2.8.4/build/autoconf/config.guess +0 -1502
  254. data/ext/libarchive-2.8.4/build/autoconf/config.sub +0 -1708
  255. data/ext/libarchive-2.8.4/build/autoconf/depcomp +0 -630
  256. data/ext/libarchive-2.8.4/build/autoconf/install-sh +0 -291
  257. data/ext/libarchive-2.8.4/build/autoconf/ltmain.sh +0 -8406
  258. data/ext/libarchive-2.8.4/build/autoconf/missing +0 -376
  259. data/ext/libarchive-2.8.4/config.h.in +0 -772
  260. data/ext/libarchive-2.8.4/configure +0 -17916
  261. data/ext/libarchive-2.8.4/libarchive/archive.h +0 -741
  262. data/ext/libarchive-2.8.4/libarchive/archive_entry.c +0 -2202
  263. data/ext/libarchive-2.8.4/libarchive/archive_hash.h +0 -281
  264. data/ext/libarchive-2.8.4/libarchive/archive_read.c +0 -1249
  265. data/ext/libarchive-2.8.4/libarchive/archive_read_disk.c +0 -198
  266. data/ext/libarchive-2.8.4/libarchive/archive_read_disk_entry_from_file.c +0 -570
  267. data/ext/libarchive-2.8.4/libarchive/archive_read_open_filename.c +0 -272
  268. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_cpio.c +0 -777
  269. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_mtree.c +0 -1304
  270. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_zip.c +0 -903
  271. data/ext/libarchive-2.8.4/libarchive/archive_string.c +0 -453
  272. data/ext/libarchive-2.8.4/libarchive/archive_string.h +0 -148
  273. data/ext/libarchive-2.8.4/libarchive/archive_util.c +0 -391
  274. data/ext/libarchive-2.8.4/libarchive/archive_write.c +0 -466
  275. data/ext/libarchive-2.8.4/libarchive/archive_write_disk.c +0 -2628
  276. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_bzip2.c +0 -408
  277. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_gzip.c +0 -477
  278. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_none.c +0 -257
  279. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_program.c +0 -347
  280. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_xz.c +0 -438
  281. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio.c +0 -344
  282. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio_newc.c +0 -295
  283. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_mtree.c +0 -1050
  284. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_zip.c +0 -667
  285. data/ext/libarchive-2.8.4/libarchive/config_freebsd.h +0 -154
  286. data/ext/libarchive-2.8.4/libarchive/filter_fork_windows.c +0 -113
  287. data/ext/zlib-1.2.5/Makefile.in +0 -257
  288. data/ext/zlib-1.2.5/configure +0 -596
  289. data/ext/zlib-1.2.5/crc32.c +0 -442
  290. data/ext/zlib-1.2.5/crc32.h +0 -441
  291. data/ext/zlib-1.2.5/example.c +0 -565
  292. data/ext/zlib-1.2.5/gzread.c +0 -653
  293. data/ext/zlib-1.2.5/gzwrite.c +0 -531
  294. data/ext/zlib-1.2.5/minigzip.c +0 -440
  295. data/ext/zlib-1.2.5/uncompr.c +0 -59
@@ -0,0 +1,525 @@
1
+ /*
2
+ xxHash - Fast Hash algorithm
3
+ Copyright (C) 2012-2014, Yann Collet.
4
+ BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are
8
+ met:
9
+
10
+ * Redistributions of source code must retain the above copyright
11
+ notice, this list of conditions and the following disclaimer.
12
+ * Redistributions in binary form must reproduce the above
13
+ copyright notice, this list of conditions and the following disclaimer
14
+ in the documentation and/or other materials provided with the
15
+ distribution.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+
29
+ You can contact the author at :
30
+ - xxHash source repository : http://code.google.com/p/xxhash/
31
+ */
32
+ #include "archive_platform.h"
33
+
34
+ #include <stdlib.h>
35
+ #include <string.h>
36
+
37
+ #include "archive_xxhash.h"
38
+
39
+ #ifdef HAVE_LIBLZ4
40
+
41
+ /***************************************
42
+ ** Tuning parameters
43
+ ****************************************/
44
+ /* Unaligned memory access is automatically enabled for "common" CPU, such as x86.
45
+ ** For others CPU, the compiler will be more cautious, and insert extra code to ensure aligned access is respected.
46
+ ** If you know your target CPU supports unaligned memory access, you want to force this option manually to improve performance.
47
+ ** You can also enable this parameter if you know your input data will always be aligned (boundaries of 4, for U32).
48
+ */
49
+ #if defined(__ARM_FEATURE_UNALIGNED) || defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64)
50
+ # define XXH_USE_UNALIGNED_ACCESS 1
51
+ #endif
52
+
53
+ /* XXH_ACCEPT_NULL_INPUT_POINTER :
54
+ ** If the input pointer is a null pointer, xxHash default behavior is to trigger a memory access error, since it is a bad pointer.
55
+ ** When this option is enabled, xxHash output for null input pointers will be the same as a null-length input.
56
+ ** This option has a very small performance cost (only measurable on small inputs).
57
+ ** By default, this option is disabled. To enable it, uncomment below define :
58
+ ** #define XXH_ACCEPT_NULL_INPUT_POINTER 1
59
+
60
+ ** XXH_FORCE_NATIVE_FORMAT :
61
+ ** By default, xxHash library provides endian-independent Hash values, based on little-endian convention.
62
+ ** Results are therefore identical for little-endian and big-endian CPU.
63
+ ** This comes at a performance cost for big-endian CPU, since some swapping is required to emulate little-endian format.
64
+ ** Should endian-independence be of no importance for your application, you may set the #define below to 1.
65
+ ** It will improve speed for Big-endian CPU.
66
+ ** This option has no impact on Little_Endian CPU.
67
+ */
68
+ #define XXH_FORCE_NATIVE_FORMAT 0
69
+
70
+ /***************************************
71
+ ** Compiler Specific Options
72
+ ****************************************/
73
+ /* Disable some Visual warning messages */
74
+ #ifdef _MSC_VER /* Visual Studio */
75
+ # pragma warning(disable : 4127) /* disable: C4127: conditional expression is constant */
76
+ #endif
77
+
78
+ #ifdef _MSC_VER /* Visual Studio */
79
+ # define FORCE_INLINE __forceinline
80
+ #else
81
+ # ifdef __GNUC__
82
+ # define FORCE_INLINE inline __attribute__((always_inline))
83
+ # else
84
+ # define FORCE_INLINE inline
85
+ # endif
86
+ #endif
87
+
88
+ /***************************************
89
+ ** Includes & Memory related functions
90
+ ****************************************/
91
+ #define XXH_malloc malloc
92
+ #define XXH_free free
93
+ #define XXH_memcpy memcpy
94
+
95
+
96
+ static unsigned int XXH32 (const void*, unsigned int, unsigned int);
97
+ static void* XXH32_init (unsigned int);
98
+ static XXH_errorcode XXH32_update (void*, const void*, unsigned int);
99
+ static unsigned int XXH32_digest (void*);
100
+ /*static int XXH32_sizeofState(void);*/
101
+ static XXH_errorcode XXH32_resetState(void*, unsigned int);
102
+ #define XXH32_SIZEOFSTATE 48
103
+ typedef struct { long long ll[(XXH32_SIZEOFSTATE+(sizeof(long long)-1))/sizeof(long long)]; } XXH32_stateSpace_t;
104
+ static unsigned int XXH32_intermediateDigest (void*);
105
+
106
+ /***************************************
107
+ ** Basic Types
108
+ ****************************************/
109
+ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 */
110
+ # include <stdint.h>
111
+ typedef uint8_t BYTE;
112
+ typedef uint16_t U16;
113
+ typedef uint32_t U32;
114
+ typedef int32_t S32;
115
+ typedef uint64_t U64;
116
+ #else
117
+ typedef unsigned char BYTE;
118
+ typedef unsigned short U16;
119
+ typedef unsigned int U32;
120
+ typedef signed int S32;
121
+ typedef unsigned long long U64;
122
+ #endif
123
+
124
+ #if defined(__GNUC__) && !defined(XXH_USE_UNALIGNED_ACCESS)
125
+ # define _PACKED __attribute__ ((packed))
126
+ #else
127
+ # define _PACKED
128
+ #endif
129
+
130
+ #if !defined(XXH_USE_UNALIGNED_ACCESS) && !defined(__GNUC__)
131
+ # ifdef __IBMC__
132
+ # pragma pack(1)
133
+ # else
134
+ # pragma pack(push, 1)
135
+ # endif
136
+ #endif
137
+
138
+ typedef struct _U32_S { U32 v; } _PACKED U32_S;
139
+
140
+ #if !defined(XXH_USE_UNALIGNED_ACCESS) && !defined(__GNUC__)
141
+ # pragma pack(pop)
142
+ #endif
143
+
144
+
145
+ /****************************************
146
+ ** Compiler-specific Functions and Macros
147
+ *****************************************/
148
+ #define GCC_VERSION ((__GNUC__-0) * 100 + (__GNUC_MINOR__ - 0))
149
+
150
+ #if GCC_VERSION >= 409
151
+ __attribute__((__no_sanitize_undefined__))
152
+ #endif
153
+ #if defined(_MSC_VER)
154
+ static __inline U32 A32(const void * x)
155
+ #else
156
+ static inline U32 A32(const void* x)
157
+ #endif
158
+ {
159
+ return (((const U32_S *)(x))->v);
160
+ }
161
+
162
+ /* Note : although _rotl exists for minGW (GCC under windows), performance seems poor */
163
+ #if defined(_MSC_VER)
164
+ # define XXH_rotl32(x,r) _rotl(x,r)
165
+ #else
166
+ # define XXH_rotl32(x,r) ((x << r) | (x >> (32 - r)))
167
+ #endif
168
+
169
+ #if defined(_MSC_VER) /* Visual Studio */
170
+ # define XXH_swap32 _byteswap_ulong
171
+ #elif GCC_VERSION >= 403
172
+ # define XXH_swap32 __builtin_bswap32
173
+ #else
174
+ static inline U32 XXH_swap32 (U32 x) {
175
+ return ((x << 24) & 0xff000000 ) |
176
+ ((x << 8) & 0x00ff0000 ) |
177
+ ((x >> 8) & 0x0000ff00 ) |
178
+ ((x >> 24) & 0x000000ff );}
179
+ #endif
180
+
181
+
182
+ /***************************************
183
+ ** Constants
184
+ ****************************************/
185
+ #define PRIME32_1 2654435761U
186
+ #define PRIME32_2 2246822519U
187
+ #define PRIME32_3 3266489917U
188
+ #define PRIME32_4 668265263U
189
+ #define PRIME32_5 374761393U
190
+
191
+
192
+ /***************************************
193
+ ** Architecture Macros
194
+ ****************************************/
195
+ typedef enum { XXH_bigEndian=0, XXH_littleEndian=1 } XXH_endianess;
196
+ #ifndef XXH_CPU_LITTLE_ENDIAN /* It is possible to define XXH_CPU_LITTLE_ENDIAN externally, for example using a compiler switch */
197
+ static const int one = 1;
198
+ # define XXH_CPU_LITTLE_ENDIAN (*(const char*)(&one))
199
+ #endif
200
+
201
+
202
+ /***************************************
203
+ ** Macros
204
+ ****************************************/
205
+ #define XXH_STATIC_ASSERT(c) { enum { XXH_static_assert = 1/(!!(c)) }; } /* use only *after* variable declarations */
206
+
207
+
208
+ /*****************************
209
+ ** Memory reads
210
+ ******************************/
211
+ typedef enum { XXH_aligned, XXH_unaligned } XXH_alignment;
212
+
213
+ static
214
+ FORCE_INLINE U32 XXH_readLE32_align(const U32* ptr, XXH_endianess endian, XXH_alignment align)
215
+ {
216
+ if (align==XXH_unaligned)
217
+ return endian==XXH_littleEndian ? A32(ptr) : XXH_swap32(A32(ptr));
218
+ else
219
+ return endian==XXH_littleEndian ? *ptr : XXH_swap32(*ptr);
220
+ }
221
+
222
+ static
223
+ FORCE_INLINE U32 XXH_readLE32(const U32* ptr, XXH_endianess endian) { return XXH_readLE32_align(ptr, endian, XXH_unaligned); }
224
+
225
+
226
+ /*****************************
227
+ ** Simple Hash Functions
228
+ ******************************/
229
+ static
230
+ FORCE_INLINE U32 XXH32_endian_align(const void* input, unsigned int len, U32 seed, XXH_endianess endian, XXH_alignment align)
231
+ {
232
+ const BYTE* p = (const BYTE*)input;
233
+ const BYTE* bEnd = p + len;
234
+ U32 h32;
235
+ #define XXH_get32bits(p) XXH_readLE32_align((const U32*)p, endian, align)
236
+
237
+ #ifdef XXH_ACCEPT_NULL_INPUT_POINTER
238
+ if (p==NULL) { len=0; bEnd=p=(const BYTE*)(size_t)16; }
239
+ #endif
240
+
241
+ if (len>=16)
242
+ {
243
+ const BYTE* const limit = bEnd - 16;
244
+ U32 v1 = seed + PRIME32_1 + PRIME32_2;
245
+ U32 v2 = seed + PRIME32_2;
246
+ U32 v3 = seed + 0;
247
+ U32 v4 = seed - PRIME32_1;
248
+
249
+ do
250
+ {
251
+ v1 += XXH_get32bits(p) * PRIME32_2; v1 = XXH_rotl32(v1, 13); v1 *= PRIME32_1; p+=4;
252
+ v2 += XXH_get32bits(p) * PRIME32_2; v2 = XXH_rotl32(v2, 13); v2 *= PRIME32_1; p+=4;
253
+ v3 += XXH_get32bits(p) * PRIME32_2; v3 = XXH_rotl32(v3, 13); v3 *= PRIME32_1; p+=4;
254
+ v4 += XXH_get32bits(p) * PRIME32_2; v4 = XXH_rotl32(v4, 13); v4 *= PRIME32_1; p+=4;
255
+ } while (p<=limit);
256
+
257
+ h32 = XXH_rotl32(v1, 1) + XXH_rotl32(v2, 7) + XXH_rotl32(v3, 12) + XXH_rotl32(v4, 18);
258
+ }
259
+ else
260
+ {
261
+ h32 = seed + PRIME32_5;
262
+ }
263
+
264
+ h32 += (U32) len;
265
+
266
+ while (p<=bEnd-4)
267
+ {
268
+ h32 += XXH_get32bits(p) * PRIME32_3;
269
+ h32 = XXH_rotl32(h32, 17) * PRIME32_4 ;
270
+ p+=4;
271
+ }
272
+
273
+ while (p<bEnd)
274
+ {
275
+ h32 += (*p) * PRIME32_5;
276
+ h32 = XXH_rotl32(h32, 11) * PRIME32_1 ;
277
+ p++;
278
+ }
279
+
280
+ h32 ^= h32 >> 15;
281
+ h32 *= PRIME32_2;
282
+ h32 ^= h32 >> 13;
283
+ h32 *= PRIME32_3;
284
+ h32 ^= h32 >> 16;
285
+
286
+ return h32;
287
+ }
288
+
289
+
290
+ U32 XXH32(const void* input, unsigned int len, U32 seed)
291
+ {
292
+ #if 0
293
+ // Simple version, good for code maintenance, but unfortunately slow for small inputs
294
+ void* state = XXH32_init(seed);
295
+ XXH32_update(state, input, len);
296
+ return XXH32_digest(state);
297
+ #else
298
+ XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN;
299
+
300
+ # if !defined(XXH_USE_UNALIGNED_ACCESS)
301
+ if ((((size_t)input) & 3) == 0) /* Input is aligned, let's leverage the speed advantage */
302
+ {
303
+ if ((endian_detected==XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT)
304
+ return XXH32_endian_align(input, len, seed, XXH_littleEndian, XXH_aligned);
305
+ else
306
+ return XXH32_endian_align(input, len, seed, XXH_bigEndian, XXH_aligned);
307
+ }
308
+ # endif
309
+
310
+ if ((endian_detected==XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT)
311
+ return XXH32_endian_align(input, len, seed, XXH_littleEndian, XXH_unaligned);
312
+ else
313
+ return XXH32_endian_align(input, len, seed, XXH_bigEndian, XXH_unaligned);
314
+ #endif
315
+ }
316
+
317
+ /*****************************
318
+ ** Advanced Hash Functions
319
+ ******************************/
320
+
321
+ struct XXH_state32_t
322
+ {
323
+ U64 total_len;
324
+ U32 seed;
325
+ U32 v1;
326
+ U32 v2;
327
+ U32 v3;
328
+ U32 v4;
329
+ int memsize;
330
+ char memory[16];
331
+ };
332
+
333
+ #if 0
334
+ static
335
+ int XXH32_sizeofState(void)
336
+ {
337
+ XXH_STATIC_ASSERT(XXH32_SIZEOFSTATE >= sizeof(struct XXH_state32_t)); /* A compilation error here means XXH32_SIZEOFSTATE is not large enough */
338
+ return sizeof(struct XXH_state32_t);
339
+ }
340
+ #endif
341
+
342
+ static
343
+ XXH_errorcode XXH32_resetState(void* state_in, U32 seed)
344
+ {
345
+ struct XXH_state32_t * state = (struct XXH_state32_t *) state_in;
346
+ state->seed = seed;
347
+ state->v1 = seed + PRIME32_1 + PRIME32_2;
348
+ state->v2 = seed + PRIME32_2;
349
+ state->v3 = seed + 0;
350
+ state->v4 = seed - PRIME32_1;
351
+ state->total_len = 0;
352
+ state->memsize = 0;
353
+ return XXH_OK;
354
+ }
355
+
356
+ static
357
+ void* XXH32_init (U32 seed)
358
+ {
359
+ void* state = XXH_malloc (sizeof(struct XXH_state32_t));
360
+ XXH32_resetState(state, seed);
361
+ return state;
362
+ }
363
+
364
+ static
365
+ FORCE_INLINE XXH_errorcode XXH32_update_endian (void* state_in, const void* input, int len, XXH_endianess endian)
366
+ {
367
+ struct XXH_state32_t * state = (struct XXH_state32_t *) state_in;
368
+ const BYTE* p = (const BYTE*)input;
369
+ const BYTE* const bEnd = p + len;
370
+
371
+ #ifdef XXH_ACCEPT_NULL_INPUT_POINTER
372
+ if (input==NULL) return XXH_ERROR;
373
+ #endif
374
+
375
+ state->total_len += len;
376
+
377
+ if (state->memsize + len < 16) /* fill in tmp buffer */
378
+ {
379
+ XXH_memcpy(state->memory + state->memsize, input, len);
380
+ state->memsize += len;
381
+ return XXH_OK;
382
+ }
383
+
384
+ if (state->memsize) /* some data left from previous update */
385
+ {
386
+ XXH_memcpy(state->memory + state->memsize, input, 16-state->memsize);
387
+ {
388
+ const U32* p32 = (const U32*)state->memory;
389
+ state->v1 += XXH_readLE32(p32, endian) * PRIME32_2; state->v1 = XXH_rotl32(state->v1, 13); state->v1 *= PRIME32_1; p32++;
390
+ state->v2 += XXH_readLE32(p32, endian) * PRIME32_2; state->v2 = XXH_rotl32(state->v2, 13); state->v2 *= PRIME32_1; p32++;
391
+ state->v3 += XXH_readLE32(p32, endian) * PRIME32_2; state->v3 = XXH_rotl32(state->v3, 13); state->v3 *= PRIME32_1; p32++;
392
+ state->v4 += XXH_readLE32(p32, endian) * PRIME32_2; state->v4 = XXH_rotl32(state->v4, 13); state->v4 *= PRIME32_1; p32++;
393
+ }
394
+ p += 16-state->memsize;
395
+ state->memsize = 0;
396
+ }
397
+
398
+ if (p <= bEnd-16)
399
+ {
400
+ const BYTE* const limit = bEnd - 16;
401
+ U32 v1 = state->v1;
402
+ U32 v2 = state->v2;
403
+ U32 v3 = state->v3;
404
+ U32 v4 = state->v4;
405
+
406
+ do
407
+ {
408
+ v1 += XXH_readLE32((const U32*)p, endian) * PRIME32_2; v1 = XXH_rotl32(v1, 13); v1 *= PRIME32_1; p+=4;
409
+ v2 += XXH_readLE32((const U32*)p, endian) * PRIME32_2; v2 = XXH_rotl32(v2, 13); v2 *= PRIME32_1; p+=4;
410
+ v3 += XXH_readLE32((const U32*)p, endian) * PRIME32_2; v3 = XXH_rotl32(v3, 13); v3 *= PRIME32_1; p+=4;
411
+ v4 += XXH_readLE32((const U32*)p, endian) * PRIME32_2; v4 = XXH_rotl32(v4, 13); v4 *= PRIME32_1; p+=4;
412
+ } while (p<=limit);
413
+
414
+ state->v1 = v1;
415
+ state->v2 = v2;
416
+ state->v3 = v3;
417
+ state->v4 = v4;
418
+ }
419
+
420
+ if (p < bEnd)
421
+ {
422
+ XXH_memcpy(state->memory, p, bEnd-p);
423
+ state->memsize = (int)(bEnd-p);
424
+ }
425
+
426
+ return XXH_OK;
427
+ }
428
+
429
+ static
430
+ XXH_errorcode XXH32_update (void* state_in, const void* input, unsigned int len)
431
+ {
432
+ XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN;
433
+
434
+ if ((endian_detected==XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT)
435
+ return XXH32_update_endian(state_in, input, len, XXH_littleEndian);
436
+ else
437
+ return XXH32_update_endian(state_in, input, len, XXH_bigEndian);
438
+ }
439
+
440
+
441
+
442
+ static
443
+ FORCE_INLINE U32 XXH32_intermediateDigest_endian (void* state_in, XXH_endianess endian)
444
+ {
445
+ struct XXH_state32_t * state = (struct XXH_state32_t *) state_in;
446
+ const BYTE * p = (const BYTE*)state->memory;
447
+ BYTE* bEnd = (BYTE*)state->memory + state->memsize;
448
+ U32 h32;
449
+
450
+ if (state->total_len >= 16)
451
+ {
452
+ h32 = XXH_rotl32(state->v1, 1) + XXH_rotl32(state->v2, 7) + XXH_rotl32(state->v3, 12) + XXH_rotl32(state->v4, 18);
453
+ }
454
+ else
455
+ {
456
+ h32 = state->seed + PRIME32_5;
457
+ }
458
+
459
+ h32 += (U32) state->total_len;
460
+
461
+ while (p<=bEnd-4)
462
+ {
463
+ h32 += XXH_readLE32((const U32*)p, endian) * PRIME32_3;
464
+ h32 = XXH_rotl32(h32, 17) * PRIME32_4;
465
+ p+=4;
466
+ }
467
+
468
+ while (p<bEnd)
469
+ {
470
+ h32 += (*p) * PRIME32_5;
471
+ h32 = XXH_rotl32(h32, 11) * PRIME32_1;
472
+ p++;
473
+ }
474
+
475
+ h32 ^= h32 >> 15;
476
+ h32 *= PRIME32_2;
477
+ h32 ^= h32 >> 13;
478
+ h32 *= PRIME32_3;
479
+ h32 ^= h32 >> 16;
480
+
481
+ return h32;
482
+ }
483
+
484
+ static
485
+ U32 XXH32_intermediateDigest (void* state_in)
486
+ {
487
+ XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN;
488
+
489
+ if ((endian_detected==XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT)
490
+ return XXH32_intermediateDigest_endian(state_in, XXH_littleEndian);
491
+ else
492
+ return XXH32_intermediateDigest_endian(state_in, XXH_bigEndian);
493
+ }
494
+
495
+ static
496
+ U32 XXH32_digest (void* state_in)
497
+ {
498
+ U32 h32 = XXH32_intermediateDigest(state_in);
499
+
500
+ XXH_free(state_in);
501
+
502
+ return h32;
503
+ }
504
+
505
+ const
506
+ struct archive_xxhash __archive_xxhash = {
507
+ XXH32,
508
+ XXH32_init,
509
+ XXH32_update,
510
+ XXH32_digest
511
+ };
512
+ #else
513
+
514
+ /*
515
+ * Define an empty version of the struct if we aren't using the LZ4 library.
516
+ */
517
+ const
518
+ struct archive_xxhash __archive_xxhash = {
519
+ NULL,
520
+ NULL,
521
+ NULL,
522
+ NULL
523
+ };
524
+
525
+ #endif /* HAVE_LIBLZ4 */