node-liblzma 1.0.4 → 1.1.6

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 (880) hide show
  1. package/History.md +5 -0
  2. package/README.md +65 -37
  3. package/binding.gyp +655 -49
  4. package/lib/lzma.js +326 -319
  5. package/package.json +36 -24
  6. package/prebuilds/darwin-x64/node.napi.node +0 -0
  7. package/prebuilds/linux-x64/node.napi.node +0 -0
  8. package/prebuilds/win32-x64/node.napi.node +0 -0
  9. package/scripts/download_extract_deps.py +29 -0
  10. package/scripts/prebuildify.py +13 -0
  11. package/scripts/walk_sources.py +7 -0
  12. package/.npmignore +0 -1
  13. package/.travis.yml +0 -35
  14. package/build/Makefile +0 -329
  15. package/build/Release/.deps/Release/node-liblzma.node.d +0 -1
  16. package/build/Release/.deps/Release/obj.target/action_after_build.stamp.d +0 -1
  17. package/build/Release/.deps/Release/obj.target/node-liblzma/src/bindings/module.o.d +0 -89
  18. package/build/Release/.deps/Release/obj.target/node-liblzma/src/bindings/node-liblzma.o.d +0 -89
  19. package/build/Release/.deps/Release/obj.target/node-liblzma.node.d +0 -1
  20. package/build/Release/.deps/home/o2/dev/node-liblzma/build/node-liblzma.node.d +0 -1
  21. package/build/Release/node-liblzma.node +0 -0
  22. package/build/Release/obj.target/action_after_build.stamp +0 -0
  23. package/build/Release/obj.target/node-liblzma/src/bindings/module.o +0 -0
  24. package/build/Release/obj.target/node-liblzma/src/bindings/node-liblzma.o +0 -0
  25. package/build/Release/obj.target/node-liblzma.node +0 -0
  26. package/build/action_after_build.target.mk +0 -32
  27. package/build/binding.Makefile +0 -6
  28. package/build/config.gypi +0 -143
  29. package/build/node-liblzma.node +0 -0
  30. package/build/node-liblzma.target.mk +0 -144
  31. package/build.yml +0 -65
  32. package/deps/xz/ABOUT-NLS +0 -1327
  33. package/deps/xz/AUTHORS +0 -27
  34. package/deps/xz/COPYING +0 -65
  35. package/deps/xz/COPYING.GPLv2 +0 -339
  36. package/deps/xz/COPYING.GPLv3 +0 -674
  37. package/deps/xz/COPYING.LGPLv2.1 +0 -502
  38. package/deps/xz/ChangeLog +0 -14953
  39. package/deps/xz/Doxyfile +0 -1234
  40. package/deps/xz/Doxyfile.in +0 -1234
  41. package/deps/xz/INSTALL +0 -554
  42. package/deps/xz/INSTALL.generic +0 -365
  43. package/deps/xz/Makefile +0 -1067
  44. package/deps/xz/Makefile.am +0 -109
  45. package/deps/xz/Makefile.in +0 -1067
  46. package/deps/xz/NEWS +0 -505
  47. package/deps/xz/PACKAGERS +0 -231
  48. package/deps/xz/README +0 -308
  49. package/deps/xz/THANKS +0 -116
  50. package/deps/xz/TODO +0 -111
  51. package/deps/xz/aclocal.m4 +0 -1225
  52. package/deps/xz/autogen.sh +0 -22
  53. package/deps/xz/autom4te.cache/output.0 +0 -21751
  54. package/deps/xz/autom4te.cache/output.1 +0 -21751
  55. package/deps/xz/autom4te.cache/requests +0 -415
  56. package/deps/xz/autom4te.cache/traces.0 +0 -6996
  57. package/deps/xz/autom4te.cache/traces.1 +0 -1783
  58. package/deps/xz/build-aux/compile +0 -347
  59. package/deps/xz/build-aux/config.guess +0 -1558
  60. package/deps/xz/build-aux/config.rpath +0 -672
  61. package/deps/xz/build-aux/config.sub +0 -1791
  62. package/deps/xz/build-aux/depcomp +0 -791
  63. package/deps/xz/build-aux/install-sh +0 -527
  64. package/deps/xz/build-aux/ltmain.sh +0 -9661
  65. package/deps/xz/build-aux/manconv.sh +0 -58
  66. package/deps/xz/build-aux/missing +0 -215
  67. package/deps/xz/build-aux/version.sh +0 -24
  68. package/deps/xz/config.h +0 -487
  69. package/deps/xz/config.h.in +0 -486
  70. package/deps/xz/config.h.in~ +0 -485
  71. package/deps/xz/config.log +0 -5446
  72. package/deps/xz/config.status +0 -2587
  73. package/deps/xz/configure +0 -21751
  74. package/deps/xz/configure.ac +0 -842
  75. package/deps/xz/debug/.deps/crc32.Po +0 -1
  76. package/deps/xz/debug/.deps/full_flush.Po +0 -1
  77. package/deps/xz/debug/.deps/hex2bin.Po +0 -1
  78. package/deps/xz/debug/.deps/known_sizes.Po +0 -1
  79. package/deps/xz/debug/.deps/memusage.Po +0 -1
  80. package/deps/xz/debug/.deps/repeat.Po +0 -1
  81. package/deps/xz/debug/.deps/sync_flush.Po +0 -1
  82. package/deps/xz/debug/Makefile +0 -691
  83. package/deps/xz/debug/Makefile.am +0 -30
  84. package/deps/xz/debug/Makefile.in +0 -691
  85. package/deps/xz/debug/README +0 -17
  86. package/deps/xz/debug/crc32.c +0 -39
  87. package/deps/xz/debug/full_flush.c +0 -103
  88. package/deps/xz/debug/hex2bin.c +0 -53
  89. package/deps/xz/debug/known_sizes.c +0 -129
  90. package/deps/xz/debug/memusage.c +0 -51
  91. package/deps/xz/debug/repeat.c +0 -36
  92. package/deps/xz/debug/sync_flush.c +0 -125
  93. package/deps/xz/debug/translation.bash +0 -100
  94. package/deps/xz/doc/examples/00_README.txt +0 -31
  95. package/deps/xz/doc/examples/01_compress_easy.c +0 -297
  96. package/deps/xz/doc/examples/02_decompress.c +0 -287
  97. package/deps/xz/doc/examples/03_compress_custom.c +0 -193
  98. package/deps/xz/doc/examples/04_compress_easy_mt.c +0 -206
  99. package/deps/xz/doc/examples/Makefile +0 -24
  100. package/deps/xz/doc/examples_old/xz_pipe_comp.c +0 -127
  101. package/deps/xz/doc/examples_old/xz_pipe_decomp.c +0 -123
  102. package/deps/xz/doc/faq.txt +0 -224
  103. package/deps/xz/doc/history.txt +0 -150
  104. package/deps/xz/doc/lzma-file-format.txt +0 -166
  105. package/deps/xz/doc/man/pdf-a4/lzmainfo-a4.pdf +0 -0
  106. package/deps/xz/doc/man/pdf-a4/xz-a4.pdf +0 -0
  107. package/deps/xz/doc/man/pdf-a4/xzdec-a4.pdf +0 -0
  108. package/deps/xz/doc/man/pdf-a4/xzdiff-a4.pdf +0 -0
  109. package/deps/xz/doc/man/pdf-a4/xzgrep-a4.pdf +0 -0
  110. package/deps/xz/doc/man/pdf-a4/xzless-a4.pdf +0 -0
  111. package/deps/xz/doc/man/pdf-a4/xzmore-a4.pdf +0 -0
  112. package/deps/xz/doc/man/pdf-letter/lzmainfo-letter.pdf +0 -0
  113. package/deps/xz/doc/man/pdf-letter/xz-letter.pdf +0 -0
  114. package/deps/xz/doc/man/pdf-letter/xzdec-letter.pdf +0 -0
  115. package/deps/xz/doc/man/pdf-letter/xzdiff-letter.pdf +0 -0
  116. package/deps/xz/doc/man/pdf-letter/xzgrep-letter.pdf +0 -0
  117. package/deps/xz/doc/man/pdf-letter/xzless-letter.pdf +0 -0
  118. package/deps/xz/doc/man/pdf-letter/xzmore-letter.pdf +0 -0
  119. package/deps/xz/doc/man/txt/lzmainfo.txt +0 -40
  120. package/deps/xz/doc/man/txt/xz.txt +0 -1483
  121. package/deps/xz/doc/man/txt/xzdec.txt +0 -80
  122. package/deps/xz/doc/man/txt/xzdiff.txt +0 -36
  123. package/deps/xz/doc/man/txt/xzgrep.txt +0 -39
  124. package/deps/xz/doc/man/txt/xzless.txt +0 -39
  125. package/deps/xz/doc/man/txt/xzmore.txt +0 -34
  126. package/deps/xz/doc/xz-file-format.txt +0 -1150
  127. package/deps/xz/dos/INSTALL.txt +0 -79
  128. package/deps/xz/dos/Makefile +0 -147
  129. package/deps/xz/dos/README.txt +0 -123
  130. package/deps/xz/dos/config.h +0 -130
  131. package/deps/xz/extra/7z2lzma/7z2lzma.bash +0 -115
  132. package/deps/xz/extra/scanlzma/scanlzma.c +0 -84
  133. package/deps/xz/include/lzma/base.h +0 -654
  134. package/deps/xz/include/lzma/bcj.h +0 -90
  135. package/deps/xz/include/lzma/block.h +0 -581
  136. package/deps/xz/include/lzma/check.h +0 -150
  137. package/deps/xz/include/lzma/container.h +0 -619
  138. package/deps/xz/include/lzma/delta.h +0 -77
  139. package/deps/xz/include/lzma/filter.h +0 -425
  140. package/deps/xz/include/lzma/hardware.h +0 -64
  141. package/deps/xz/include/lzma/index.h +0 -682
  142. package/deps/xz/include/lzma/index_hash.h +0 -107
  143. package/deps/xz/include/lzma/lzma12.h +0 -420
  144. package/deps/xz/include/lzma/stream_flags.h +0 -223
  145. package/deps/xz/include/lzma/version.h +0 -121
  146. package/deps/xz/include/lzma/vli.h +0 -166
  147. package/deps/xz/include/lzma.h +0 -321
  148. package/deps/xz/lib/.deps/getopt.Po +0 -1
  149. package/deps/xz/lib/.deps/getopt1.Po +0 -1
  150. package/deps/xz/lib/Makefile +0 -566
  151. package/deps/xz/lib/Makefile.am +0 -32
  152. package/deps/xz/lib/Makefile.in +0 -566
  153. package/deps/xz/lib/getopt.c +0 -1197
  154. package/deps/xz/lib/getopt.in.h +0 -226
  155. package/deps/xz/lib/getopt1.c +0 -171
  156. package/deps/xz/lib/getopt_int.h +0 -131
  157. package/deps/xz/lib/liblzma.a +0 -0
  158. package/deps/xz/lib/liblzma.la +0 -41
  159. package/deps/xz/lib/pkgconfig/liblzma.pc +0 -19
  160. package/deps/xz/libtool +0 -10221
  161. package/deps/xz/m4/ax_pthread.m4 +0 -332
  162. package/deps/xz/m4/codeset.m4 +0 -21
  163. package/deps/xz/m4/fcntl-o.m4 +0 -81
  164. package/deps/xz/m4/getopt.m4 +0 -71
  165. package/deps/xz/m4/gettext.m4 +0 -383
  166. package/deps/xz/m4/glibc2.m4 +0 -30
  167. package/deps/xz/m4/glibc21.m4 +0 -30
  168. package/deps/xz/m4/iconv.m4 +0 -199
  169. package/deps/xz/m4/intdiv0.m4 +0 -84
  170. package/deps/xz/m4/intl.m4 +0 -294
  171. package/deps/xz/m4/intldir.m4 +0 -19
  172. package/deps/xz/m4/intlmacosx.m4 +0 -51
  173. package/deps/xz/m4/intmax.m4 +0 -33
  174. package/deps/xz/m4/inttypes-pri.m4 +0 -36
  175. package/deps/xz/m4/inttypes_h.m4 +0 -26
  176. package/deps/xz/m4/lcmessage.m4 +0 -31
  177. package/deps/xz/m4/lib-ld.m4 +0 -110
  178. package/deps/xz/m4/lib-link.m4 +0 -774
  179. package/deps/xz/m4/lib-prefix.m4 +0 -224
  180. package/deps/xz/m4/libtool.m4 +0 -7997
  181. package/deps/xz/m4/lock.m4 +0 -37
  182. package/deps/xz/m4/longlong.m4 +0 -106
  183. package/deps/xz/m4/ltoptions.m4 +0 -384
  184. package/deps/xz/m4/ltsugar.m4 +0 -123
  185. package/deps/xz/m4/ltversion.m4 +0 -23
  186. package/deps/xz/m4/lt~obsolete.m4 +0 -98
  187. package/deps/xz/m4/nls.m4 +0 -32
  188. package/deps/xz/m4/po.m4 +0 -449
  189. package/deps/xz/m4/posix-shell.m4 +0 -63
  190. package/deps/xz/m4/printf-posix.m4 +0 -45
  191. package/deps/xz/m4/progtest.m4 +0 -92
  192. package/deps/xz/m4/size_max.m4 +0 -75
  193. package/deps/xz/m4/stdint_h.m4 +0 -26
  194. package/deps/xz/m4/threadlib.m4 +0 -347
  195. package/deps/xz/m4/tuklib_common.m4 +0 -22
  196. package/deps/xz/m4/tuklib_cpucores.m4 +0 -148
  197. package/deps/xz/m4/tuklib_integer.m4 +0 -74
  198. package/deps/xz/m4/tuklib_mbstr.m4 +0 -30
  199. package/deps/xz/m4/tuklib_physmem.m4 +0 -212
  200. package/deps/xz/m4/tuklib_progname.m4 +0 -25
  201. package/deps/xz/m4/uintmax_t.m4 +0 -30
  202. package/deps/xz/m4/visibility.m4 +0 -74
  203. package/deps/xz/m4/wchar_t.m4 +0 -20
  204. package/deps/xz/m4/wint_t.m4 +0 -28
  205. package/deps/xz/m4/xsize.m4 +0 -13
  206. package/deps/xz/macosx/build.sh +0 -113
  207. package/deps/xz/po/LINGUAS +0 -6
  208. package/deps/xz/po/Makefile +0 -549
  209. package/deps/xz/po/Makefile.in +0 -444
  210. package/deps/xz/po/Makefile.in.in +0 -444
  211. package/deps/xz/po/Makevars +0 -46
  212. package/deps/xz/po/Makevars.template +0 -41
  213. package/deps/xz/po/POTFILES +0 -12
  214. package/deps/xz/po/POTFILES.in +0 -13
  215. package/deps/xz/po/Rules-quot +0 -47
  216. package/deps/xz/po/boldquot.sed +0 -10
  217. package/deps/xz/po/cs.gmo +0 -0
  218. package/deps/xz/po/cs.po +0 -989
  219. package/deps/xz/po/de.gmo +0 -0
  220. package/deps/xz/po/de.po +0 -990
  221. package/deps/xz/po/en@boldquot.header +0 -25
  222. package/deps/xz/po/en@quot.header +0 -22
  223. package/deps/xz/po/fr.gmo +0 -0
  224. package/deps/xz/po/fr.po +0 -974
  225. package/deps/xz/po/insert-header.sin +0 -23
  226. package/deps/xz/po/it.gmo +0 -0
  227. package/deps/xz/po/it.po +0 -975
  228. package/deps/xz/po/pl.gmo +0 -0
  229. package/deps/xz/po/pl.po +0 -964
  230. package/deps/xz/po/quot.sed +0 -6
  231. package/deps/xz/po/remove-potcdate.sin +0 -19
  232. package/deps/xz/po/stamp-po +0 -1
  233. package/deps/xz/po/vi.gmo +0 -0
  234. package/deps/xz/po/vi.po +0 -970
  235. package/deps/xz/po/xz.pot +0 -854
  236. package/deps/xz/share/doc/xz/AUTHORS +0 -27
  237. package/deps/xz/share/doc/xz/COPYING +0 -65
  238. package/deps/xz/share/doc/xz/COPYING.GPLv2 +0 -339
  239. package/deps/xz/share/doc/xz/NEWS +0 -505
  240. package/deps/xz/share/doc/xz/README +0 -308
  241. package/deps/xz/share/doc/xz/THANKS +0 -116
  242. package/deps/xz/share/doc/xz/TODO +0 -111
  243. package/deps/xz/share/doc/xz/examples/00_README.txt +0 -31
  244. package/deps/xz/share/doc/xz/examples/01_compress_easy.c +0 -297
  245. package/deps/xz/share/doc/xz/examples/02_decompress.c +0 -287
  246. package/deps/xz/share/doc/xz/examples/03_compress_custom.c +0 -193
  247. package/deps/xz/share/doc/xz/examples/04_compress_easy_mt.c +0 -206
  248. package/deps/xz/share/doc/xz/examples/Makefile +0 -24
  249. package/deps/xz/share/doc/xz/examples_old/xz_pipe_comp.c +0 -127
  250. package/deps/xz/share/doc/xz/examples_old/xz_pipe_decomp.c +0 -123
  251. package/deps/xz/share/doc/xz/faq.txt +0 -224
  252. package/deps/xz/share/doc/xz/history.txt +0 -150
  253. package/deps/xz/share/doc/xz/lzma-file-format.txt +0 -166
  254. package/deps/xz/share/doc/xz/xz-file-format.txt +0 -1150
  255. package/deps/xz/share/locale/cs/LC_MESSAGES/xz.mo +0 -0
  256. package/deps/xz/share/locale/de/LC_MESSAGES/xz.mo +0 -0
  257. package/deps/xz/share/locale/fr/LC_MESSAGES/xz.mo +0 -0
  258. package/deps/xz/share/locale/it/LC_MESSAGES/xz.mo +0 -0
  259. package/deps/xz/share/locale/pl/LC_MESSAGES/xz.mo +0 -0
  260. package/deps/xz/share/locale/vi/LC_MESSAGES/xz.mo +0 -0
  261. package/deps/xz/src/Makefile +0 -674
  262. package/deps/xz/src/Makefile.am +0 -42
  263. package/deps/xz/src/Makefile.in +0 -674
  264. package/deps/xz/src/common/common_w32res.rc +0 -50
  265. package/deps/xz/src/common/mythread.h +0 -521
  266. package/deps/xz/src/common/sysdefs.h +0 -202
  267. package/deps/xz/src/common/tuklib_common.h +0 -71
  268. package/deps/xz/src/common/tuklib_config.h +0 -7
  269. package/deps/xz/src/common/tuklib_cpucores.c +0 -91
  270. package/deps/xz/src/common/tuklib_cpucores.h +0 -23
  271. package/deps/xz/src/common/tuklib_exit.c +0 -57
  272. package/deps/xz/src/common/tuklib_exit.h +0 -25
  273. package/deps/xz/src/common/tuklib_gettext.h +0 -44
  274. package/deps/xz/src/common/tuklib_integer.h +0 -523
  275. package/deps/xz/src/common/tuklib_mbstr.h +0 -66
  276. package/deps/xz/src/common/tuklib_mbstr_fw.c +0 -31
  277. package/deps/xz/src/common/tuklib_mbstr_width.c +0 -64
  278. package/deps/xz/src/common/tuklib_open_stdxxx.c +0 -57
  279. package/deps/xz/src/common/tuklib_open_stdxxx.h +0 -23
  280. package/deps/xz/src/common/tuklib_physmem.c +0 -215
  281. package/deps/xz/src/common/tuklib_physmem.h +0 -28
  282. package/deps/xz/src/common/tuklib_progname.c +0 -50
  283. package/deps/xz/src/common/tuklib_progname.h +0 -32
  284. package/deps/xz/src/liblzma/.deps/liblzma_la-alone_decoder.Plo +0 -269
  285. package/deps/xz/src/liblzma/.deps/liblzma_la-alone_encoder.Plo +0 -263
  286. package/deps/xz/src/liblzma/.deps/liblzma_la-arm.Plo +0 -263
  287. package/deps/xz/src/liblzma/.deps/liblzma_la-armthumb.Plo +0 -263
  288. package/deps/xz/src/liblzma/.deps/liblzma_la-auto_decoder.Plo +0 -263
  289. package/deps/xz/src/liblzma/.deps/liblzma_la-block_buffer_decoder.Plo +0 -261
  290. package/deps/xz/src/liblzma/.deps/liblzma_la-block_buffer_encoder.Plo +0 -273
  291. package/deps/xz/src/liblzma/.deps/liblzma_la-block_decoder.Plo +0 -268
  292. package/deps/xz/src/liblzma/.deps/liblzma_la-block_encoder.Plo +0 -268
  293. package/deps/xz/src/liblzma/.deps/liblzma_la-block_header_decoder.Plo +0 -263
  294. package/deps/xz/src/liblzma/.deps/liblzma_la-block_header_encoder.Plo +0 -263
  295. package/deps/xz/src/liblzma/.deps/liblzma_la-block_util.Plo +0 -260
  296. package/deps/xz/src/liblzma/.deps/liblzma_la-check.Plo +0 -261
  297. package/deps/xz/src/liblzma/.deps/liblzma_la-common.Plo +0 -258
  298. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_fast.Plo +0 -263
  299. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_small.Plo +0 -1
  300. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_table.Plo +0 -260
  301. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_x86.Plo +0 -1
  302. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_fast.Plo +0 -263
  303. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_small.Plo +0 -1
  304. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_table.Plo +0 -260
  305. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_x86.Plo +0 -1
  306. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_common.Plo +0 -263
  307. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_decoder.Plo +0 -265
  308. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_encoder.Plo +0 -265
  309. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_buffer_encoder.Plo +0 -261
  310. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_decoder_memusage.Plo +0 -261
  311. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_encoder.Plo +0 -261
  312. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_encoder_memusage.Plo +0 -261
  313. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_preset.Plo +0 -261
  314. package/deps/xz/src/liblzma/.deps/liblzma_la-fastpos_table.Plo +0 -261
  315. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_buffer_decoder.Plo +0 -261
  316. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_buffer_encoder.Plo +0 -261
  317. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_common.Plo +0 -261
  318. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_decoder.Plo +0 -283
  319. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_encoder.Plo +0 -283
  320. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_flags_decoder.Plo +0 -261
  321. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_flags_encoder.Plo +0 -261
  322. package/deps/xz/src/liblzma/.deps/liblzma_la-hardware_cputhreads.Plo +0 -260
  323. package/deps/xz/src/liblzma/.deps/liblzma_la-hardware_physmem.Plo +0 -260
  324. package/deps/xz/src/liblzma/.deps/liblzma_la-ia64.Plo +0 -263
  325. package/deps/xz/src/liblzma/.deps/liblzma_la-index.Plo +0 -262
  326. package/deps/xz/src/liblzma/.deps/liblzma_la-index_decoder.Plo +0 -266
  327. package/deps/xz/src/liblzma/.deps/liblzma_la-index_encoder.Plo +0 -268
  328. package/deps/xz/src/liblzma/.deps/liblzma_la-index_hash.Plo +0 -265
  329. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_decoder.Plo +0 -261
  330. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_encoder.Plo +0 -286
  331. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_encoder_mf.Plo +0 -286
  332. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma2_decoder.Plo +0 -266
  333. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma2_encoder.Plo +0 -268
  334. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_decoder.Plo +0 -274
  335. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder.Plo +0 -285
  336. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_optimum_fast.Plo +0 -300
  337. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_optimum_normal.Plo +0 -303
  338. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_presets.Plo +0 -259
  339. package/deps/xz/src/liblzma/.deps/liblzma_la-outqueue.Plo +0 -260
  340. package/deps/xz/src/liblzma/.deps/liblzma_la-powerpc.Plo +0 -263
  341. package/deps/xz/src/liblzma/.deps/liblzma_la-price_table.Plo +0 -266
  342. package/deps/xz/src/liblzma/.deps/liblzma_la-sha256.Plo +0 -261
  343. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_coder.Plo +0 -263
  344. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_decoder.Plo +0 -263
  345. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_encoder.Plo +0 -263
  346. package/deps/xz/src/liblzma/.deps/liblzma_la-sparc.Plo +0 -263
  347. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_buffer_decoder.Plo +0 -261
  348. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_buffer_encoder.Plo +0 -261
  349. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_decoder.Plo +0 -263
  350. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_encoder.Plo +0 -263
  351. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_encoder_mt.Plo +0 -273
  352. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_common.Plo +0 -261
  353. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_decoder.Plo +0 -261
  354. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_encoder.Plo +0 -261
  355. package/deps/xz/src/liblzma/.deps/liblzma_la-tuklib_cpucores.Plo +0 -170
  356. package/deps/xz/src/liblzma/.deps/liblzma_la-tuklib_physmem.Plo +0 -170
  357. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_decoder.Plo +0 -258
  358. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_encoder.Plo +0 -258
  359. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_size.Plo +0 -258
  360. package/deps/xz/src/liblzma/.deps/liblzma_la-x86.Plo +0 -263
  361. package/deps/xz/src/liblzma/.libs/liblzma.a +0 -0
  362. package/deps/xz/src/liblzma/.libs/liblzma.lai +0 -41
  363. package/deps/xz/src/liblzma/Makefile +0 -1858
  364. package/deps/xz/src/liblzma/Makefile.am +0 -122
  365. package/deps/xz/src/liblzma/Makefile.in +0 -1858
  366. package/deps/xz/src/liblzma/api/Makefile +0 -608
  367. package/deps/xz/src/liblzma/api/Makefile.am +0 -23
  368. package/deps/xz/src/liblzma/api/Makefile.in +0 -608
  369. package/deps/xz/src/liblzma/api/lzma/base.h +0 -654
  370. package/deps/xz/src/liblzma/api/lzma/bcj.h +0 -90
  371. package/deps/xz/src/liblzma/api/lzma/block.h +0 -581
  372. package/deps/xz/src/liblzma/api/lzma/check.h +0 -150
  373. package/deps/xz/src/liblzma/api/lzma/container.h +0 -619
  374. package/deps/xz/src/liblzma/api/lzma/delta.h +0 -77
  375. package/deps/xz/src/liblzma/api/lzma/filter.h +0 -425
  376. package/deps/xz/src/liblzma/api/lzma/hardware.h +0 -64
  377. package/deps/xz/src/liblzma/api/lzma/index.h +0 -682
  378. package/deps/xz/src/liblzma/api/lzma/index_hash.h +0 -107
  379. package/deps/xz/src/liblzma/api/lzma/lzma12.h +0 -420
  380. package/deps/xz/src/liblzma/api/lzma/stream_flags.h +0 -223
  381. package/deps/xz/src/liblzma/api/lzma/version.h +0 -121
  382. package/deps/xz/src/liblzma/api/lzma/vli.h +0 -166
  383. package/deps/xz/src/liblzma/api/lzma.h +0 -321
  384. package/deps/xz/src/liblzma/check/Makefile.inc +0 -53
  385. package/deps/xz/src/liblzma/check/check.c +0 -174
  386. package/deps/xz/src/liblzma/check/check.h +0 -162
  387. package/deps/xz/src/liblzma/check/crc32_fast.c +0 -82
  388. package/deps/xz/src/liblzma/check/crc32_small.c +0 -61
  389. package/deps/xz/src/liblzma/check/crc32_table.c +0 -19
  390. package/deps/xz/src/liblzma/check/crc32_table_be.h +0 -525
  391. package/deps/xz/src/liblzma/check/crc32_table_le.h +0 -525
  392. package/deps/xz/src/liblzma/check/crc32_tablegen.c +0 -117
  393. package/deps/xz/src/liblzma/check/crc32_x86.S +0 -304
  394. package/deps/xz/src/liblzma/check/crc64_fast.c +0 -72
  395. package/deps/xz/src/liblzma/check/crc64_small.c +0 -53
  396. package/deps/xz/src/liblzma/check/crc64_table.c +0 -19
  397. package/deps/xz/src/liblzma/check/crc64_table_be.h +0 -521
  398. package/deps/xz/src/liblzma/check/crc64_table_le.h +0 -521
  399. package/deps/xz/src/liblzma/check/crc64_tablegen.c +0 -88
  400. package/deps/xz/src/liblzma/check/crc64_x86.S +0 -287
  401. package/deps/xz/src/liblzma/check/crc_macros.h +0 -30
  402. package/deps/xz/src/liblzma/check/sha256.c +0 -196
  403. package/deps/xz/src/liblzma/common/Makefile.inc +0 -76
  404. package/deps/xz/src/liblzma/common/alone_decoder.c +0 -238
  405. package/deps/xz/src/liblzma/common/alone_decoder.h +0 -23
  406. package/deps/xz/src/liblzma/common/alone_encoder.c +0 -157
  407. package/deps/xz/src/liblzma/common/auto_decoder.c +0 -186
  408. package/deps/xz/src/liblzma/common/block_buffer_decoder.c +0 -80
  409. package/deps/xz/src/liblzma/common/block_buffer_encoder.c +0 -337
  410. package/deps/xz/src/liblzma/common/block_buffer_encoder.h +0 -24
  411. package/deps/xz/src/liblzma/common/block_decoder.c +0 -252
  412. package/deps/xz/src/liblzma/common/block_decoder.h +0 -22
  413. package/deps/xz/src/liblzma/common/block_encoder.c +0 -217
  414. package/deps/xz/src/liblzma/common/block_encoder.h +0 -47
  415. package/deps/xz/src/liblzma/common/block_header_decoder.c +0 -124
  416. package/deps/xz/src/liblzma/common/block_header_encoder.c +0 -132
  417. package/deps/xz/src/liblzma/common/block_util.c +0 -90
  418. package/deps/xz/src/liblzma/common/common.c +0 -443
  419. package/deps/xz/src/liblzma/common/common.h +0 -318
  420. package/deps/xz/src/liblzma/common/easy_buffer_encoder.c +0 -27
  421. package/deps/xz/src/liblzma/common/easy_decoder_memusage.c +0 -24
  422. package/deps/xz/src/liblzma/common/easy_encoder.c +0 -24
  423. package/deps/xz/src/liblzma/common/easy_encoder_memusage.c +0 -24
  424. package/deps/xz/src/liblzma/common/easy_preset.c +0 -27
  425. package/deps/xz/src/liblzma/common/easy_preset.h +0 -32
  426. package/deps/xz/src/liblzma/common/filter_buffer_decoder.c +0 -88
  427. package/deps/xz/src/liblzma/common/filter_buffer_encoder.c +0 -55
  428. package/deps/xz/src/liblzma/common/filter_common.c +0 -337
  429. package/deps/xz/src/liblzma/common/filter_common.h +0 -48
  430. package/deps/xz/src/liblzma/common/filter_decoder.c +0 -184
  431. package/deps/xz/src/liblzma/common/filter_decoder.h +0 -23
  432. package/deps/xz/src/liblzma/common/filter_encoder.c +0 -286
  433. package/deps/xz/src/liblzma/common/filter_encoder.h +0 -27
  434. package/deps/xz/src/liblzma/common/filter_flags_decoder.c +0 -46
  435. package/deps/xz/src/liblzma/common/filter_flags_encoder.c +0 -56
  436. package/deps/xz/src/liblzma/common/hardware_cputhreads.c +0 -22
  437. package/deps/xz/src/liblzma/common/hardware_physmem.c +0 -25
  438. package/deps/xz/src/liblzma/common/index.c +0 -1246
  439. package/deps/xz/src/liblzma/common/index.h +0 -73
  440. package/deps/xz/src/liblzma/common/index_decoder.c +0 -345
  441. package/deps/xz/src/liblzma/common/index_encoder.c +0 -254
  442. package/deps/xz/src/liblzma/common/index_encoder.h +0 -23
  443. package/deps/xz/src/liblzma/common/index_hash.c +0 -334
  444. package/deps/xz/src/liblzma/common/memcmplen.h +0 -175
  445. package/deps/xz/src/liblzma/common/outqueue.c +0 -184
  446. package/deps/xz/src/liblzma/common/outqueue.h +0 -156
  447. package/deps/xz/src/liblzma/common/stream_buffer_decoder.c +0 -91
  448. package/deps/xz/src/liblzma/common/stream_buffer_encoder.c +0 -141
  449. package/deps/xz/src/liblzma/common/stream_decoder.c +0 -462
  450. package/deps/xz/src/liblzma/common/stream_decoder.h +0 -22
  451. package/deps/xz/src/liblzma/common/stream_encoder.c +0 -332
  452. package/deps/xz/src/liblzma/common/stream_encoder_mt.c +0 -1131
  453. package/deps/xz/src/liblzma/common/stream_flags_common.c +0 -47
  454. package/deps/xz/src/liblzma/common/stream_flags_common.h +0 -33
  455. package/deps/xz/src/liblzma/common/stream_flags_decoder.c +0 -82
  456. package/deps/xz/src/liblzma/common/stream_flags_encoder.c +0 -86
  457. package/deps/xz/src/liblzma/common/vli_decoder.c +0 -86
  458. package/deps/xz/src/liblzma/common/vli_encoder.c +0 -69
  459. package/deps/xz/src/liblzma/common/vli_size.c +0 -30
  460. package/deps/xz/src/liblzma/delta/Makefile.inc +0 -23
  461. package/deps/xz/src/liblzma/delta/delta_common.c +0 -70
  462. package/deps/xz/src/liblzma/delta/delta_common.h +0 -20
  463. package/deps/xz/src/liblzma/delta/delta_decoder.c +0 -76
  464. package/deps/xz/src/liblzma/delta/delta_decoder.h +0 -26
  465. package/deps/xz/src/liblzma/delta/delta_encoder.c +0 -121
  466. package/deps/xz/src/liblzma/delta/delta_encoder.h +0 -24
  467. package/deps/xz/src/liblzma/delta/delta_private.h +0 -37
  468. package/deps/xz/src/liblzma/liblzma.la +0 -41
  469. package/deps/xz/src/liblzma/liblzma.map +0 -108
  470. package/deps/xz/src/liblzma/liblzma.pc +0 -19
  471. package/deps/xz/src/liblzma/liblzma.pc.in +0 -19
  472. package/deps/xz/src/liblzma/liblzma_la-alone_decoder.lo +0 -12
  473. package/deps/xz/src/liblzma/liblzma_la-alone_decoder.o +0 -0
  474. package/deps/xz/src/liblzma/liblzma_la-alone_encoder.lo +0 -12
  475. package/deps/xz/src/liblzma/liblzma_la-alone_encoder.o +0 -0
  476. package/deps/xz/src/liblzma/liblzma_la-arm.lo +0 -12
  477. package/deps/xz/src/liblzma/liblzma_la-arm.o +0 -0
  478. package/deps/xz/src/liblzma/liblzma_la-armthumb.lo +0 -12
  479. package/deps/xz/src/liblzma/liblzma_la-armthumb.o +0 -0
  480. package/deps/xz/src/liblzma/liblzma_la-auto_decoder.lo +0 -12
  481. package/deps/xz/src/liblzma/liblzma_la-auto_decoder.o +0 -0
  482. package/deps/xz/src/liblzma/liblzma_la-block_buffer_decoder.lo +0 -12
  483. package/deps/xz/src/liblzma/liblzma_la-block_buffer_decoder.o +0 -0
  484. package/deps/xz/src/liblzma/liblzma_la-block_buffer_encoder.lo +0 -12
  485. package/deps/xz/src/liblzma/liblzma_la-block_buffer_encoder.o +0 -0
  486. package/deps/xz/src/liblzma/liblzma_la-block_decoder.lo +0 -12
  487. package/deps/xz/src/liblzma/liblzma_la-block_decoder.o +0 -0
  488. package/deps/xz/src/liblzma/liblzma_la-block_encoder.lo +0 -12
  489. package/deps/xz/src/liblzma/liblzma_la-block_encoder.o +0 -0
  490. package/deps/xz/src/liblzma/liblzma_la-block_header_decoder.lo +0 -12
  491. package/deps/xz/src/liblzma/liblzma_la-block_header_decoder.o +0 -0
  492. package/deps/xz/src/liblzma/liblzma_la-block_header_encoder.lo +0 -12
  493. package/deps/xz/src/liblzma/liblzma_la-block_header_encoder.o +0 -0
  494. package/deps/xz/src/liblzma/liblzma_la-block_util.lo +0 -12
  495. package/deps/xz/src/liblzma/liblzma_la-block_util.o +0 -0
  496. package/deps/xz/src/liblzma/liblzma_la-check.lo +0 -12
  497. package/deps/xz/src/liblzma/liblzma_la-check.o +0 -0
  498. package/deps/xz/src/liblzma/liblzma_la-common.lo +0 -12
  499. package/deps/xz/src/liblzma/liblzma_la-common.o +0 -0
  500. package/deps/xz/src/liblzma/liblzma_la-crc32_fast.lo +0 -12
  501. package/deps/xz/src/liblzma/liblzma_la-crc32_fast.o +0 -0
  502. package/deps/xz/src/liblzma/liblzma_la-crc32_table.lo +0 -12
  503. package/deps/xz/src/liblzma/liblzma_la-crc32_table.o +0 -0
  504. package/deps/xz/src/liblzma/liblzma_la-crc64_fast.lo +0 -12
  505. package/deps/xz/src/liblzma/liblzma_la-crc64_fast.o +0 -0
  506. package/deps/xz/src/liblzma/liblzma_la-crc64_table.lo +0 -12
  507. package/deps/xz/src/liblzma/liblzma_la-crc64_table.o +0 -0
  508. package/deps/xz/src/liblzma/liblzma_la-delta_common.lo +0 -12
  509. package/deps/xz/src/liblzma/liblzma_la-delta_common.o +0 -0
  510. package/deps/xz/src/liblzma/liblzma_la-delta_decoder.lo +0 -12
  511. package/deps/xz/src/liblzma/liblzma_la-delta_decoder.o +0 -0
  512. package/deps/xz/src/liblzma/liblzma_la-delta_encoder.lo +0 -12
  513. package/deps/xz/src/liblzma/liblzma_la-delta_encoder.o +0 -0
  514. package/deps/xz/src/liblzma/liblzma_la-easy_buffer_encoder.lo +0 -12
  515. package/deps/xz/src/liblzma/liblzma_la-easy_buffer_encoder.o +0 -0
  516. package/deps/xz/src/liblzma/liblzma_la-easy_decoder_memusage.lo +0 -12
  517. package/deps/xz/src/liblzma/liblzma_la-easy_decoder_memusage.o +0 -0
  518. package/deps/xz/src/liblzma/liblzma_la-easy_encoder.lo +0 -12
  519. package/deps/xz/src/liblzma/liblzma_la-easy_encoder.o +0 -0
  520. package/deps/xz/src/liblzma/liblzma_la-easy_encoder_memusage.lo +0 -12
  521. package/deps/xz/src/liblzma/liblzma_la-easy_encoder_memusage.o +0 -0
  522. package/deps/xz/src/liblzma/liblzma_la-easy_preset.lo +0 -12
  523. package/deps/xz/src/liblzma/liblzma_la-easy_preset.o +0 -0
  524. package/deps/xz/src/liblzma/liblzma_la-fastpos_table.lo +0 -12
  525. package/deps/xz/src/liblzma/liblzma_la-fastpos_table.o +0 -0
  526. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_decoder.lo +0 -12
  527. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_decoder.o +0 -0
  528. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_encoder.lo +0 -12
  529. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_encoder.o +0 -0
  530. package/deps/xz/src/liblzma/liblzma_la-filter_common.lo +0 -12
  531. package/deps/xz/src/liblzma/liblzma_la-filter_common.o +0 -0
  532. package/deps/xz/src/liblzma/liblzma_la-filter_decoder.lo +0 -12
  533. package/deps/xz/src/liblzma/liblzma_la-filter_decoder.o +0 -0
  534. package/deps/xz/src/liblzma/liblzma_la-filter_encoder.lo +0 -12
  535. package/deps/xz/src/liblzma/liblzma_la-filter_encoder.o +0 -0
  536. package/deps/xz/src/liblzma/liblzma_la-filter_flags_decoder.lo +0 -12
  537. package/deps/xz/src/liblzma/liblzma_la-filter_flags_decoder.o +0 -0
  538. package/deps/xz/src/liblzma/liblzma_la-filter_flags_encoder.lo +0 -12
  539. package/deps/xz/src/liblzma/liblzma_la-filter_flags_encoder.o +0 -0
  540. package/deps/xz/src/liblzma/liblzma_la-hardware_cputhreads.lo +0 -12
  541. package/deps/xz/src/liblzma/liblzma_la-hardware_cputhreads.o +0 -0
  542. package/deps/xz/src/liblzma/liblzma_la-hardware_physmem.lo +0 -12
  543. package/deps/xz/src/liblzma/liblzma_la-hardware_physmem.o +0 -0
  544. package/deps/xz/src/liblzma/liblzma_la-ia64.lo +0 -12
  545. package/deps/xz/src/liblzma/liblzma_la-ia64.o +0 -0
  546. package/deps/xz/src/liblzma/liblzma_la-index.lo +0 -12
  547. package/deps/xz/src/liblzma/liblzma_la-index.o +0 -0
  548. package/deps/xz/src/liblzma/liblzma_la-index_decoder.lo +0 -12
  549. package/deps/xz/src/liblzma/liblzma_la-index_decoder.o +0 -0
  550. package/deps/xz/src/liblzma/liblzma_la-index_encoder.lo +0 -12
  551. package/deps/xz/src/liblzma/liblzma_la-index_encoder.o +0 -0
  552. package/deps/xz/src/liblzma/liblzma_la-index_hash.lo +0 -12
  553. package/deps/xz/src/liblzma/liblzma_la-index_hash.o +0 -0
  554. package/deps/xz/src/liblzma/liblzma_la-lz_decoder.lo +0 -12
  555. package/deps/xz/src/liblzma/liblzma_la-lz_decoder.o +0 -0
  556. package/deps/xz/src/liblzma/liblzma_la-lz_encoder.lo +0 -12
  557. package/deps/xz/src/liblzma/liblzma_la-lz_encoder.o +0 -0
  558. package/deps/xz/src/liblzma/liblzma_la-lz_encoder_mf.lo +0 -12
  559. package/deps/xz/src/liblzma/liblzma_la-lz_encoder_mf.o +0 -0
  560. package/deps/xz/src/liblzma/liblzma_la-lzma2_decoder.lo +0 -12
  561. package/deps/xz/src/liblzma/liblzma_la-lzma2_decoder.o +0 -0
  562. package/deps/xz/src/liblzma/liblzma_la-lzma2_encoder.lo +0 -12
  563. package/deps/xz/src/liblzma/liblzma_la-lzma2_encoder.o +0 -0
  564. package/deps/xz/src/liblzma/liblzma_la-lzma_decoder.lo +0 -12
  565. package/deps/xz/src/liblzma/liblzma_la-lzma_decoder.o +0 -0
  566. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder.lo +0 -12
  567. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder.o +0 -0
  568. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_fast.lo +0 -12
  569. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_fast.o +0 -0
  570. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_normal.lo +0 -12
  571. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_normal.o +0 -0
  572. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_presets.lo +0 -12
  573. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_presets.o +0 -0
  574. package/deps/xz/src/liblzma/liblzma_la-outqueue.lo +0 -12
  575. package/deps/xz/src/liblzma/liblzma_la-outqueue.o +0 -0
  576. package/deps/xz/src/liblzma/liblzma_la-powerpc.lo +0 -12
  577. package/deps/xz/src/liblzma/liblzma_la-powerpc.o +0 -0
  578. package/deps/xz/src/liblzma/liblzma_la-price_table.lo +0 -12
  579. package/deps/xz/src/liblzma/liblzma_la-price_table.o +0 -0
  580. package/deps/xz/src/liblzma/liblzma_la-sha256.lo +0 -12
  581. package/deps/xz/src/liblzma/liblzma_la-sha256.o +0 -0
  582. package/deps/xz/src/liblzma/liblzma_la-simple_coder.lo +0 -12
  583. package/deps/xz/src/liblzma/liblzma_la-simple_coder.o +0 -0
  584. package/deps/xz/src/liblzma/liblzma_la-simple_decoder.lo +0 -12
  585. package/deps/xz/src/liblzma/liblzma_la-simple_decoder.o +0 -0
  586. package/deps/xz/src/liblzma/liblzma_la-simple_encoder.lo +0 -12
  587. package/deps/xz/src/liblzma/liblzma_la-simple_encoder.o +0 -0
  588. package/deps/xz/src/liblzma/liblzma_la-sparc.lo +0 -12
  589. package/deps/xz/src/liblzma/liblzma_la-sparc.o +0 -0
  590. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_decoder.lo +0 -12
  591. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_decoder.o +0 -0
  592. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_encoder.lo +0 -12
  593. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_encoder.o +0 -0
  594. package/deps/xz/src/liblzma/liblzma_la-stream_decoder.lo +0 -12
  595. package/deps/xz/src/liblzma/liblzma_la-stream_decoder.o +0 -0
  596. package/deps/xz/src/liblzma/liblzma_la-stream_encoder.lo +0 -12
  597. package/deps/xz/src/liblzma/liblzma_la-stream_encoder.o +0 -0
  598. package/deps/xz/src/liblzma/liblzma_la-stream_encoder_mt.lo +0 -12
  599. package/deps/xz/src/liblzma/liblzma_la-stream_encoder_mt.o +0 -0
  600. package/deps/xz/src/liblzma/liblzma_la-stream_flags_common.lo +0 -12
  601. package/deps/xz/src/liblzma/liblzma_la-stream_flags_common.o +0 -0
  602. package/deps/xz/src/liblzma/liblzma_la-stream_flags_decoder.lo +0 -12
  603. package/deps/xz/src/liblzma/liblzma_la-stream_flags_decoder.o +0 -0
  604. package/deps/xz/src/liblzma/liblzma_la-stream_flags_encoder.lo +0 -12
  605. package/deps/xz/src/liblzma/liblzma_la-stream_flags_encoder.o +0 -0
  606. package/deps/xz/src/liblzma/liblzma_la-tuklib_cpucores.lo +0 -12
  607. package/deps/xz/src/liblzma/liblzma_la-tuklib_cpucores.o +0 -0
  608. package/deps/xz/src/liblzma/liblzma_la-tuklib_physmem.lo +0 -12
  609. package/deps/xz/src/liblzma/liblzma_la-tuklib_physmem.o +0 -0
  610. package/deps/xz/src/liblzma/liblzma_la-vli_decoder.lo +0 -12
  611. package/deps/xz/src/liblzma/liblzma_la-vli_decoder.o +0 -0
  612. package/deps/xz/src/liblzma/liblzma_la-vli_encoder.lo +0 -12
  613. package/deps/xz/src/liblzma/liblzma_la-vli_encoder.o +0 -0
  614. package/deps/xz/src/liblzma/liblzma_la-vli_size.lo +0 -12
  615. package/deps/xz/src/liblzma/liblzma_la-vli_size.o +0 -0
  616. package/deps/xz/src/liblzma/liblzma_la-x86.lo +0 -12
  617. package/deps/xz/src/liblzma/liblzma_la-x86.o +0 -0
  618. package/deps/xz/src/liblzma/liblzma_w32res.rc +0 -12
  619. package/deps/xz/src/liblzma/lz/Makefile.inc +0 -22
  620. package/deps/xz/src/liblzma/lz/lz_decoder.c +0 -300
  621. package/deps/xz/src/liblzma/lz/lz_decoder.h +0 -235
  622. package/deps/xz/src/liblzma/lz/lz_encoder.c +0 -605
  623. package/deps/xz/src/liblzma/lz/lz_encoder.h +0 -328
  624. package/deps/xz/src/liblzma/lz/lz_encoder_hash.h +0 -108
  625. package/deps/xz/src/liblzma/lz/lz_encoder_hash_table.h +0 -68
  626. package/deps/xz/src/liblzma/lz/lz_encoder_mf.c +0 -744
  627. package/deps/xz/src/liblzma/lzma/Makefile.inc +0 -43
  628. package/deps/xz/src/liblzma/lzma/fastpos.h +0 -141
  629. package/deps/xz/src/liblzma/lzma/fastpos_table.c +0 -519
  630. package/deps/xz/src/liblzma/lzma/fastpos_tablegen.c +0 -56
  631. package/deps/xz/src/liblzma/lzma/lzma2_decoder.c +0 -304
  632. package/deps/xz/src/liblzma/lzma/lzma2_decoder.h +0 -29
  633. package/deps/xz/src/liblzma/lzma/lzma2_encoder.c +0 -403
  634. package/deps/xz/src/liblzma/lzma/lzma2_encoder.h +0 -43
  635. package/deps/xz/src/liblzma/lzma/lzma_common.h +0 -224
  636. package/deps/xz/src/liblzma/lzma/lzma_decoder.c +0 -1061
  637. package/deps/xz/src/liblzma/lzma/lzma_decoder.h +0 -53
  638. package/deps/xz/src/liblzma/lzma/lzma_encoder.c +0 -676
  639. package/deps/xz/src/liblzma/lzma/lzma_encoder.h +0 -55
  640. package/deps/xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c +0 -169
  641. package/deps/xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c +0 -854
  642. package/deps/xz/src/liblzma/lzma/lzma_encoder_presets.c +0 -63
  643. package/deps/xz/src/liblzma/lzma/lzma_encoder_private.h +0 -148
  644. package/deps/xz/src/liblzma/rangecoder/Makefile.inc +0 -21
  645. package/deps/xz/src/liblzma/rangecoder/price.h +0 -92
  646. package/deps/xz/src/liblzma/rangecoder/price_table.c +0 -22
  647. package/deps/xz/src/liblzma/rangecoder/price_tablegen.c +0 -87
  648. package/deps/xz/src/liblzma/rangecoder/range_common.h +0 -73
  649. package/deps/xz/src/liblzma/rangecoder/range_decoder.h +0 -185
  650. package/deps/xz/src/liblzma/rangecoder/range_encoder.h +0 -231
  651. package/deps/xz/src/liblzma/simple/Makefile.inc +0 -47
  652. package/deps/xz/src/liblzma/simple/arm.c +0 -71
  653. package/deps/xz/src/liblzma/simple/armthumb.c +0 -76
  654. package/deps/xz/src/liblzma/simple/ia64.c +0 -112
  655. package/deps/xz/src/liblzma/simple/powerpc.c +0 -75
  656. package/deps/xz/src/liblzma/simple/simple_coder.c +0 -277
  657. package/deps/xz/src/liblzma/simple/simple_coder.h +0 -72
  658. package/deps/xz/src/liblzma/simple/simple_decoder.c +0 -40
  659. package/deps/xz/src/liblzma/simple/simple_decoder.h +0 -22
  660. package/deps/xz/src/liblzma/simple/simple_encoder.c +0 -38
  661. package/deps/xz/src/liblzma/simple/simple_encoder.h +0 -23
  662. package/deps/xz/src/liblzma/simple/simple_private.h +0 -76
  663. package/deps/xz/src/liblzma/simple/sparc.c +0 -83
  664. package/deps/xz/src/liblzma/simple/x86.c +0 -156
  665. package/deps/xz/src/liblzma/validate_map.sh +0 -68
  666. package/deps/xz/src/lzmainfo/.deps/lzmainfo-lzmainfo.Po +0 -1
  667. package/deps/xz/src/lzmainfo/.deps/lzmainfo-tuklib_exit.Po +0 -1
  668. package/deps/xz/src/lzmainfo/.deps/lzmainfo-tuklib_progname.Po +0 -1
  669. package/deps/xz/src/lzmainfo/Makefile +0 -802
  670. package/deps/xz/src/lzmainfo/Makefile.am +0 -39
  671. package/deps/xz/src/lzmainfo/Makefile.in +0 -802
  672. package/deps/xz/src/lzmainfo/lzmainfo.1 +0 -60
  673. package/deps/xz/src/lzmainfo/lzmainfo.c +0 -219
  674. package/deps/xz/src/lzmainfo/lzmainfo_w32res.rc +0 -12
  675. package/deps/xz/src/scripts/Makefile +0 -642
  676. package/deps/xz/src/scripts/Makefile.am +0 -55
  677. package/deps/xz/src/scripts/Makefile.in +0 -642
  678. package/deps/xz/src/scripts/xzdiff +0 -200
  679. package/deps/xz/src/scripts/xzdiff.1 +0 -77
  680. package/deps/xz/src/scripts/xzdiff.in +0 -200
  681. package/deps/xz/src/scripts/xzgrep +0 -215
  682. package/deps/xz/src/scripts/xzgrep.1 +0 -98
  683. package/deps/xz/src/scripts/xzgrep.in +0 -215
  684. package/deps/xz/src/scripts/xzless +0 -58
  685. package/deps/xz/src/scripts/xzless.1 +0 -69
  686. package/deps/xz/src/scripts/xzless.in +0 -58
  687. package/deps/xz/src/scripts/xzmore +0 -78
  688. package/deps/xz/src/scripts/xzmore.1 +0 -55
  689. package/deps/xz/src/scripts/xzmore.in +0 -78
  690. package/deps/xz/src/xz/.deps/xz-args.Po +0 -1
  691. package/deps/xz/src/xz/.deps/xz-coder.Po +0 -1
  692. package/deps/xz/src/xz/.deps/xz-file_io.Po +0 -1
  693. package/deps/xz/src/xz/.deps/xz-hardware.Po +0 -1
  694. package/deps/xz/src/xz/.deps/xz-list.Po +0 -1
  695. package/deps/xz/src/xz/.deps/xz-main.Po +0 -1
  696. package/deps/xz/src/xz/.deps/xz-message.Po +0 -1
  697. package/deps/xz/src/xz/.deps/xz-mytime.Po +0 -1
  698. package/deps/xz/src/xz/.deps/xz-options.Po +0 -1
  699. package/deps/xz/src/xz/.deps/xz-signals.Po +0 -1
  700. package/deps/xz/src/xz/.deps/xz-suffix.Po +0 -1
  701. package/deps/xz/src/xz/.deps/xz-tuklib_exit.Po +0 -1
  702. package/deps/xz/src/xz/.deps/xz-tuklib_mbstr_fw.Po +0 -1
  703. package/deps/xz/src/xz/.deps/xz-tuklib_mbstr_width.Po +0 -1
  704. package/deps/xz/src/xz/.deps/xz-tuklib_open_stdxxx.Po +0 -1
  705. package/deps/xz/src/xz/.deps/xz-tuklib_progname.Po +0 -1
  706. package/deps/xz/src/xz/.deps/xz-util.Po +0 -1
  707. package/deps/xz/src/xz/Makefile +0 -1066
  708. package/deps/xz/src/xz/Makefile.am +0 -107
  709. package/deps/xz/src/xz/Makefile.in +0 -1066
  710. package/deps/xz/src/xz/args.c +0 -684
  711. package/deps/xz/src/xz/args.h +0 -44
  712. package/deps/xz/src/xz/coder.c +0 -919
  713. package/deps/xz/src/xz/coder.h +0 -76
  714. package/deps/xz/src/xz/file_io.c +0 -1184
  715. package/deps/xz/src/xz/file_io.h +0 -150
  716. package/deps/xz/src/xz/hardware.c +0 -150
  717. package/deps/xz/src/xz/hardware.h +0 -37
  718. package/deps/xz/src/xz/list.c +0 -1186
  719. package/deps/xz/src/xz/list.h +0 -18
  720. package/deps/xz/src/xz/main.c +0 -307
  721. package/deps/xz/src/xz/main.h +0 -30
  722. package/deps/xz/src/xz/message.c +0 -1258
  723. package/deps/xz/src/xz/message.h +0 -167
  724. package/deps/xz/src/xz/mytime.c +0 -89
  725. package/deps/xz/src/xz/mytime.h +0 -47
  726. package/deps/xz/src/xz/options.c +0 -363
  727. package/deps/xz/src/xz/options.h +0 -31
  728. package/deps/xz/src/xz/private.h +0 -59
  729. package/deps/xz/src/xz/signals.c +0 -209
  730. package/deps/xz/src/xz/signals.h +0 -43
  731. package/deps/xz/src/xz/suffix.c +0 -399
  732. package/deps/xz/src/xz/suffix.h +0 -28
  733. package/deps/xz/src/xz/util.c +0 -288
  734. package/deps/xz/src/xz/util.h +0 -123
  735. package/deps/xz/src/xz/xz.1 +0 -2786
  736. package/deps/xz/src/xz/xz_w32res.rc +0 -12
  737. package/deps/xz/src/xzdec/.deps/lzmadec-tuklib_exit.Po +0 -1
  738. package/deps/xz/src/xzdec/.deps/lzmadec-tuklib_progname.Po +0 -1
  739. package/deps/xz/src/xzdec/.deps/lzmadec-xzdec.Po +0 -1
  740. package/deps/xz/src/xzdec/.deps/xzdec-tuklib_exit.Po +0 -1
  741. package/deps/xz/src/xzdec/.deps/xzdec-tuklib_progname.Po +0 -1
  742. package/deps/xz/src/xzdec/.deps/xzdec-xzdec.Po +0 -1
  743. package/deps/xz/src/xzdec/Makefile +0 -901
  744. package/deps/xz/src/xzdec/Makefile.am +0 -82
  745. package/deps/xz/src/xzdec/Makefile.in +0 -901
  746. package/deps/xz/src/xzdec/lzmadec_w32res.rc +0 -12
  747. package/deps/xz/src/xzdec/xzdec.1 +0 -146
  748. package/deps/xz/src/xzdec/xzdec.c +0 -323
  749. package/deps/xz/src/xzdec/xzdec_w32res.rc +0 -12
  750. package/deps/xz/stamp-h1 +0 -1
  751. package/deps/xz/tests/.deps/create_compress_files.Po +0 -1
  752. package/deps/xz/tests/.deps/test_bcj_exact_size.Po +0 -1
  753. package/deps/xz/tests/.deps/test_block_header.Po +0 -1
  754. package/deps/xz/tests/.deps/test_check.Po +0 -1
  755. package/deps/xz/tests/.deps/test_filter_flags.Po +0 -1
  756. package/deps/xz/tests/.deps/test_index.Po +0 -1
  757. package/deps/xz/tests/.deps/test_stream_flags.Po +0 -1
  758. package/deps/xz/tests/Makefile +0 -832
  759. package/deps/xz/tests/Makefile.am +0 -57
  760. package/deps/xz/tests/Makefile.in +0 -832
  761. package/deps/xz/tests/bcj_test.c +0 -65
  762. package/deps/xz/tests/compress_prepared_bcj_sparc +0 -0
  763. package/deps/xz/tests/compress_prepared_bcj_x86 +0 -0
  764. package/deps/xz/tests/create_compress_files.c +0 -158
  765. package/deps/xz/tests/files/README +0 -240
  766. package/deps/xz/tests/files/bad-0-backward_size.xz +0 -0
  767. package/deps/xz/tests/files/bad-0-empty-truncated.xz +0 -0
  768. package/deps/xz/tests/files/bad-0-footer_magic.xz +0 -0
  769. package/deps/xz/tests/files/bad-0-header_magic.xz +0 -0
  770. package/deps/xz/tests/files/bad-0-nonempty_index.xz +0 -0
  771. package/deps/xz/tests/files/bad-0cat-alone.xz +0 -0
  772. package/deps/xz/tests/files/bad-0cat-header_magic.xz +0 -0
  773. package/deps/xz/tests/files/bad-0catpad-empty.xz +0 -0
  774. package/deps/xz/tests/files/bad-0pad-empty.xz +0 -0
  775. package/deps/xz/tests/files/bad-1-block_header-1.xz +0 -0
  776. package/deps/xz/tests/files/bad-1-block_header-2.xz +0 -0
  777. package/deps/xz/tests/files/bad-1-block_header-3.xz +0 -0
  778. package/deps/xz/tests/files/bad-1-block_header-4.xz +0 -0
  779. package/deps/xz/tests/files/bad-1-block_header-5.xz +0 -0
  780. package/deps/xz/tests/files/bad-1-block_header-6.xz +0 -0
  781. package/deps/xz/tests/files/bad-1-check-crc32.xz +0 -0
  782. package/deps/xz/tests/files/bad-1-check-crc64.xz +0 -0
  783. package/deps/xz/tests/files/bad-1-check-sha256.xz +0 -0
  784. package/deps/xz/tests/files/bad-1-lzma2-1.xz +0 -0
  785. package/deps/xz/tests/files/bad-1-lzma2-2.xz +0 -0
  786. package/deps/xz/tests/files/bad-1-lzma2-3.xz +0 -0
  787. package/deps/xz/tests/files/bad-1-lzma2-4.xz +0 -0
  788. package/deps/xz/tests/files/bad-1-lzma2-5.xz +0 -0
  789. package/deps/xz/tests/files/bad-1-lzma2-6.xz +0 -0
  790. package/deps/xz/tests/files/bad-1-lzma2-7.xz +0 -0
  791. package/deps/xz/tests/files/bad-1-lzma2-8.xz +0 -0
  792. package/deps/xz/tests/files/bad-1-stream_flags-1.xz +0 -0
  793. package/deps/xz/tests/files/bad-1-stream_flags-2.xz +0 -0
  794. package/deps/xz/tests/files/bad-1-stream_flags-3.xz +0 -0
  795. package/deps/xz/tests/files/bad-1-vli-1.xz +0 -0
  796. package/deps/xz/tests/files/bad-1-vli-2.xz +0 -0
  797. package/deps/xz/tests/files/bad-2-compressed_data_padding.xz +0 -0
  798. package/deps/xz/tests/files/bad-2-index-1.xz +0 -0
  799. package/deps/xz/tests/files/bad-2-index-2.xz +0 -0
  800. package/deps/xz/tests/files/bad-2-index-3.xz +0 -0
  801. package/deps/xz/tests/files/bad-2-index-4.xz +0 -0
  802. package/deps/xz/tests/files/bad-2-index-5.xz +0 -0
  803. package/deps/xz/tests/files/good-0-empty.xz +0 -0
  804. package/deps/xz/tests/files/good-0cat-empty.xz +0 -0
  805. package/deps/xz/tests/files/good-0catpad-empty.xz +0 -0
  806. package/deps/xz/tests/files/good-0pad-empty.xz +0 -0
  807. package/deps/xz/tests/files/good-1-3delta-lzma2.xz +0 -0
  808. package/deps/xz/tests/files/good-1-block_header-1.xz +0 -0
  809. package/deps/xz/tests/files/good-1-block_header-2.xz +0 -0
  810. package/deps/xz/tests/files/good-1-block_header-3.xz +0 -0
  811. package/deps/xz/tests/files/good-1-check-crc32.xz +0 -0
  812. package/deps/xz/tests/files/good-1-check-crc64.xz +0 -0
  813. package/deps/xz/tests/files/good-1-check-none.xz +0 -0
  814. package/deps/xz/tests/files/good-1-check-sha256.xz +0 -0
  815. package/deps/xz/tests/files/good-1-delta-lzma2.tiff.xz +0 -0
  816. package/deps/xz/tests/files/good-1-lzma2-1.xz +0 -0
  817. package/deps/xz/tests/files/good-1-lzma2-2.xz +0 -0
  818. package/deps/xz/tests/files/good-1-lzma2-3.xz +0 -0
  819. package/deps/xz/tests/files/good-1-lzma2-4.xz +0 -0
  820. package/deps/xz/tests/files/good-1-lzma2-5.xz +0 -0
  821. package/deps/xz/tests/files/good-1-sparc-lzma2.xz +0 -0
  822. package/deps/xz/tests/files/good-1-x86-lzma2.xz +0 -0
  823. package/deps/xz/tests/files/good-2-lzma2.xz +0 -0
  824. package/deps/xz/tests/files/unsupported-block_header.xz +0 -0
  825. package/deps/xz/tests/files/unsupported-check.xz +0 -0
  826. package/deps/xz/tests/files/unsupported-filter_flags-1.xz +0 -0
  827. package/deps/xz/tests/files/unsupported-filter_flags-2.xz +0 -0
  828. package/deps/xz/tests/files/unsupported-filter_flags-3.xz +0 -0
  829. package/deps/xz/tests/test_bcj_exact_size.c +0 -113
  830. package/deps/xz/tests/test_block_header.c +0 -240
  831. package/deps/xz/tests/test_check.c +0 -83
  832. package/deps/xz/tests/test_compress.sh +0 -142
  833. package/deps/xz/tests/test_files.sh +0 -57
  834. package/deps/xz/tests/test_filter_flags.c +0 -258
  835. package/deps/xz/tests/test_index.c +0 -659
  836. package/deps/xz/tests/test_scripts.sh +0 -76
  837. package/deps/xz/tests/test_stream_flags.c +0 -180
  838. package/deps/xz/tests/tests.h +0 -124
  839. package/deps/xz/tests/xzgrep_expected_output +0 -39
  840. package/deps/xz/windows/INSTALL-MSVC.txt +0 -47
  841. package/deps/xz/windows/INSTALL-MinGW.txt +0 -138
  842. package/deps/xz/windows/README-Windows.txt +0 -122
  843. package/deps/xz/windows/build.bash +0 -203
  844. package/deps/xz/windows/config.h +0 -142
  845. package/deps/xz/windows/liblzma.vcxproj +0 -354
  846. package/deps/xz/windows/liblzma_dll.vcxproj +0 -383
  847. package/deps/xz/windows/xz_win.sln +0 -48
  848. package/node_modules/node-pre-gyp/CHANGELOG.md +0 -319
  849. package/node_modules/node-pre-gyp/LICENSE +0 -27
  850. package/node_modules/node-pre-gyp/README.md +0 -570
  851. package/node_modules/node-pre-gyp/appveyor.yml +0 -30
  852. package/node_modules/node-pre-gyp/bin/node-pre-gyp +0 -131
  853. package/node_modules/node-pre-gyp/bin/node-pre-gyp.cmd +0 -2
  854. package/node_modules/node-pre-gyp/lib/build.js +0 -43
  855. package/node_modules/node-pre-gyp/lib/clean.js +0 -23
  856. package/node_modules/node-pre-gyp/lib/configure.js +0 -48
  857. package/node_modules/node-pre-gyp/lib/info.js +0 -40
  858. package/node_modules/node-pre-gyp/lib/install.js +0 -215
  859. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +0 -192
  860. package/node_modules/node-pre-gyp/lib/package.js +0 -46
  861. package/node_modules/node-pre-gyp/lib/pre-binding.js +0 -25
  862. package/node_modules/node-pre-gyp/lib/publish.js +0 -77
  863. package/node_modules/node-pre-gyp/lib/rebuild.js +0 -13
  864. package/node_modules/node-pre-gyp/lib/reinstall.js +0 -13
  865. package/node_modules/node-pre-gyp/lib/reveal.js +0 -31
  866. package/node_modules/node-pre-gyp/lib/testbinary.js +0 -73
  867. package/node_modules/node-pre-gyp/lib/testpackage.js +0 -49
  868. package/node_modules/node-pre-gyp/lib/unpublish.js +0 -41
  869. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +0 -1222
  870. package/node_modules/node-pre-gyp/lib/util/compile.js +0 -87
  871. package/node_modules/node-pre-gyp/lib/util/handle_gyp_opts.js +0 -94
  872. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/index.html +0 -26
  873. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/package.json +0 -9
  874. package/node_modules/node-pre-gyp/lib/util/s3_setup.js +0 -27
  875. package/node_modules/node-pre-gyp/lib/util/versioning.js +0 -308
  876. package/node_modules/node-pre-gyp/package.json +0 -136
  877. package/src/bindings/module.cpp +0 -107
  878. package/src/bindings/node-liblzma.cpp +0 -320
  879. package/src/bindings/node-liblzma.hpp +0 -115
  880. package/src/lzma.coffee +0 -339
@@ -1,919 +0,0 @@
1
- ///////////////////////////////////////////////////////////////////////////////
2
- //
3
- /// \file coder.c
4
- /// \brief Compresses or uncompresses a file
5
- //
6
- // Author: Lasse Collin
7
- //
8
- // This file has been put into the public domain.
9
- // You can do whatever you want with this file.
10
- //
11
- ///////////////////////////////////////////////////////////////////////////////
12
-
13
- #include "private.h"
14
-
15
-
16
- /// Return value type for coder_init().
17
- enum coder_init_ret {
18
- CODER_INIT_NORMAL,
19
- CODER_INIT_PASSTHRU,
20
- CODER_INIT_ERROR,
21
- };
22
-
23
-
24
- enum operation_mode opt_mode = MODE_COMPRESS;
25
- enum format_type opt_format = FORMAT_AUTO;
26
- bool opt_auto_adjust = true;
27
- bool opt_single_stream = false;
28
- uint64_t opt_block_size = 0;
29
- uint64_t *opt_block_list = NULL;
30
-
31
-
32
- /// Stream used to communicate with liblzma
33
- static lzma_stream strm = LZMA_STREAM_INIT;
34
-
35
- /// Filters needed for all encoding all formats, and also decoding in raw data
36
- static lzma_filter filters[LZMA_FILTERS_MAX + 1];
37
-
38
- /// Input and output buffers
39
- static io_buf in_buf;
40
- static io_buf out_buf;
41
-
42
- /// Number of filters. Zero indicates that we are using a preset.
43
- static uint32_t filters_count = 0;
44
-
45
- /// Number of the preset (0-9)
46
- static uint32_t preset_number = LZMA_PRESET_DEFAULT;
47
-
48
- /// Integrity check type
49
- static lzma_check check;
50
-
51
- /// This becomes false if the --check=CHECK option is used.
52
- static bool check_default = true;
53
-
54
- #ifdef MYTHREAD_ENABLED
55
- static lzma_mt mt_options = {
56
- .flags = 0,
57
- .timeout = 300,
58
- .filters = filters,
59
- };
60
- #endif
61
-
62
-
63
- extern void
64
- coder_set_check(lzma_check new_check)
65
- {
66
- check = new_check;
67
- check_default = false;
68
- return;
69
- }
70
-
71
-
72
- static void
73
- forget_filter_chain(void)
74
- {
75
- // Setting a preset makes us forget a possibly defined custom
76
- // filter chain.
77
- while (filters_count > 0) {
78
- --filters_count;
79
- free(filters[filters_count].options);
80
- filters[filters_count].options = NULL;
81
- }
82
-
83
- return;
84
- }
85
-
86
-
87
- extern void
88
- coder_set_preset(uint32_t new_preset)
89
- {
90
- preset_number &= ~LZMA_PRESET_LEVEL_MASK;
91
- preset_number |= new_preset;
92
- forget_filter_chain();
93
- return;
94
- }
95
-
96
-
97
- extern void
98
- coder_set_extreme(void)
99
- {
100
- preset_number |= LZMA_PRESET_EXTREME;
101
- forget_filter_chain();
102
- return;
103
- }
104
-
105
-
106
- extern void
107
- coder_add_filter(lzma_vli id, void *options)
108
- {
109
- if (filters_count == LZMA_FILTERS_MAX)
110
- message_fatal(_("Maximum number of filters is four"));
111
-
112
- filters[filters_count].id = id;
113
- filters[filters_count].options = options;
114
- ++filters_count;
115
-
116
- // Setting a custom filter chain makes us forget the preset options.
117
- // This makes a difference if one specifies e.g. "xz -9 --lzma2 -e"
118
- // where the custom filter chain resets the preset level back to
119
- // the default 6, making the example equivalent to "xz -6e".
120
- preset_number = LZMA_PRESET_DEFAULT;
121
-
122
- return;
123
- }
124
-
125
-
126
- static void lzma_attribute((__noreturn__))
127
- memlimit_too_small(uint64_t memory_usage)
128
- {
129
- message(V_ERROR, _("Memory usage limit is too low for the given "
130
- "filter setup."));
131
- message_mem_needed(V_ERROR, memory_usage);
132
- tuklib_exit(E_ERROR, E_ERROR, false);
133
- }
134
-
135
-
136
- extern void
137
- coder_set_compression_settings(void)
138
- {
139
- // The default check type is CRC64, but fallback to CRC32
140
- // if CRC64 isn't supported by the copy of liblzma we are
141
- // using. CRC32 is always supported.
142
- if (check_default) {
143
- check = LZMA_CHECK_CRC64;
144
- if (!lzma_check_is_supported(check))
145
- check = LZMA_CHECK_CRC32;
146
- }
147
-
148
- // Options for LZMA1 or LZMA2 in case we are using a preset.
149
- static lzma_options_lzma opt_lzma;
150
-
151
- if (filters_count == 0) {
152
- // We are using a preset. This is not a good idea in raw mode
153
- // except when playing around with things. Different versions
154
- // of this software may use different options in presets, and
155
- // thus make uncompressing the raw data difficult.
156
- if (opt_format == FORMAT_RAW) {
157
- // The message is shown only if warnings are allowed
158
- // but the exit status isn't changed.
159
- message(V_WARNING, _("Using a preset in raw mode "
160
- "is discouraged."));
161
- message(V_WARNING, _("The exact options of the "
162
- "presets may vary between software "
163
- "versions."));
164
- }
165
-
166
- // Get the preset for LZMA1 or LZMA2.
167
- if (lzma_lzma_preset(&opt_lzma, preset_number))
168
- message_bug();
169
-
170
- // Use LZMA2 except with --format=lzma we use LZMA1.
171
- filters[0].id = opt_format == FORMAT_LZMA
172
- ? LZMA_FILTER_LZMA1 : LZMA_FILTER_LZMA2;
173
- filters[0].options = &opt_lzma;
174
- filters_count = 1;
175
- }
176
-
177
- // Terminate the filter options array.
178
- filters[filters_count].id = LZMA_VLI_UNKNOWN;
179
-
180
- // If we are using the .lzma format, allow exactly one filter
181
- // which has to be LZMA1.
182
- if (opt_format == FORMAT_LZMA && (filters_count != 1
183
- || filters[0].id != LZMA_FILTER_LZMA1))
184
- message_fatal(_("The .lzma format supports only "
185
- "the LZMA1 filter"));
186
-
187
- // If we are using the .xz format, make sure that there is no LZMA1
188
- // filter to prevent LZMA_PROG_ERROR.
189
- if (opt_format == FORMAT_XZ)
190
- for (size_t i = 0; i < filters_count; ++i)
191
- if (filters[i].id == LZMA_FILTER_LZMA1)
192
- message_fatal(_("LZMA1 cannot be used "
193
- "with the .xz format"));
194
-
195
- // Print the selected filter chain.
196
- message_filters_show(V_DEBUG, filters);
197
-
198
- // The --flush-timeout option requires LZMA_SYNC_FLUSH support
199
- // from the filter chain. Currently threaded encoder doesn't support
200
- // LZMA_SYNC_FLUSH so single-threaded mode must be used.
201
- if (opt_mode == MODE_COMPRESS && opt_flush_timeout != 0) {
202
- for (size_t i = 0; i < filters_count; ++i) {
203
- switch (filters[i].id) {
204
- case LZMA_FILTER_LZMA2:
205
- case LZMA_FILTER_DELTA:
206
- break;
207
-
208
- default:
209
- message_fatal(_("The filter chain is "
210
- "incompatible with --flush-timeout"));
211
- }
212
- }
213
-
214
- if (hardware_threads_get() > 1) {
215
- message(V_WARNING, _("Switching to single-threaded "
216
- "mode due to --flush-timeout"));
217
- hardware_threads_set(1);
218
- }
219
- }
220
-
221
- // Get the memory usage. Note that if --format=raw was used,
222
- // we can be decompressing.
223
- const uint64_t memory_limit = hardware_memlimit_get(opt_mode);
224
- uint64_t memory_usage;
225
- if (opt_mode == MODE_COMPRESS) {
226
- #ifdef MYTHREAD_ENABLED
227
- if (opt_format == FORMAT_XZ && hardware_threads_get() > 1) {
228
- mt_options.threads = hardware_threads_get();
229
- mt_options.block_size = opt_block_size;
230
- mt_options.check = check;
231
- memory_usage = lzma_stream_encoder_mt_memusage(
232
- &mt_options);
233
- if (memory_usage != UINT64_MAX)
234
- message(V_DEBUG, _("Using up to %" PRIu32
235
- " threads."),
236
- mt_options.threads);
237
- } else
238
- #endif
239
- {
240
- memory_usage = lzma_raw_encoder_memusage(filters);
241
- }
242
- } else {
243
- memory_usage = lzma_raw_decoder_memusage(filters);
244
- }
245
-
246
- if (memory_usage == UINT64_MAX)
247
- message_fatal(_("Unsupported filter chain or filter options"));
248
-
249
- // Print memory usage info before possible dictionary
250
- // size auto-adjusting.
251
- message_mem_needed(V_DEBUG, memory_usage);
252
- if (opt_mode == MODE_COMPRESS) {
253
- const uint64_t decmem = lzma_raw_decoder_memusage(filters);
254
- if (decmem != UINT64_MAX)
255
- message(V_DEBUG, _("Decompression will need "
256
- "%s MiB of memory."), uint64_to_str(
257
- round_up_to_mib(decmem), 0));
258
- }
259
-
260
- if (memory_usage <= memory_limit)
261
- return;
262
-
263
- // If --no-adjust was used or we didn't find LZMA1 or
264
- // LZMA2 as the last filter, give an error immediately.
265
- // --format=raw implies --no-adjust.
266
- if (!opt_auto_adjust || opt_format == FORMAT_RAW)
267
- memlimit_too_small(memory_usage);
268
-
269
- assert(opt_mode == MODE_COMPRESS);
270
-
271
- #ifdef MYTHREAD_ENABLED
272
- if (opt_format == FORMAT_XZ && mt_options.threads > 1) {
273
- // Try to reduce the number of threads before
274
- // adjusting the compression settings down.
275
- do {
276
- // FIXME? The real single-threaded mode has
277
- // lower memory usage, but it's not comparable
278
- // because it doesn't write the size info
279
- // into Block Headers.
280
- if (--mt_options.threads == 0)
281
- memlimit_too_small(memory_usage);
282
-
283
- memory_usage = lzma_stream_encoder_mt_memusage(
284
- &mt_options);
285
- if (memory_usage == UINT64_MAX)
286
- message_bug();
287
-
288
- } while (memory_usage > memory_limit);
289
-
290
- message(V_WARNING, _("Adjusted the number of threads "
291
- "from %s to %s to not exceed "
292
- "the memory usage limit of %s MiB"),
293
- uint64_to_str(hardware_threads_get(), 0),
294
- uint64_to_str(mt_options.threads, 1),
295
- uint64_to_str(round_up_to_mib(
296
- memory_limit), 2));
297
- }
298
- #endif
299
-
300
- if (memory_usage <= memory_limit)
301
- return;
302
-
303
- // Look for the last filter if it is LZMA2 or LZMA1, so we can make
304
- // it use less RAM. With other filters we don't know what to do.
305
- size_t i = 0;
306
- while (filters[i].id != LZMA_FILTER_LZMA2
307
- && filters[i].id != LZMA_FILTER_LZMA1) {
308
- if (filters[i].id == LZMA_VLI_UNKNOWN)
309
- memlimit_too_small(memory_usage);
310
-
311
- ++i;
312
- }
313
-
314
- // Decrease the dictionary size until we meet the memory
315
- // usage limit. First round down to full mebibytes.
316
- lzma_options_lzma *opt = filters[i].options;
317
- const uint32_t orig_dict_size = opt->dict_size;
318
- opt->dict_size &= ~((UINT32_C(1) << 20) - 1);
319
- while (true) {
320
- // If it is below 1 MiB, auto-adjusting failed. We could be
321
- // more sophisticated and scale it down even more, but let's
322
- // see if many complain about this version.
323
- //
324
- // FIXME: Displays the scaled memory usage instead
325
- // of the original.
326
- if (opt->dict_size < (UINT32_C(1) << 20))
327
- memlimit_too_small(memory_usage);
328
-
329
- memory_usage = lzma_raw_encoder_memusage(filters);
330
- if (memory_usage == UINT64_MAX)
331
- message_bug();
332
-
333
- // Accept it if it is low enough.
334
- if (memory_usage <= memory_limit)
335
- break;
336
-
337
- // Otherwise 1 MiB down and try again. I hope this
338
- // isn't too slow method for cases where the original
339
- // dict_size is very big.
340
- opt->dict_size -= UINT32_C(1) << 20;
341
- }
342
-
343
- // Tell the user that we decreased the dictionary size.
344
- message(V_WARNING, _("Adjusted LZMA%c dictionary size "
345
- "from %s MiB to %s MiB to not exceed "
346
- "the memory usage limit of %s MiB"),
347
- filters[i].id == LZMA_FILTER_LZMA2
348
- ? '2' : '1',
349
- uint64_to_str(orig_dict_size >> 20, 0),
350
- uint64_to_str(opt->dict_size >> 20, 1),
351
- uint64_to_str(round_up_to_mib(memory_limit), 2));
352
-
353
- return;
354
- }
355
-
356
-
357
- /// Return true if the data in in_buf seems to be in the .xz format.
358
- static bool
359
- is_format_xz(void)
360
- {
361
- // Specify the magic as hex to be compatible with EBCDIC systems.
362
- static const uint8_t magic[6] = { 0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00 };
363
- return strm.avail_in >= sizeof(magic)
364
- && memcmp(in_buf.u8, magic, sizeof(magic)) == 0;
365
- }
366
-
367
-
368
- /// Return true if the data in in_buf seems to be in the .lzma format.
369
- static bool
370
- is_format_lzma(void)
371
- {
372
- // The .lzma header is 13 bytes.
373
- if (strm.avail_in < 13)
374
- return false;
375
-
376
- // Decode the LZMA1 properties.
377
- lzma_filter filter = { .id = LZMA_FILTER_LZMA1 };
378
- if (lzma_properties_decode(&filter, NULL, in_buf.u8, 5) != LZMA_OK)
379
- return false;
380
-
381
- // A hack to ditch tons of false positives: We allow only dictionary
382
- // sizes that are 2^n or 2^n + 2^(n-1) or UINT32_MAX. LZMA_Alone
383
- // created only files with 2^n, but accepts any dictionary size.
384
- // If someone complains, this will be reconsidered.
385
- lzma_options_lzma *opt = filter.options;
386
- const uint32_t dict_size = opt->dict_size;
387
- free(opt);
388
-
389
- if (dict_size != UINT32_MAX) {
390
- uint32_t d = dict_size - 1;
391
- d |= d >> 2;
392
- d |= d >> 3;
393
- d |= d >> 4;
394
- d |= d >> 8;
395
- d |= d >> 16;
396
- ++d;
397
- if (d != dict_size || dict_size == 0)
398
- return false;
399
- }
400
-
401
- // Another hack to ditch false positives: Assume that if the
402
- // uncompressed size is known, it must be less than 256 GiB.
403
- // Again, if someone complains, this will be reconsidered.
404
- uint64_t uncompressed_size = 0;
405
- for (size_t i = 0; i < 8; ++i)
406
- uncompressed_size |= (uint64_t)(in_buf.u8[5 + i]) << (i * 8);
407
-
408
- if (uncompressed_size != UINT64_MAX
409
- && uncompressed_size > (UINT64_C(1) << 38))
410
- return false;
411
-
412
- return true;
413
- }
414
-
415
-
416
- /// Detect the input file type (for now, this done only when decompressing),
417
- /// and initialize an appropriate coder. Return value indicates if a normal
418
- /// liblzma-based coder was initialized (CODER_INIT_NORMAL), if passthru
419
- /// mode should be used (CODER_INIT_PASSTHRU), or if an error occurred
420
- /// (CODER_INIT_ERROR).
421
- static enum coder_init_ret
422
- coder_init(file_pair *pair)
423
- {
424
- lzma_ret ret = LZMA_PROG_ERROR;
425
-
426
- if (opt_mode == MODE_COMPRESS) {
427
- switch (opt_format) {
428
- case FORMAT_AUTO:
429
- // args.c ensures this.
430
- assert(0);
431
- break;
432
-
433
- case FORMAT_XZ:
434
- #ifdef MYTHREAD_ENABLED
435
- if (hardware_threads_get() > 1)
436
- ret = lzma_stream_encoder_mt(
437
- &strm, &mt_options);
438
- else
439
- #endif
440
- ret = lzma_stream_encoder(
441
- &strm, filters, check);
442
- break;
443
-
444
- case FORMAT_LZMA:
445
- ret = lzma_alone_encoder(&strm, filters[0].options);
446
- break;
447
-
448
- case FORMAT_RAW:
449
- ret = lzma_raw_encoder(&strm, filters);
450
- break;
451
- }
452
- } else {
453
- uint32_t flags = 0;
454
-
455
- // It seems silly to warn about unsupported check if the
456
- // check won't be verified anyway due to --ignore-check.
457
- if (opt_ignore_check)
458
- flags |= LZMA_IGNORE_CHECK;
459
- else
460
- flags |= LZMA_TELL_UNSUPPORTED_CHECK;
461
-
462
- if (!opt_single_stream)
463
- flags |= LZMA_CONCATENATED;
464
-
465
- // We abuse FORMAT_AUTO to indicate unknown file format,
466
- // for which we may consider passthru mode.
467
- enum format_type init_format = FORMAT_AUTO;
468
-
469
- switch (opt_format) {
470
- case FORMAT_AUTO:
471
- if (is_format_xz())
472
- init_format = FORMAT_XZ;
473
- else if (is_format_lzma())
474
- init_format = FORMAT_LZMA;
475
- break;
476
-
477
- case FORMAT_XZ:
478
- if (is_format_xz())
479
- init_format = FORMAT_XZ;
480
- break;
481
-
482
- case FORMAT_LZMA:
483
- if (is_format_lzma())
484
- init_format = FORMAT_LZMA;
485
- break;
486
-
487
- case FORMAT_RAW:
488
- init_format = FORMAT_RAW;
489
- break;
490
- }
491
-
492
- switch (init_format) {
493
- case FORMAT_AUTO:
494
- // Unknown file format. If --decompress --stdout
495
- // --force have been given, then we copy the input
496
- // as is to stdout. Checking for MODE_DECOMPRESS
497
- // is needed, because we don't want to do use
498
- // passthru mode with --test.
499
- if (opt_mode == MODE_DECOMPRESS
500
- && opt_stdout && opt_force)
501
- return CODER_INIT_PASSTHRU;
502
-
503
- ret = LZMA_FORMAT_ERROR;
504
- break;
505
-
506
- case FORMAT_XZ:
507
- ret = lzma_stream_decoder(&strm,
508
- hardware_memlimit_get(
509
- MODE_DECOMPRESS), flags);
510
- break;
511
-
512
- case FORMAT_LZMA:
513
- ret = lzma_alone_decoder(&strm,
514
- hardware_memlimit_get(
515
- MODE_DECOMPRESS));
516
- break;
517
-
518
- case FORMAT_RAW:
519
- // Memory usage has already been checked in
520
- // coder_set_compression_settings().
521
- ret = lzma_raw_decoder(&strm, filters);
522
- break;
523
- }
524
-
525
- // Try to decode the headers. This will catch too low
526
- // memory usage limit in case it happens in the first
527
- // Block of the first Stream, which is where it very
528
- // probably will happen if it is going to happen.
529
- if (ret == LZMA_OK && init_format != FORMAT_RAW) {
530
- strm.next_out = NULL;
531
- strm.avail_out = 0;
532
- ret = lzma_code(&strm, LZMA_RUN);
533
- }
534
- }
535
-
536
- if (ret != LZMA_OK) {
537
- message_error("%s: %s", pair->src_name, message_strm(ret));
538
- if (ret == LZMA_MEMLIMIT_ERROR)
539
- message_mem_needed(V_ERROR, lzma_memusage(&strm));
540
-
541
- return CODER_INIT_ERROR;
542
- }
543
-
544
- return CODER_INIT_NORMAL;
545
- }
546
-
547
-
548
- /// Resolve conflicts between opt_block_size and opt_block_list in single
549
- /// threaded mode. We want to default to opt_block_list, except when it is
550
- /// larger than opt_block_size. If this is the case for the current Block
551
- /// at *list_pos, then we break into smaller Blocks. Otherwise advance
552
- /// to the next Block in opt_block_list, and break apart if needed.
553
- static void
554
- split_block(uint64_t *block_remaining,
555
- uint64_t *next_block_remaining,
556
- size_t *list_pos)
557
- {
558
- if (*next_block_remaining > 0) {
559
- // The Block at *list_pos has previously been split up.
560
- assert(hardware_threads_get() == 1);
561
- assert(opt_block_size > 0);
562
- assert(opt_block_list != NULL);
563
-
564
- if (*next_block_remaining > opt_block_size) {
565
- // We have to split the current Block at *list_pos
566
- // into another opt_block_size length Block.
567
- *block_remaining = opt_block_size;
568
- } else {
569
- // This is the last remaining split Block for the
570
- // Block at *list_pos.
571
- *block_remaining = *next_block_remaining;
572
- }
573
-
574
- *next_block_remaining -= *block_remaining;
575
-
576
- } else {
577
- // The Block at *list_pos has been finished. Go to the next
578
- // entry in the list. If the end of the list has been reached,
579
- // reuse the size of the last Block.
580
- if (opt_block_list[*list_pos + 1] != 0)
581
- ++*list_pos;
582
-
583
- *block_remaining = opt_block_list[*list_pos];
584
-
585
- // If in single-threaded mode, split up the Block if needed.
586
- // This is not needed in multi-threaded mode because liblzma
587
- // will do this due to how threaded encoding works.
588
- if (hardware_threads_get() == 1 && opt_block_size > 0
589
- && *block_remaining > opt_block_size) {
590
- *next_block_remaining
591
- = *block_remaining - opt_block_size;
592
- *block_remaining = opt_block_size;
593
- }
594
- }
595
- }
596
-
597
-
598
- /// Compress or decompress using liblzma.
599
- static bool
600
- coder_normal(file_pair *pair)
601
- {
602
- // Encoder needs to know when we have given all the input to it.
603
- // The decoders need to know it too when we are using
604
- // LZMA_CONCATENATED. We need to check for src_eof here, because
605
- // the first input chunk has been already read if decompressing,
606
- // and that may have been the only chunk we will read.
607
- lzma_action action = pair->src_eof ? LZMA_FINISH : LZMA_RUN;
608
-
609
- lzma_ret ret;
610
-
611
- // Assume that something goes wrong.
612
- bool success = false;
613
-
614
- // block_remaining indicates how many input bytes to encode before
615
- // finishing the current .xz Block. The Block size is set with
616
- // --block-size=SIZE and --block-list. They have an effect only when
617
- // compressing to the .xz format. If block_remaining == UINT64_MAX,
618
- // only a single block is created.
619
- uint64_t block_remaining = UINT64_MAX;
620
-
621
- // next_block_remining for when we are in single-threaded mode and
622
- // the Block in --block-list is larger than the --block-size=SIZE.
623
- uint64_t next_block_remaining = 0;
624
-
625
- // Position in opt_block_list. Unused if --block-list wasn't used.
626
- size_t list_pos = 0;
627
-
628
- // Handle --block-size for single-threaded mode and the first step
629
- // of --block-list.
630
- if (opt_mode == MODE_COMPRESS && opt_format == FORMAT_XZ) {
631
- // --block-size doesn't do anything here in threaded mode,
632
- // because the threaded encoder will take care of splitting
633
- // to fixed-sized Blocks.
634
- if (hardware_threads_get() == 1 && opt_block_size > 0)
635
- block_remaining = opt_block_size;
636
-
637
- // If --block-list was used, start with the first size.
638
- //
639
- // For threaded case, --block-size specifies how big Blocks
640
- // the encoder needs to be prepared to create at maximum
641
- // and --block-list will simultaneously cause new Blocks
642
- // to be started at specified intervals. To keep things
643
- // logical, the same is done in single-threaded mode. The
644
- // output is still not identical because in single-threaded
645
- // mode the size info isn't written into Block Headers.
646
- if (opt_block_list != NULL) {
647
- if (block_remaining < opt_block_list[list_pos]) {
648
- assert(hardware_threads_get() == 1);
649
- next_block_remaining = opt_block_list[list_pos]
650
- - block_remaining;
651
- } else {
652
- block_remaining = opt_block_list[list_pos];
653
- }
654
- }
655
- }
656
-
657
- strm.next_out = out_buf.u8;
658
- strm.avail_out = IO_BUFFER_SIZE;
659
-
660
- while (!user_abort) {
661
- // Fill the input buffer if it is empty and we aren't
662
- // flushing or finishing.
663
- if (strm.avail_in == 0 && action == LZMA_RUN) {
664
- strm.next_in = in_buf.u8;
665
- strm.avail_in = io_read(pair, &in_buf,
666
- my_min(block_remaining,
667
- IO_BUFFER_SIZE));
668
-
669
- if (strm.avail_in == SIZE_MAX)
670
- break;
671
-
672
- if (pair->src_eof) {
673
- action = LZMA_FINISH;
674
-
675
- } else if (block_remaining != UINT64_MAX) {
676
- // Start a new Block after every
677
- // opt_block_size bytes of input.
678
- block_remaining -= strm.avail_in;
679
- if (block_remaining == 0)
680
- action = LZMA_FULL_BARRIER;
681
- }
682
-
683
- if (action == LZMA_RUN && flush_needed)
684
- action = LZMA_SYNC_FLUSH;
685
- }
686
-
687
- // Let liblzma do the actual work.
688
- ret = lzma_code(&strm, action);
689
-
690
- // Write out if the output buffer became full.
691
- if (strm.avail_out == 0) {
692
- if (opt_mode != MODE_TEST && io_write(pair, &out_buf,
693
- IO_BUFFER_SIZE - strm.avail_out))
694
- break;
695
-
696
- strm.next_out = out_buf.u8;
697
- strm.avail_out = IO_BUFFER_SIZE;
698
- }
699
-
700
- if (ret == LZMA_STREAM_END && (action == LZMA_SYNC_FLUSH
701
- || action == LZMA_FULL_BARRIER)) {
702
- if (action == LZMA_SYNC_FLUSH) {
703
- // Flushing completed. Write the pending data
704
- // out immediatelly so that the reading side
705
- // can decompress everything compressed so far.
706
- if (io_write(pair, &out_buf, IO_BUFFER_SIZE
707
- - strm.avail_out))
708
- break;
709
-
710
- strm.next_out = out_buf.u8;
711
- strm.avail_out = IO_BUFFER_SIZE;
712
-
713
- // Set the time of the most recent flushing.
714
- mytime_set_flush_time();
715
- } else {
716
- // Start a new Block after LZMA_FULL_BARRIER.
717
- if (opt_block_list == NULL) {
718
- assert(hardware_threads_get() == 1);
719
- assert(opt_block_size > 0);
720
- block_remaining = opt_block_size;
721
- } else {
722
- split_block(&block_remaining,
723
- &next_block_remaining,
724
- &list_pos);
725
- }
726
- }
727
-
728
- // Start a new Block after LZMA_FULL_FLUSH or continue
729
- // the same block after LZMA_SYNC_FLUSH.
730
- action = LZMA_RUN;
731
-
732
- } else if (ret != LZMA_OK) {
733
- // Determine if the return value indicates that we
734
- // won't continue coding.
735
- const bool stop = ret != LZMA_NO_CHECK
736
- && ret != LZMA_UNSUPPORTED_CHECK;
737
-
738
- if (stop) {
739
- // Write the remaining bytes even if something
740
- // went wrong, because that way the user gets
741
- // as much data as possible, which can be good
742
- // when trying to get at least some useful
743
- // data out of damaged files.
744
- if (opt_mode != MODE_TEST && io_write(pair,
745
- &out_buf, IO_BUFFER_SIZE
746
- - strm.avail_out))
747
- break;
748
- }
749
-
750
- if (ret == LZMA_STREAM_END) {
751
- if (opt_single_stream) {
752
- io_fix_src_pos(pair, strm.avail_in);
753
- success = true;
754
- break;
755
- }
756
-
757
- // Check that there is no trailing garbage.
758
- // This is needed for LZMA_Alone and raw
759
- // streams.
760
- if (strm.avail_in == 0 && !pair->src_eof) {
761
- // Try reading one more byte.
762
- // Hopefully we don't get any more
763
- // input, and thus pair->src_eof
764
- // becomes true.
765
- strm.avail_in = io_read(
766
- pair, &in_buf, 1);
767
- if (strm.avail_in == SIZE_MAX)
768
- break;
769
-
770
- assert(strm.avail_in == 0
771
- || strm.avail_in == 1);
772
- }
773
-
774
- if (strm.avail_in == 0) {
775
- assert(pair->src_eof);
776
- success = true;
777
- break;
778
- }
779
-
780
- // We hadn't reached the end of the file.
781
- ret = LZMA_DATA_ERROR;
782
- assert(stop);
783
- }
784
-
785
- // If we get here and stop is true, something went
786
- // wrong and we print an error. Otherwise it's just
787
- // a warning and coding can continue.
788
- if (stop) {
789
- message_error("%s: %s", pair->src_name,
790
- message_strm(ret));
791
- } else {
792
- message_warning("%s: %s", pair->src_name,
793
- message_strm(ret));
794
-
795
- // When compressing, all possible errors set
796
- // stop to true.
797
- assert(opt_mode != MODE_COMPRESS);
798
- }
799
-
800
- if (ret == LZMA_MEMLIMIT_ERROR) {
801
- // Display how much memory it would have
802
- // actually needed.
803
- message_mem_needed(V_ERROR,
804
- lzma_memusage(&strm));
805
- }
806
-
807
- if (stop)
808
- break;
809
- }
810
-
811
- // Show progress information under certain conditions.
812
- message_progress_update();
813
- }
814
-
815
- return success;
816
- }
817
-
818
-
819
- /// Copy from input file to output file without processing the data in any
820
- /// way. This is used only when trying to decompress unrecognized files
821
- /// with --decompress --stdout --force, so the output is always stdout.
822
- static bool
823
- coder_passthru(file_pair *pair)
824
- {
825
- while (strm.avail_in != 0) {
826
- if (user_abort)
827
- return false;
828
-
829
- if (io_write(pair, &in_buf, strm.avail_in))
830
- return false;
831
-
832
- strm.total_in += strm.avail_in;
833
- strm.total_out = strm.total_in;
834
- message_progress_update();
835
-
836
- strm.avail_in = io_read(pair, &in_buf, IO_BUFFER_SIZE);
837
- if (strm.avail_in == SIZE_MAX)
838
- return false;
839
- }
840
-
841
- return true;
842
- }
843
-
844
-
845
- extern void
846
- coder_run(const char *filename)
847
- {
848
- // Set and possibly print the filename for the progress message.
849
- message_filename(filename);
850
-
851
- // Try to open the input file.
852
- file_pair *pair = io_open_src(filename);
853
- if (pair == NULL)
854
- return;
855
-
856
- // Assume that something goes wrong.
857
- bool success = false;
858
-
859
- if (opt_mode == MODE_COMPRESS) {
860
- strm.next_in = NULL;
861
- strm.avail_in = 0;
862
- } else {
863
- // Read the first chunk of input data. This is needed
864
- // to detect the input file type.
865
- strm.next_in = in_buf.u8;
866
- strm.avail_in = io_read(pair, &in_buf, IO_BUFFER_SIZE);
867
- }
868
-
869
- if (strm.avail_in != SIZE_MAX) {
870
- // Initialize the coder. This will detect the file format
871
- // and, in decompression or testing mode, check the memory
872
- // usage of the first Block too. This way we don't try to
873
- // open the destination file if we see that coding wouldn't
874
- // work at all anyway. This also avoids deleting the old
875
- // "target" file if --force was used.
876
- const enum coder_init_ret init_ret = coder_init(pair);
877
-
878
- if (init_ret != CODER_INIT_ERROR && !user_abort) {
879
- // Don't open the destination file when --test
880
- // is used.
881
- if (opt_mode == MODE_TEST || !io_open_dest(pair)) {
882
- // Remember the current time. It is needed
883
- // for progress indicator and for timed
884
- // flushing.
885
- mytime_set_start_time();
886
-
887
- // Initialize the progress indicator.
888
- const uint64_t in_size
889
- = pair->src_st.st_size <= 0
890
- ? 0 : pair->src_st.st_size;
891
- message_progress_start(&strm, in_size);
892
-
893
- // Do the actual coding or passthru.
894
- if (init_ret == CODER_INIT_NORMAL)
895
- success = coder_normal(pair);
896
- else
897
- success = coder_passthru(pair);
898
-
899
- message_progress_end(success);
900
- }
901
- }
902
- }
903
-
904
- // Close the file pair. It needs to know if coding was successful to
905
- // know if the source or target file should be unlinked.
906
- io_close(pair, success);
907
-
908
- return;
909
- }
910
-
911
-
912
- #ifndef NDEBUG
913
- extern void
914
- coder_free(void)
915
- {
916
- lzma_end(&strm);
917
- return;
918
- }
919
- #endif