react-native-update 10.34.6 → 10.34.8

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 (748) hide show
  1. package/.gitmodules +0 -6
  2. package/harmony/pushy/src/main/cpp/CMakeLists.txt +4 -2
  3. package/package.json +1 -1
  4. package/react-native-update.podspec +2 -3
  5. package/harmony/pushy/src/main/cpp/HDiffPatch/CHANGELOG.md +0 -153
  6. package/harmony/pushy/src/main/cpp/HDiffPatch/LICENSE +0 -48
  7. package/harmony/pushy/src/main/cpp/HDiffPatch/Makefile +0 -157
  8. package/harmony/pushy/src/main/cpp/HDiffPatch/README.md +0 -307
  9. package/harmony/pushy/src/main/cpp/HDiffPatch/_atosize.h +0 -83
  10. package/harmony/pushy/src/main/cpp/HDiffPatch/_clock_for_demo.h +0 -47
  11. package/harmony/pushy/src/main/cpp/HDiffPatch/_dir_ignore.h +0 -191
  12. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +0 -37
  13. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +0 -7
  14. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +0 -1
  15. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +0 -1
  16. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +0 -18
  17. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +0 -20
  18. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +0 -28
  19. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +0 -8
  20. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +0 -8
  21. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/codeblocks/HDiffZ.cbp +0 -219
  22. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/codeblocks/HPatchZ.cbp +0 -156
  23. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/codeblocks/unitTest.cbp +0 -65
  24. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HDiffPatch.sln +0 -105
  25. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HDiffZ.vcxproj +0 -237
  26. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +0 -3
  27. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HPatchZ.vcxproj +0 -318
  28. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +0 -3
  29. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/unitTest.vcxproj +0 -182
  30. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/unitTest.vcxproj.user +0 -3
  31. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +0 -30
  32. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  33. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +0 -408
  34. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +0 -573
  35. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +0 -396
  36. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +0 -268
  37. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +0 -361
  38. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +0 -301
  39. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +0 -411
  40. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +0 -504
  41. package/harmony/pushy/src/main/cpp/HDiffPatch/checksum_plugin_demo.h +0 -344
  42. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_parallel.cpp +0 -166
  43. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_parallel.h +0 -59
  44. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_plugin_demo.h +0 -1152
  45. package/harmony/pushy/src/main/cpp/HDiffPatch/decompress_plugin_demo.h +0 -995
  46. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +0 -797
  47. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +0 -65
  48. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +0 -200
  49. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +0 -178
  50. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +0 -357
  51. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +0 -87
  52. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +0 -151
  53. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +0 -770
  54. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +0 -236
  55. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +0 -47
  56. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +0 -112
  57. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +0 -53
  58. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_types.h +0 -61
  59. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +0 -331
  60. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +0 -144
  61. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +0 -176
  62. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +0 -84
  63. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +0 -146
  64. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +0 -61
  65. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +0 -152
  66. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +0 -76
  67. package/harmony/pushy/src/main/cpp/HDiffPatch/file_for_patch.c +0 -524
  68. package/harmony/pushy/src/main/cpp/HDiffPatch/file_for_patch.h +0 -259
  69. package/harmony/pushy/src/main/cpp/HDiffPatch/hdiffz.cpp +0 -1570
  70. package/harmony/pushy/src/main/cpp/HDiffPatch/hpatch_dir_listener.h +0 -290
  71. package/harmony/pushy/src/main/cpp/HDiffPatch/hpatchz.c +0 -1221
  72. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +0 -1025
  73. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff.h +0 -116
  74. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +0 -72
  75. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +0 -213
  76. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +0 -63
  77. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +0 -170
  78. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +0 -86
  79. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +0 -89
  80. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +0 -13
  81. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +0 -398
  82. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +0 -194
  83. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +0 -13
  84. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +0 -204
  85. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +0 -207
  86. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +0 -815
  87. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +0 -586
  88. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +0 -381
  89. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +0 -352
  90. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +0 -137
  91. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +0 -137
  92. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +0 -70
  93. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +0 -628
  94. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +0 -87
  95. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +0 -363
  96. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +0 -139
  97. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +0 -68
  98. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +0 -115
  99. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +0 -342
  100. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +0 -94
  101. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +0 -52
  102. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch.c +0 -2292
  103. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch.h +0 -215
  104. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch_private.h +0 -165
  105. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch_types.h +0 -251
  106. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_channel.cpp +0 -174
  107. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_channel.h +0 -73
  108. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import.cpp +0 -367
  109. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import.h +0 -92
  110. package/harmony/pushy/src/main/cpp/HDiffPatch/test/_private_searchBestParams.cpp +0 -301
  111. package/harmony/pushy/src/main/cpp/HDiffPatch/test/hpatchz_test.cpp +0 -292
  112. package/harmony/pushy/src/main/cpp/HDiffPatch/test/testHashClash.cpp +0 -436
  113. package/harmony/pushy/src/main/cpp/HDiffPatch/test/unit_test.cpp +0 -417
  114. package/harmony/pushy/src/main/cpp/lzma/Asm/arm/7zCrcOpt.asm +0 -100
  115. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/7zAsm.asm +0 -147
  116. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/7zCrcOpt.asm +0 -147
  117. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/AesOpt.asm +0 -237
  118. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/LzmaDecOpt.asm +0 -1258
  119. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/XzCrc64Opt.asm +0 -205
  120. package/harmony/pushy/src/main/cpp/lzma/C/7z.h +0 -202
  121. package/harmony/pushy/src/main/cpp/lzma/C/7zAlloc.c +0 -80
  122. package/harmony/pushy/src/main/cpp/lzma/C/7zAlloc.h +0 -19
  123. package/harmony/pushy/src/main/cpp/lzma/C/7zArcIn.c +0 -1771
  124. package/harmony/pushy/src/main/cpp/lzma/C/7zBuf.c +0 -36
  125. package/harmony/pushy/src/main/cpp/lzma/C/7zBuf.h +0 -35
  126. package/harmony/pushy/src/main/cpp/lzma/C/7zBuf2.c +0 -52
  127. package/harmony/pushy/src/main/cpp/lzma/C/7zCrc.c +0 -128
  128. package/harmony/pushy/src/main/cpp/lzma/C/7zCrc.h +0 -25
  129. package/harmony/pushy/src/main/cpp/lzma/C/7zCrcOpt.c +0 -115
  130. package/harmony/pushy/src/main/cpp/lzma/C/7zDec.c +0 -591
  131. package/harmony/pushy/src/main/cpp/lzma/C/7zFile.c +0 -286
  132. package/harmony/pushy/src/main/cpp/lzma/C/7zFile.h +0 -83
  133. package/harmony/pushy/src/main/cpp/lzma/C/7zStream.c +0 -176
  134. package/harmony/pushy/src/main/cpp/lzma/C/7zTypes.h +0 -375
  135. package/harmony/pushy/src/main/cpp/lzma/C/7zVersion.h +0 -27
  136. package/harmony/pushy/src/main/cpp/lzma/C/7zVersion.rc +0 -55
  137. package/harmony/pushy/src/main/cpp/lzma/C/Aes.c +0 -306
  138. package/harmony/pushy/src/main/cpp/lzma/C/Aes.h +0 -38
  139. package/harmony/pushy/src/main/cpp/lzma/C/AesOpt.c +0 -184
  140. package/harmony/pushy/src/main/cpp/lzma/C/Alloc.c +0 -455
  141. package/harmony/pushy/src/main/cpp/lzma/C/Alloc.h +0 -51
  142. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2.c +0 -257
  143. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2.h +0 -146
  144. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2Enc.c +0 -311
  145. package/harmony/pushy/src/main/cpp/lzma/C/Bra.c +0 -230
  146. package/harmony/pushy/src/main/cpp/lzma/C/Bra.h +0 -64
  147. package/harmony/pushy/src/main/cpp/lzma/C/Bra86.c +0 -82
  148. package/harmony/pushy/src/main/cpp/lzma/C/BraIA64.c +0 -53
  149. package/harmony/pushy/src/main/cpp/lzma/C/Compiler.h +0 -33
  150. package/harmony/pushy/src/main/cpp/lzma/C/CpuArch.c +0 -218
  151. package/harmony/pushy/src/main/cpp/lzma/C/CpuArch.h +0 -336
  152. package/harmony/pushy/src/main/cpp/lzma/C/Delta.c +0 -64
  153. package/harmony/pushy/src/main/cpp/lzma/C/Delta.h +0 -19
  154. package/harmony/pushy/src/main/cpp/lzma/C/DllSecur.c +0 -108
  155. package/harmony/pushy/src/main/cpp/lzma/C/DllSecur.h +0 -20
  156. package/harmony/pushy/src/main/cpp/lzma/C/LzFind.c +0 -1127
  157. package/harmony/pushy/src/main/cpp/lzma/C/LzFind.h +0 -121
  158. package/harmony/pushy/src/main/cpp/lzma/C/LzFindMt.c +0 -853
  159. package/harmony/pushy/src/main/cpp/lzma/C/LzFindMt.h +0 -101
  160. package/harmony/pushy/src/main/cpp/lzma/C/LzHash.h +0 -57
  161. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Dec.c +0 -488
  162. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Dec.h +0 -120
  163. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2DecMt.c +0 -1082
  164. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2DecMt.h +0 -79
  165. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Enc.c +0 -803
  166. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Enc.h +0 -55
  167. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86.h +0 -111
  168. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86Dec.c +0 -54
  169. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86Enc.c +0 -106
  170. package/harmony/pushy/src/main/cpp/lzma/C/LzmaDec.c +0 -1185
  171. package/harmony/pushy/src/main/cpp/lzma/C/LzmaDec.h +0 -234
  172. package/harmony/pushy/src/main/cpp/lzma/C/LzmaEnc.c +0 -2976
  173. package/harmony/pushy/src/main/cpp/lzma/C/LzmaEnc.h +0 -76
  174. package/harmony/pushy/src/main/cpp/lzma/C/LzmaLib.c +0 -40
  175. package/harmony/pushy/src/main/cpp/lzma/C/LzmaLib.h +0 -131
  176. package/harmony/pushy/src/main/cpp/lzma/C/MtCoder.c +0 -601
  177. package/harmony/pushy/src/main/cpp/lzma/C/MtCoder.h +0 -141
  178. package/harmony/pushy/src/main/cpp/lzma/C/MtDec.c +0 -1138
  179. package/harmony/pushy/src/main/cpp/lzma/C/MtDec.h +0 -201
  180. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd.h +0 -85
  181. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7.c +0 -712
  182. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7.h +0 -142
  183. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7Dec.c +0 -191
  184. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7Enc.c +0 -187
  185. package/harmony/pushy/src/main/cpp/lzma/C/Precomp.h +0 -10
  186. package/harmony/pushy/src/main/cpp/lzma/C/RotateDefs.h +0 -30
  187. package/harmony/pushy/src/main/cpp/lzma/C/Sha256.c +0 -248
  188. package/harmony/pushy/src/main/cpp/lzma/C/Sha256.h +0 -26
  189. package/harmony/pushy/src/main/cpp/lzma/C/Sort.c +0 -141
  190. package/harmony/pushy/src/main/cpp/lzma/C/Sort.h +0 -18
  191. package/harmony/pushy/src/main/cpp/lzma/C/Threads.c +0 -95
  192. package/harmony/pushy/src/main/cpp/lzma/C/Threads.h +0 -70
  193. package/harmony/pushy/src/main/cpp/lzma/C/ThreadsP.c +0 -396
  194. package/harmony/pushy/src/main/cpp/lzma/C/ThreadsP.h +0 -31
  195. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/7z.dsp +0 -241
  196. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/7z.dsw +0 -29
  197. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/7zMain.c +0 -686
  198. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/Precomp.c +0 -4
  199. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/Precomp.h +0 -10
  200. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/makefile +0 -40
  201. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/makefile.gcc +0 -75
  202. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.c +0 -258
  203. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.dsp +0 -168
  204. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.dsw +0 -29
  205. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/makefile +0 -28
  206. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/makefile.gcc +0 -44
  207. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.def +0 -4
  208. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.dsp +0 -178
  209. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.dsw +0 -29
  210. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLibExports.c +0 -14
  211. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/makefile +0 -34
  212. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/resource.rc +0 -3
  213. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/Precomp.c +0 -4
  214. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/Precomp.h +0 -10
  215. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.c +0 -640
  216. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.dsp +0 -231
  217. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.dsw +0 -29
  218. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/makefile +0 -37
  219. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/makefile_con +0 -38
  220. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/resource.rc +0 -5
  221. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/setup.ico +0 -0
  222. package/harmony/pushy/src/main/cpp/lzma/C/Xz.c +0 -90
  223. package/harmony/pushy/src/main/cpp/lzma/C/Xz.h +0 -460
  224. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64.c +0 -86
  225. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64.h +0 -26
  226. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64Opt.c +0 -69
  227. package/harmony/pushy/src/main/cpp/lzma/C/XzDec.c +0 -2766
  228. package/harmony/pushy/src/main/cpp/lzma/C/XzEnc.c +0 -1329
  229. package/harmony/pushy/src/main/cpp/lzma/C/XzEnc.h +0 -60
  230. package/harmony/pushy/src/main/cpp/lzma/C/XzIn.c +0 -319
  231. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/7zip.mak +0 -240
  232. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Aes.mak +0 -7
  233. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +0 -3
  234. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +0 -76
  235. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +0 -569
  236. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zDecode.h +0 -70
  237. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +0 -678
  238. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zEncode.h +0 -92
  239. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +0 -423
  240. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +0 -139
  241. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +0 -61
  242. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +0 -763
  243. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandler.h +0 -181
  244. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +0 -942
  245. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +0 -19
  246. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHeader.h +0 -148
  247. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zIn.cpp +0 -1666
  248. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zIn.h +0 -445
  249. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zItem.h +0 -202
  250. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zOut.cpp +0 -901
  251. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zOut.h +0 -335
  252. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +0 -174
  253. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zProperties.h +0 -22
  254. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +0 -21
  255. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +0 -22
  256. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +0 -35
  257. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +0 -2500
  258. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zUpdate.h +0 -139
  259. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +0 -3
  260. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/StdAfx.h +0 -8
  261. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Archive.def +0 -12
  262. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Archive2.def +0 -19
  263. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/ArchiveExports.cpp +0 -151
  264. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +0 -1125
  265. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +0 -447
  266. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +0 -17
  267. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +0 -25
  268. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +0 -232
  269. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/HandlerOut.h +0 -110
  270. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +0 -46
  271. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +0 -67
  272. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +0 -88
  273. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +0 -28
  274. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +0 -191
  275. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/MultiStream.h +0 -89
  276. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +0 -18
  277. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +0 -37
  278. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +0 -3
  279. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ParseProperties.h +0 -6
  280. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/StdAfx.h +0 -8
  281. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/DllExports2.cpp +0 -122
  282. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/IArchive.h +0 -608
  283. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  284. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/LzmaHandler.cpp +0 -629
  285. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/SplitHandler.cpp +0 -359
  286. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/StdAfx.h +0 -8
  287. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/XzHandler.cpp +0 -1308
  288. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/XzHandler.h +0 -11
  289. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Asm.mak +0 -9
  290. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +0 -1910
  291. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +0 -29
  292. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +0 -3
  293. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +0 -8
  294. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/makefile +0 -154
  295. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +0 -7
  296. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +0 -3
  297. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +0 -8
  298. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +0 -96
  299. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +0 -5
  300. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +0 -3
  301. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +0 -8
  302. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/makefile +0 -116
  303. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +0 -5
  304. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +0 -799
  305. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +0 -477
  306. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +0 -29
  307. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +0 -3
  308. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +0 -8
  309. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/makefile +0 -59
  310. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +0 -195
  311. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +0 -3
  312. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +0 -715
  313. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  314. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +0 -912
  315. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +0 -29
  316. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +0 -482
  317. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +0 -3
  318. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +0 -8
  319. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/makefile +0 -134
  320. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +0 -5
  321. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +0 -246
  322. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +0 -86
  323. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +0 -137
  324. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +0 -11
  325. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +0 -803
  326. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +0 -29
  327. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +0 -364
  328. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +0 -3
  329. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +0 -13
  330. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/makefile +0 -117
  331. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +0 -6
  332. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +0 -16
  333. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  334. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  335. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +0 -988
  336. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +0 -29
  337. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +0 -241
  338. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +0 -3
  339. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +0 -14
  340. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/makefile +0 -153
  341. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/resource.h +0 -1
  342. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +0 -50
  343. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CWrappers.cpp +0 -250
  344. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CWrappers.h +0 -120
  345. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CreateCoder.cpp +0 -536
  346. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CreateCoder.h +0 -192
  347. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +0 -46
  348. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilePathAutoRename.h +0 -10
  349. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FileStreams.cpp +0 -475
  350. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FileStreams.h +0 -166
  351. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilterCoder.cpp +0 -435
  352. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilterCoder.h +0 -205
  353. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InBuffer.cpp +0 -163
  354. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InBuffer.h +0 -92
  355. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +0 -127
  356. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InOutTempBuffer.h +0 -48
  357. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LimitedStreams.cpp +0 -367
  358. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LimitedStreams.h +0 -252
  359. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LockedStream.cpp +0 -3
  360. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LockedStream.h +0 -6
  361. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodId.cpp +0 -3
  362. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodId.h +0 -10
  363. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodProps.cpp +0 -509
  364. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodProps.h +0 -264
  365. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OffsetStream.cpp +0 -39
  366. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OffsetStream.h +0 -26
  367. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OutBuffer.cpp +0 -111
  368. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OutBuffer.h +0 -66
  369. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/ProgressUtils.cpp +0 -51
  370. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/ProgressUtils.h +0 -35
  371. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/PropId.cpp +0 -108
  372. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/RegisterArc.h +0 -78
  373. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/RegisterCodec.h +0 -106
  374. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StdAfx.h +0 -8
  375. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamBinder.cpp +0 -156
  376. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamBinder.h +0 -60
  377. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamObjects.cpp +0 -285
  378. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamObjects.h +0 -157
  379. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamUtils.cpp +0 -56
  380. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamUtils.h +0 -13
  381. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/UniqBlocks.cpp +0 -57
  382. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/UniqBlocks.h +0 -26
  383. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/VirtThread.cpp +0 -48
  384. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/VirtThread.h +0 -24
  385. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +0 -666
  386. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Coder.h +0 -120
  387. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Register.cpp +0 -24
  388. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjCoder.cpp +0 -24
  389. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjCoder.h +0 -31
  390. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjRegister.cpp +0 -17
  391. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchMisc.cpp +0 -23
  392. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchMisc.h +0 -35
  393. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchRegister.cpp +0 -41
  394. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/ByteSwap.cpp +0 -92
  395. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CodecExports.cpp +0 -344
  396. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CopyCoder.cpp +0 -120
  397. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CopyCoder.h +0 -49
  398. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CopyRegister.cpp +0 -15
  399. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/DeltaFilter.cpp +0 -128
  400. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +0 -265
  401. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Decoder.h +0 -96
  402. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +0 -122
  403. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Encoder.h +0 -42
  404. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Register.cpp +0 -22
  405. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +0 -343
  406. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaDecoder.h +0 -113
  407. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +0 -182
  408. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaEncoder.h +0 -46
  409. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaRegister.cpp +0 -22
  410. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +0 -170
  411. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdDecoder.h +0 -86
  412. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +0 -152
  413. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdEncoder.h +0 -58
  414. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdRegister.cpp +0 -22
  415. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/StdAfx.h +0 -8
  416. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzDecoder.cpp +0 -150
  417. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzDecoder.h +0 -92
  418. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzEncoder.cpp +0 -245
  419. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzEncoder.h +0 -46
  420. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crc.mak +0 -8
  421. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crc64.mak +0 -8
  422. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAes.cpp +0 -280
  423. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAes.h +0 -118
  424. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +0 -17
  425. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAes.cpp +0 -112
  426. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAes.h +0 -57
  427. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAesReg.cpp +0 -16
  428. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/RandGen.cpp +0 -233
  429. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/RandGen.h +0 -40
  430. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/StdAfx.h +0 -8
  431. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/GuiCommon.rc +0 -84
  432. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Guid.txt +0 -220
  433. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/ICoder.h +0 -399
  434. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IDecl.h +0 -28
  435. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IPassword.h +0 -23
  436. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IProgress.h +0 -19
  437. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IStream.h +0 -127
  438. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/LzmaDec.mak +0 -5
  439. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/MyVersion.h +0 -2
  440. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/MyVersionInfo.rc +0 -2
  441. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/PropID.h +0 -127
  442. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/SubBuild.mak +0 -3
  443. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +0 -993
  444. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +0 -235
  445. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +0 -29
  446. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +0 -3
  447. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/StdAfx.h +0 -8
  448. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/makefile +0 -28
  449. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/resource.rc +0 -3
  450. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +0 -1295
  451. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +0 -136
  452. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +0 -1715
  453. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +0 -403
  454. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +0 -155
  455. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveName.h +0 -10
  456. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +0 -161
  457. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +0 -112
  458. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Bench.cpp +0 -3618
  459. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Bench.h +0 -77
  460. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DefaultName.cpp +0 -37
  461. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DefaultName.h +0 -11
  462. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DirItem.h +0 -190
  463. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +0 -1096
  464. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/EnumDirItems.h +0 -42
  465. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExitCode.h +0 -27
  466. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Extract.cpp +0 -482
  467. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Extract.h +0 -94
  468. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractMode.h +0 -34
  469. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +0 -280
  470. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +0 -31
  471. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/HashCalc.cpp +0 -347
  472. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/HashCalc.h +0 -110
  473. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +0 -114
  474. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +0 -1074
  475. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/LoadCodecs.h +0 -424
  476. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +0 -3553
  477. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/OpenArchive.h +0 -436
  478. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +0 -668
  479. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/PropIDUtils.h +0 -18
  480. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Property.h +0 -14
  481. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SetProperties.cpp +0 -80
  482. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SetProperties.h +0 -10
  483. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SortUtils.cpp +0 -25
  484. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SortUtils.h +0 -10
  485. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/StdAfx.h +0 -8
  486. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/TempFiles.cpp +0 -19
  487. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/TempFiles.h +0 -16
  488. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Update.cpp +0 -1704
  489. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Update.h +0 -200
  490. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +0 -64
  491. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateAction.h +0 -66
  492. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +0 -771
  493. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateCallback.h +0 -162
  494. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +0 -233
  495. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdatePair.h +0 -27
  496. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +0 -70
  497. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateProduce.h +0 -55
  498. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/WorkDir.cpp +0 -94
  499. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/WorkDir.h +0 -26
  500. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ZipRegistry.h +0 -130
  501. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/BenchCon.cpp +0 -41
  502. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/BenchCon.h +0 -14
  503. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Console.mak +0 -43
  504. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Console.manifest +0 -13
  505. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +0 -69
  506. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ConsoleClose.h +0 -33
  507. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +0 -825
  508. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +0 -164
  509. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/HashCon.cpp +0 -367
  510. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/HashCon.h +0 -48
  511. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/List.cpp +0 -1359
  512. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/List.h +0 -27
  513. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Main.cpp +0 -1154
  514. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/MainAr.cpp +0 -175
  515. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +0 -115
  516. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +0 -66
  517. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +0 -183
  518. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/PercentPrinter.h +0 -62
  519. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/StdAfx.cpp +0 -3
  520. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/StdAfx.h +0 -8
  521. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +0 -702
  522. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +0 -124
  523. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +0 -110
  524. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UserInputUtils.h +0 -27
  525. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/makefile +0 -64
  526. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/resource.rc +0 -7
  527. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +0 -37
  528. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Explorer/MyMessages.h +0 -16
  529. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +0 -1025
  530. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +0 -21
  531. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +0 -9
  532. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +0 -64
  533. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +0 -28
  534. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +0 -4
  535. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/DialogSize.h +0 -16
  536. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +0 -1037
  537. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +0 -328
  538. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +0 -28
  539. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +0 -14
  540. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/LangUtils.h +0 -40
  541. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +0 -76
  542. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +0 -122
  543. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +0 -69
  544. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +0 -91
  545. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +0 -17
  546. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +0 -58
  547. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +0 -28
  548. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +0 -14
  549. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +0 -5
  550. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +0 -196
  551. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +0 -170
  552. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +0 -12
  553. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +0 -1337
  554. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +0 -351
  555. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +0 -40
  556. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +0 -48
  557. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +0 -80
  558. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +0 -3
  559. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +0 -23
  560. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyName.h +0 -10
  561. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +0 -95
  562. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +0 -255
  563. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +0 -62
  564. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/resource.h +0 -177
  565. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/resourceGui.h +0 -15
  566. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/Extract.rc +0 -59
  567. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +0 -418
  568. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +0 -113
  569. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +0 -98
  570. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +0 -24
  571. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +0 -280
  572. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +0 -38
  573. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractRes.h +0 -51
  574. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/HashGUI.h +0 -27
  575. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/resource2.h +0 -2
  576. package/harmony/pushy/src/main/cpp/lzma/CPP/Build.mak +0 -156
  577. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/AutoPtr.h +0 -35
  578. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CRC.cpp +0 -7
  579. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/C_FileIO.cpp +0 -92
  580. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/C_FileIO.h +0 -53
  581. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ComTry.h +0 -21
  582. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CommandLineParser.cpp +0 -197
  583. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CommandLineParser.h +0 -63
  584. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Common.h +0 -43
  585. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CrcReg.cpp +0 -98
  586. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Defs.h +0 -15
  587. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/DynamicBuffer.h +0 -64
  588. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/IntToString.cpp +0 -193
  589. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/IntToString.h +0 -28
  590. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Lang.h +0 -23
  591. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ListFileUtils.cpp +0 -132
  592. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ListFileUtils.h +0 -18
  593. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyBuffer.h +0 -259
  594. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyBuffer2.h +0 -100
  595. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyCom.h +0 -277
  596. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyException.h +0 -14
  597. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyGuidDef.h +0 -54
  598. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyInitGuid.h +0 -45
  599. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyLinux.h +0 -42
  600. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyString.cpp +0 -1659
  601. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyString.h +0 -868
  602. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyTypes.h +0 -35
  603. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyUnknown.h +0 -17
  604. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyVector.cpp +0 -3
  605. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyVector.h +0 -634
  606. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyWindows.cpp +0 -145
  607. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyWindows.h +0 -231
  608. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/NewHandler.cpp +0 -163
  609. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/NewHandler.h +0 -88
  610. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Sha256Reg.cpp +0 -40
  611. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdAfx.h +0 -8
  612. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdInStream.cpp +0 -89
  613. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdInStream.h +0 -38
  614. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdOutStream.cpp +0 -163
  615. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdOutStream.h +0 -71
  616. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringConvert.cpp +0 -319
  617. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringConvert.h +0 -88
  618. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringToInt.cpp +0 -144
  619. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringToInt.h +0 -21
  620. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/TextConfig.cpp +0 -124
  621. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/TextConfig.h +0 -19
  622. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/UTFConvert.cpp +0 -288
  623. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/UTFConvert.h +0 -12
  624. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Wildcard.cpp +0 -676
  625. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Wildcard.h +0 -149
  626. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/XzCrc64Init.cpp +0 -7
  627. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/XzCrc64Reg.cpp +0 -42
  628. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/COM.h +0 -70
  629. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/CommonDialog.cpp +0 -185
  630. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/CommonDialog.h +0 -23
  631. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ComboBox.cpp +0 -66
  632. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ComboBox.h +0 -65
  633. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/CommandBar.h +0 -52
  634. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Dialog.cpp +0 -251
  635. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Dialog.h +0 -170
  636. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Edit.h +0 -19
  637. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ImageList.cpp +0 -10
  638. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ImageList.h +0 -87
  639. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ListView.cpp +0 -155
  640. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ListView.h +0 -146
  641. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ProgressBar.h +0 -35
  642. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/PropertyPage.cpp +0 -143
  643. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/PropertyPage.h +0 -50
  644. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ReBar.h +0 -34
  645. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Static.h +0 -28
  646. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/StatusBar.h +0 -42
  647. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/StdAfx.h +0 -8
  648. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ToolBar.h +0 -43
  649. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Trackbar.h +0 -27
  650. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Window2.cpp +0 -200
  651. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Window2.h +0 -51
  652. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/DLL.cpp +0 -109
  653. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/DLL.h +0 -58
  654. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Defs.h +0 -17
  655. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ErrorMsg.cpp +0 -66
  656. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ErrorMsg.h +0 -15
  657. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileDir.cpp +0 -714
  658. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileDir.h +0 -117
  659. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileFind.cpp +0 -749
  660. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileFind.h +0 -161
  661. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileIO.cpp +0 -432
  662. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileIO.h +0 -212
  663. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileLink.cpp +0 -440
  664. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileMapping.cpp +0 -12
  665. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileMapping.h +0 -66
  666. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileName.cpp +0 -839
  667. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileName.h +0 -115
  668. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileSystem.cpp +0 -131
  669. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileSystem.h +0 -27
  670. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Handle.h +0 -37
  671. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryLock.cpp +0 -112
  672. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryLock.h +0 -40
  673. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/NtCheck.h +0 -46
  674. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariant.cpp +0 -347
  675. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariant.h +0 -114
  676. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariantConv.cpp +0 -138
  677. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariantConv.h +0 -37
  678. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Registry.cpp +0 -390
  679. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Registry.h +0 -84
  680. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ResourceString.cpp +0 -103
  681. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ResourceString.h +0 -16
  682. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SecurityUtils.cpp +0 -181
  683. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SecurityUtils.h +0 -167
  684. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Shell.cpp +0 -358
  685. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Shell.h +0 -94
  686. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/StdAfx.h +0 -8
  687. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Synchronization.cpp +0 -10
  688. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Synchronization.h +0 -164
  689. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/System.cpp +0 -142
  690. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/System.h +0 -40
  691. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Thread.h +0 -38
  692. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/TimeUtils.cpp +0 -213
  693. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/TimeUtils.h +0 -32
  694. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Window.cpp +0 -179
  695. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Window.h +0 -284
  696. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/CRC.cs +0 -55
  697. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/CommandLineParser.cs +0 -274
  698. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/InBuffer.cs +0 -72
  699. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/OutBuffer.cs +0 -47
  700. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +0 -24
  701. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +0 -367
  702. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +0 -132
  703. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +0 -110
  704. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +0 -76
  705. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +0 -398
  706. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +0 -1480
  707. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +0 -364
  708. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +0 -90
  709. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +0 -20
  710. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +0 -340
  711. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +0 -29
  712. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +0 -70
  713. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +0 -42
  714. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +0 -234
  715. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +0 -117
  716. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +0 -157
  717. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/ICoder.cs +0 -157
  718. package/harmony/pushy/src/main/cpp/lzma/DOC/7zC.txt +0 -187
  719. package/harmony/pushy/src/main/cpp/lzma/DOC/7zFormat.txt +0 -469
  720. package/harmony/pushy/src/main/cpp/lzma/DOC/Methods.txt +0 -173
  721. package/harmony/pushy/src/main/cpp/lzma/DOC/installer.txt +0 -166
  722. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma-history.txt +0 -446
  723. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma-sdk.txt +0 -357
  724. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma-specification.txt +0 -1176
  725. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma.txt +0 -328
  726. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/CRC.java +0 -52
  727. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/BinTree.java +0 -382
  728. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/InWindow.java +0 -131
  729. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +0 -85
  730. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Base.java +0 -88
  731. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +0 -329
  732. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +0 -1416
  733. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +0 -55
  734. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +0 -99
  735. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +0 -88
  736. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +0 -151
  737. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/ICodeProgress.java +0 -6
  738. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/LzmaAlone.java +0 -253
  739. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/LzmaBench.java +0 -392
  740. package/harmony/pushy/src/main/cpp/lzma/bin/7zS2.sfx +0 -0
  741. package/harmony/pushy/src/main/cpp/lzma/bin/7zS2con.sfx +0 -0
  742. package/harmony/pushy/src/main/cpp/lzma/bin/7zSD.sfx +0 -0
  743. package/harmony/pushy/src/main/cpp/lzma/bin/7zdec.exe +0 -0
  744. package/harmony/pushy/src/main/cpp/lzma/bin/7zr.exe +0 -0
  745. package/harmony/pushy/src/main/cpp/lzma/bin/installer/config.txt +0 -5
  746. package/harmony/pushy/src/main/cpp/lzma/bin/installer/cr.bat +0 -5
  747. package/harmony/pushy/src/main/cpp/lzma/bin/lzma.exe +0 -0
  748. package/harmony/pushy/src/main/cpp/lzma/bin/x64/7zr.exe +0 -0
@@ -1,2766 +0,0 @@
1
- /* XzDec.c -- Xz Decode
2
- 2019-02-02 : Igor Pavlov : Public domain */
3
-
4
- #include "Precomp.h"
5
-
6
- // #include <stdio.h>
7
-
8
- // #define XZ_DUMP
9
-
10
- /* #define XZ_DUMP */
11
-
12
- #ifdef XZ_DUMP
13
- #include <stdio.h>
14
- #endif
15
-
16
- // #define SHOW_DEBUG_INFO
17
-
18
- #ifdef SHOW_DEBUG_INFO
19
- #include <stdio.h>
20
- #endif
21
-
22
- #ifdef SHOW_DEBUG_INFO
23
- #define PRF(x) x
24
- #else
25
- #define PRF(x)
26
- #endif
27
-
28
- #define PRF_STR(s) PRF(printf("\n" s "\n"))
29
- #define PRF_STR_INT(s, d) PRF(printf("\n" s " %d\n", (unsigned)d))
30
-
31
- #include <stdlib.h>
32
- #include <string.h>
33
-
34
- #include "7zCrc.h"
35
- #include "Alloc.h"
36
- #include "Bra.h"
37
- #include "CpuArch.h"
38
- #include "Delta.h"
39
- #include "Lzma2Dec.h"
40
-
41
- // #define USE_SUBBLOCK
42
-
43
- #ifdef USE_SUBBLOCK
44
- #include "Bcj3Dec.c"
45
- #include "SbDec.h"
46
- #endif
47
-
48
- #include "Xz.h"
49
-
50
- #define XZ_CHECK_SIZE_MAX 64
51
-
52
- #define CODER_BUF_SIZE ((size_t)1 << 17)
53
-
54
- unsigned Xz_ReadVarInt(const Byte *p, size_t maxSize, UInt64 *value)
55
- {
56
- unsigned i, limit;
57
- *value = 0;
58
- limit = (maxSize > 9) ? 9 : (unsigned)maxSize;
59
-
60
- for (i = 0; i < limit;)
61
- {
62
- Byte b = p[i];
63
- *value |= (UInt64)(b & 0x7F) << (7 * i++);
64
- if ((b & 0x80) == 0)
65
- return (b == 0 && i != 1) ? 0 : i;
66
- }
67
- return 0;
68
- }
69
-
70
- /* ---------- BraState ---------- */
71
-
72
- #define BRA_BUF_SIZE (1 << 14)
73
-
74
- typedef struct
75
- {
76
- size_t bufPos;
77
- size_t bufConv;
78
- size_t bufTotal;
79
-
80
- int encodeMode;
81
-
82
- UInt32 methodId;
83
- UInt32 delta;
84
- UInt32 ip;
85
- UInt32 x86State;
86
- Byte deltaState[DELTA_STATE_SIZE];
87
-
88
- Byte buf[BRA_BUF_SIZE];
89
- } CBraState;
90
-
91
- static void BraState_Free(void *pp, ISzAllocPtr alloc)
92
- {
93
- ISzAlloc_Free(alloc, pp);
94
- }
95
-
96
- static SRes BraState_SetProps(void *pp, const Byte *props, size_t propSize, ISzAllocPtr alloc)
97
- {
98
- CBraState *p = ((CBraState *)pp);
99
- UNUSED_VAR(alloc);
100
- p->ip = 0;
101
- if (p->methodId == XZ_ID_Delta)
102
- {
103
- if (propSize != 1)
104
- return SZ_ERROR_UNSUPPORTED;
105
- p->delta = (unsigned)props[0] + 1;
106
- }
107
- else
108
- {
109
- if (propSize == 4)
110
- {
111
- UInt32 v = GetUi32(props);
112
- switch (p->methodId)
113
- {
114
- case XZ_ID_PPC:
115
- case XZ_ID_ARM:
116
- case XZ_ID_SPARC:
117
- if ((v & 3) != 0)
118
- return SZ_ERROR_UNSUPPORTED;
119
- break;
120
- case XZ_ID_ARMT:
121
- if ((v & 1) != 0)
122
- return SZ_ERROR_UNSUPPORTED;
123
- break;
124
- case XZ_ID_IA64:
125
- if ((v & 0xF) != 0)
126
- return SZ_ERROR_UNSUPPORTED;
127
- break;
128
- }
129
- p->ip = v;
130
- }
131
- else if (propSize != 0)
132
- return SZ_ERROR_UNSUPPORTED;
133
- }
134
- return SZ_OK;
135
- }
136
-
137
- static void BraState_Init(void *pp)
138
- {
139
- CBraState *p = ((CBraState *)pp);
140
- p->bufPos = p->bufConv = p->bufTotal = 0;
141
- x86_Convert_Init(p->x86State);
142
- if (p->methodId == XZ_ID_Delta)
143
- Delta_Init(p->deltaState);
144
- }
145
-
146
-
147
- #define CASE_BRA_CONV(isa) case XZ_ID_ ## isa: size = isa ## _Convert(data, size, p->ip, p->encodeMode); break;
148
-
149
- static SizeT BraState_Filter(void *pp, Byte *data, SizeT size)
150
- {
151
- CBraState *p = ((CBraState *)pp);
152
- switch (p->methodId)
153
- {
154
- case XZ_ID_Delta:
155
- if (p->encodeMode)
156
- Delta_Encode(p->deltaState, p->delta, data, size);
157
- else
158
- Delta_Decode(p->deltaState, p->delta, data, size);
159
- break;
160
- case XZ_ID_X86:
161
- size = x86_Convert(data, size, p->ip, &p->x86State, p->encodeMode);
162
- break;
163
- CASE_BRA_CONV(PPC)
164
- CASE_BRA_CONV(IA64)
165
- CASE_BRA_CONV(ARM)
166
- CASE_BRA_CONV(ARMT)
167
- CASE_BRA_CONV(SPARC)
168
- }
169
- p->ip += (UInt32)size;
170
- return size;
171
- }
172
-
173
-
174
- static SRes BraState_Code2(void *pp,
175
- Byte *dest, SizeT *destLen,
176
- const Byte *src, SizeT *srcLen, int srcWasFinished,
177
- ECoderFinishMode finishMode,
178
- // int *wasFinished
179
- ECoderStatus *status)
180
- {
181
- CBraState *p = ((CBraState *)pp);
182
- SizeT destRem = *destLen;
183
- SizeT srcRem = *srcLen;
184
- UNUSED_VAR(finishMode);
185
-
186
- *destLen = 0;
187
- *srcLen = 0;
188
- // *wasFinished = False;
189
- *status = CODER_STATUS_NOT_FINISHED;
190
-
191
- while (destRem > 0)
192
- {
193
- if (p->bufPos != p->bufConv)
194
- {
195
- size_t size = p->bufConv - p->bufPos;
196
- if (size > destRem)
197
- size = destRem;
198
- memcpy(dest, p->buf + p->bufPos, size);
199
- p->bufPos += size;
200
- *destLen += size;
201
- dest += size;
202
- destRem -= size;
203
- continue;
204
- }
205
-
206
- p->bufTotal -= p->bufPos;
207
- memmove(p->buf, p->buf + p->bufPos, p->bufTotal);
208
- p->bufPos = 0;
209
- p->bufConv = 0;
210
- {
211
- size_t size = BRA_BUF_SIZE - p->bufTotal;
212
- if (size > srcRem)
213
- size = srcRem;
214
- memcpy(p->buf + p->bufTotal, src, size);
215
- *srcLen += size;
216
- src += size;
217
- srcRem -= size;
218
- p->bufTotal += size;
219
- }
220
- if (p->bufTotal == 0)
221
- break;
222
-
223
- p->bufConv = BraState_Filter(pp, p->buf, p->bufTotal);
224
-
225
- if (p->bufConv == 0)
226
- {
227
- if (!srcWasFinished)
228
- break;
229
- p->bufConv = p->bufTotal;
230
- }
231
- }
232
-
233
- if (p->bufTotal == p->bufPos && srcRem == 0 && srcWasFinished)
234
- {
235
- *status = CODER_STATUS_FINISHED_WITH_MARK;
236
- // *wasFinished = 1;
237
- }
238
-
239
- return SZ_OK;
240
- }
241
-
242
-
243
- SRes BraState_SetFromMethod(IStateCoder *p, UInt64 id, int encodeMode, ISzAllocPtr alloc)
244
- {
245
- CBraState *decoder;
246
- if (id < XZ_ID_Delta || id > XZ_ID_SPARC)
247
- return SZ_ERROR_UNSUPPORTED;
248
- decoder = (CBraState *)p->p;
249
- if (!decoder)
250
- {
251
- decoder = (CBraState *)ISzAlloc_Alloc(alloc, sizeof(CBraState));
252
- if (!decoder)
253
- return SZ_ERROR_MEM;
254
- p->p = decoder;
255
- p->Free = BraState_Free;
256
- p->SetProps = BraState_SetProps;
257
- p->Init = BraState_Init;
258
- p->Code2 = BraState_Code2;
259
- p->Filter = BraState_Filter;
260
- }
261
- decoder->methodId = (UInt32)id;
262
- decoder->encodeMode = encodeMode;
263
- return SZ_OK;
264
- }
265
-
266
-
267
-
268
- /* ---------- SbState ---------- */
269
-
270
- #ifdef USE_SUBBLOCK
271
-
272
- static void SbState_Free(void *pp, ISzAllocPtr alloc)
273
- {
274
- CSbDec *p = (CSbDec *)pp;
275
- SbDec_Free(p);
276
- ISzAlloc_Free(alloc, pp);
277
- }
278
-
279
- static SRes SbState_SetProps(void *pp, const Byte *props, size_t propSize, ISzAllocPtr alloc)
280
- {
281
- UNUSED_VAR(pp);
282
- UNUSED_VAR(props);
283
- UNUSED_VAR(alloc);
284
- return (propSize == 0) ? SZ_OK : SZ_ERROR_UNSUPPORTED;
285
- }
286
-
287
- static void SbState_Init(void *pp)
288
- {
289
- SbDec_Init((CSbDec *)pp);
290
- }
291
-
292
- static SRes SbState_Code2(void *pp, Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
293
- int srcWasFinished, ECoderFinishMode finishMode,
294
- // int *wasFinished
295
- ECoderStatus *status)
296
- {
297
- CSbDec *p = (CSbDec *)pp;
298
- SRes res;
299
- UNUSED_VAR(srcWasFinished);
300
- p->dest = dest;
301
- p->destLen = *destLen;
302
- p->src = src;
303
- p->srcLen = *srcLen;
304
- p->finish = finishMode; /* change it */
305
- res = SbDec_Decode((CSbDec *)pp);
306
- *destLen -= p->destLen;
307
- *srcLen -= p->srcLen;
308
- // *wasFinished = (*destLen == 0 && *srcLen == 0); /* change it */
309
- *status = (*destLen == 0 && *srcLen == 0) ?
310
- CODER_STATUS_FINISHED_WITH_MARK :
311
- CODER_STATUS_NOT_FINISHED;
312
- return res;
313
- }
314
-
315
- static SRes SbState_SetFromMethod(IStateCoder *p, ISzAllocPtr alloc)
316
- {
317
- CSbDec *decoder = (CSbDec *)p->p;
318
- if (!decoder)
319
- {
320
- decoder = (CSbDec *)ISzAlloc_Alloc(alloc, sizeof(CSbDec));
321
- if (!decoder)
322
- return SZ_ERROR_MEM;
323
- p->p = decoder;
324
- p->Free = SbState_Free;
325
- p->SetProps = SbState_SetProps;
326
- p->Init = SbState_Init;
327
- p->Code2 = SbState_Code2;
328
- p->Filter = NULL;
329
- }
330
- SbDec_Construct(decoder);
331
- SbDec_SetAlloc(decoder, alloc);
332
- return SZ_OK;
333
- }
334
-
335
- #endif
336
-
337
-
338
-
339
- /* ---------- Lzma2 ---------- */
340
-
341
- typedef struct
342
- {
343
- CLzma2Dec decoder;
344
- BoolInt outBufMode;
345
- } CLzma2Dec_Spec;
346
-
347
-
348
- static void Lzma2State_Free(void *pp, ISzAllocPtr alloc)
349
- {
350
- CLzma2Dec_Spec *p = (CLzma2Dec_Spec *)pp;
351
- if (p->outBufMode)
352
- Lzma2Dec_FreeProbs(&p->decoder, alloc);
353
- else
354
- Lzma2Dec_Free(&p->decoder, alloc);
355
- ISzAlloc_Free(alloc, pp);
356
- }
357
-
358
- static SRes Lzma2State_SetProps(void *pp, const Byte *props, size_t propSize, ISzAllocPtr alloc)
359
- {
360
- if (propSize != 1)
361
- return SZ_ERROR_UNSUPPORTED;
362
- {
363
- CLzma2Dec_Spec *p = (CLzma2Dec_Spec *)pp;
364
- if (p->outBufMode)
365
- return Lzma2Dec_AllocateProbs(&p->decoder, props[0], alloc);
366
- else
367
- return Lzma2Dec_Allocate(&p->decoder, props[0], alloc);
368
- }
369
- }
370
-
371
- static void Lzma2State_Init(void *pp)
372
- {
373
- Lzma2Dec_Init(&((CLzma2Dec_Spec *)pp)->decoder);
374
- }
375
-
376
-
377
- /*
378
- if (outBufMode), then (dest) is not used. Use NULL.
379
- Data is unpacked to (spec->decoder.decoder.dic) output buffer.
380
- */
381
-
382
- static SRes Lzma2State_Code2(void *pp, Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
383
- int srcWasFinished, ECoderFinishMode finishMode,
384
- // int *wasFinished,
385
- ECoderStatus *status)
386
- {
387
- CLzma2Dec_Spec *spec = (CLzma2Dec_Spec *)pp;
388
- ELzmaStatus status2;
389
- /* ELzmaFinishMode fm = (finishMode == LZMA_FINISH_ANY) ? LZMA_FINISH_ANY : LZMA_FINISH_END; */
390
- SRes res;
391
- UNUSED_VAR(srcWasFinished);
392
- if (spec->outBufMode)
393
- {
394
- SizeT dicPos = spec->decoder.decoder.dicPos;
395
- SizeT dicLimit = dicPos + *destLen;
396
- res = Lzma2Dec_DecodeToDic(&spec->decoder, dicLimit, src, srcLen, (ELzmaFinishMode)finishMode, &status2);
397
- *destLen = spec->decoder.decoder.dicPos - dicPos;
398
- }
399
- else
400
- res = Lzma2Dec_DecodeToBuf(&spec->decoder, dest, destLen, src, srcLen, (ELzmaFinishMode)finishMode, &status2);
401
- // *wasFinished = (status2 == LZMA_STATUS_FINISHED_WITH_MARK);
402
- // ECoderStatus values are identical to ELzmaStatus values of LZMA2 decoder
403
- *status = (ECoderStatus)status2;
404
- return res;
405
- }
406
-
407
-
408
- static SRes Lzma2State_SetFromMethod(IStateCoder *p, Byte *outBuf, size_t outBufSize, ISzAllocPtr alloc)
409
- {
410
- CLzma2Dec_Spec *spec = (CLzma2Dec_Spec *)p->p;
411
- if (!spec)
412
- {
413
- spec = (CLzma2Dec_Spec *)ISzAlloc_Alloc(alloc, sizeof(CLzma2Dec_Spec));
414
- if (!spec)
415
- return SZ_ERROR_MEM;
416
- p->p = spec;
417
- p->Free = Lzma2State_Free;
418
- p->SetProps = Lzma2State_SetProps;
419
- p->Init = Lzma2State_Init;
420
- p->Code2 = Lzma2State_Code2;
421
- p->Filter = NULL;
422
- Lzma2Dec_Construct(&spec->decoder);
423
- }
424
- spec->outBufMode = False;
425
- if (outBuf)
426
- {
427
- spec->outBufMode = True;
428
- spec->decoder.decoder.dic = outBuf;
429
- spec->decoder.decoder.dicBufSize = outBufSize;
430
- }
431
- return SZ_OK;
432
- }
433
-
434
-
435
- static SRes Lzma2State_ResetOutBuf(IStateCoder *p, Byte *outBuf, size_t outBufSize)
436
- {
437
- CLzma2Dec_Spec *spec = (CLzma2Dec_Spec *)p->p;
438
- if ((spec->outBufMode && !outBuf) || (!spec->outBufMode && outBuf))
439
- return SZ_ERROR_FAIL;
440
- if (outBuf)
441
- {
442
- spec->decoder.decoder.dic = outBuf;
443
- spec->decoder.decoder.dicBufSize = outBufSize;
444
- }
445
- return SZ_OK;
446
- }
447
-
448
-
449
-
450
- static void MixCoder_Construct(CMixCoder *p, ISzAllocPtr alloc)
451
- {
452
- unsigned i;
453
- p->alloc = alloc;
454
- p->buf = NULL;
455
- p->numCoders = 0;
456
-
457
- p->outBufSize = 0;
458
- p->outBuf = NULL;
459
- // p->SingleBufMode = False;
460
-
461
- for (i = 0; i < MIXCODER_NUM_FILTERS_MAX; i++)
462
- p->coders[i].p = NULL;
463
- }
464
-
465
-
466
- static void MixCoder_Free(CMixCoder *p)
467
- {
468
- unsigned i;
469
- p->numCoders = 0;
470
- for (i = 0; i < MIXCODER_NUM_FILTERS_MAX; i++)
471
- {
472
- IStateCoder *sc = &p->coders[i];
473
- if (sc->p)
474
- {
475
- sc->Free(sc->p, p->alloc);
476
- sc->p = NULL;
477
- }
478
- }
479
- if (p->buf)
480
- {
481
- ISzAlloc_Free(p->alloc, p->buf);
482
- p->buf = NULL; /* 9.31: the BUG was fixed */
483
- }
484
- }
485
-
486
- static void MixCoder_Init(CMixCoder *p)
487
- {
488
- unsigned i;
489
- for (i = 0; i < MIXCODER_NUM_FILTERS_MAX - 1; i++)
490
- {
491
- p->size[i] = 0;
492
- p->pos[i] = 0;
493
- p->finished[i] = 0;
494
- }
495
- for (i = 0; i < p->numCoders; i++)
496
- {
497
- IStateCoder *coder = &p->coders[i];
498
- coder->Init(coder->p);
499
- p->results[i] = SZ_OK;
500
- }
501
- p->outWritten = 0;
502
- p->wasFinished = False;
503
- p->res = SZ_OK;
504
- p->status = CODER_STATUS_NOT_SPECIFIED;
505
- }
506
-
507
-
508
- static SRes MixCoder_SetFromMethod(CMixCoder *p, unsigned coderIndex, UInt64 methodId, Byte *outBuf, size_t outBufSize)
509
- {
510
- IStateCoder *sc = &p->coders[coderIndex];
511
- p->ids[coderIndex] = methodId;
512
- switch (methodId)
513
- {
514
- case XZ_ID_LZMA2: return Lzma2State_SetFromMethod(sc, outBuf, outBufSize, p->alloc);
515
- #ifdef USE_SUBBLOCK
516
- case XZ_ID_Subblock: return SbState_SetFromMethod(sc, p->alloc);
517
- #endif
518
- }
519
- if (coderIndex == 0)
520
- return SZ_ERROR_UNSUPPORTED;
521
- return BraState_SetFromMethod(sc, methodId, 0, p->alloc);
522
- }
523
-
524
-
525
- static SRes MixCoder_ResetFromMethod(CMixCoder *p, unsigned coderIndex, UInt64 methodId, Byte *outBuf, size_t outBufSize)
526
- {
527
- IStateCoder *sc = &p->coders[coderIndex];
528
- switch (methodId)
529
- {
530
- case XZ_ID_LZMA2: return Lzma2State_ResetOutBuf(sc, outBuf, outBufSize);
531
- }
532
- return SZ_ERROR_UNSUPPORTED;
533
- }
534
-
535
-
536
-
537
- /*
538
- if (destFinish) - then unpack data block is finished at (*destLen) position,
539
- and we can return data that were not processed by filter
540
-
541
- output (status) can be :
542
- CODER_STATUS_NOT_FINISHED
543
- CODER_STATUS_FINISHED_WITH_MARK
544
- CODER_STATUS_NEEDS_MORE_INPUT - not implemented still
545
- */
546
-
547
- static SRes MixCoder_Code(CMixCoder *p,
548
- Byte *dest, SizeT *destLen, int destFinish,
549
- const Byte *src, SizeT *srcLen, int srcWasFinished,
550
- ECoderFinishMode finishMode)
551
- {
552
- SizeT destLenOrig = *destLen;
553
- SizeT srcLenOrig = *srcLen;
554
-
555
- *destLen = 0;
556
- *srcLen = 0;
557
-
558
- if (p->wasFinished)
559
- return p->res;
560
-
561
- p->status = CODER_STATUS_NOT_FINISHED;
562
-
563
- // if (p->SingleBufMode)
564
- if (p->outBuf)
565
- {
566
- SRes res;
567
- SizeT destLen2, srcLen2;
568
- int wasFinished;
569
-
570
- PRF_STR("------- MixCoder Single ----------");
571
-
572
- srcLen2 = srcLenOrig;
573
- destLen2 = destLenOrig;
574
-
575
- {
576
- IStateCoder *coder = &p->coders[0];
577
- res = coder->Code2(coder->p, NULL, &destLen2, src, &srcLen2, srcWasFinished, finishMode,
578
- // &wasFinished,
579
- &p->status);
580
- wasFinished = (p->status == CODER_STATUS_FINISHED_WITH_MARK);
581
- }
582
-
583
- p->res = res;
584
-
585
- /*
586
- if (wasFinished)
587
- p->status = CODER_STATUS_FINISHED_WITH_MARK;
588
- else
589
- {
590
- if (res == SZ_OK)
591
- if (destLen2 != destLenOrig)
592
- p->status = CODER_STATUS_NEEDS_MORE_INPUT;
593
- }
594
- */
595
-
596
-
597
- *srcLen = srcLen2;
598
- src += srcLen2;
599
- p->outWritten += destLen2;
600
-
601
- if (res != SZ_OK || srcWasFinished || wasFinished)
602
- p->wasFinished = True;
603
-
604
- if (p->numCoders == 1)
605
- *destLen = destLen2;
606
- else if (p->wasFinished)
607
- {
608
- unsigned i;
609
- size_t processed = p->outWritten;
610
-
611
- for (i = 1; i < p->numCoders; i++)
612
- {
613
- IStateCoder *coder = &p->coders[i];
614
- processed = coder->Filter(coder->p, p->outBuf, processed);
615
- if (wasFinished || (destFinish && p->outWritten == destLenOrig))
616
- processed = p->outWritten;
617
- PRF_STR_INT("filter", i);
618
- }
619
- *destLen = processed;
620
- }
621
- return res;
622
- }
623
-
624
- PRF_STR("standard mix");
625
-
626
- if (p->numCoders != 1)
627
- {
628
- if (!p->buf)
629
- {
630
- p->buf = (Byte *)ISzAlloc_Alloc(p->alloc, CODER_BUF_SIZE * (MIXCODER_NUM_FILTERS_MAX - 1));
631
- if (!p->buf)
632
- return SZ_ERROR_MEM;
633
- }
634
-
635
- finishMode = CODER_FINISH_ANY;
636
- }
637
-
638
- for (;;)
639
- {
640
- BoolInt processed = False;
641
- BoolInt allFinished = True;
642
- SRes resMain = SZ_OK;
643
- unsigned i;
644
-
645
- p->status = CODER_STATUS_NOT_FINISHED;
646
- /*
647
- if (p->numCoders == 1 && *destLen == destLenOrig && finishMode == LZMA_FINISH_ANY)
648
- break;
649
- */
650
-
651
- for (i = 0; i < p->numCoders; i++)
652
- {
653
- SRes res;
654
- IStateCoder *coder = &p->coders[i];
655
- Byte *dest2;
656
- SizeT destLen2, srcLen2; // destLen2_Orig;
657
- const Byte *src2;
658
- int srcFinished2;
659
- int encodingWasFinished;
660
- ECoderStatus status2;
661
-
662
- if (i == 0)
663
- {
664
- src2 = src;
665
- srcLen2 = srcLenOrig - *srcLen;
666
- srcFinished2 = srcWasFinished;
667
- }
668
- else
669
- {
670
- size_t k = i - 1;
671
- src2 = p->buf + (CODER_BUF_SIZE * k) + p->pos[k];
672
- srcLen2 = p->size[k] - p->pos[k];
673
- srcFinished2 = p->finished[k];
674
- }
675
-
676
- if (i == p->numCoders - 1)
677
- {
678
- dest2 = dest;
679
- destLen2 = destLenOrig - *destLen;
680
- }
681
- else
682
- {
683
- if (p->pos[i] != p->size[i])
684
- continue;
685
- dest2 = p->buf + (CODER_BUF_SIZE * i);
686
- destLen2 = CODER_BUF_SIZE;
687
- }
688
-
689
- // destLen2_Orig = destLen2;
690
-
691
- if (p->results[i] != SZ_OK)
692
- {
693
- if (resMain == SZ_OK)
694
- resMain = p->results[i];
695
- continue;
696
- }
697
-
698
- res = coder->Code2(coder->p,
699
- dest2, &destLen2,
700
- src2, &srcLen2, srcFinished2,
701
- finishMode,
702
- // &encodingWasFinished,
703
- &status2);
704
-
705
- if (res != SZ_OK)
706
- {
707
- p->results[i] = res;
708
- if (resMain == SZ_OK)
709
- resMain = res;
710
- }
711
-
712
- encodingWasFinished = (status2 == CODER_STATUS_FINISHED_WITH_MARK);
713
-
714
- if (!encodingWasFinished)
715
- {
716
- allFinished = False;
717
- if (p->numCoders == 1 && res == SZ_OK)
718
- p->status = status2;
719
- }
720
-
721
- if (i == 0)
722
- {
723
- *srcLen += srcLen2;
724
- src += srcLen2;
725
- }
726
- else
727
- p->pos[(size_t)i - 1] += srcLen2;
728
-
729
- if (i == p->numCoders - 1)
730
- {
731
- *destLen += destLen2;
732
- dest += destLen2;
733
- }
734
- else
735
- {
736
- p->size[i] = destLen2;
737
- p->pos[i] = 0;
738
- p->finished[i] = encodingWasFinished;
739
- }
740
-
741
- if (destLen2 != 0 || srcLen2 != 0)
742
- processed = True;
743
- }
744
-
745
- if (!processed)
746
- {
747
- if (allFinished)
748
- p->status = CODER_STATUS_FINISHED_WITH_MARK;
749
- return resMain;
750
- }
751
- }
752
- }
753
-
754
-
755
- SRes Xz_ParseHeader(CXzStreamFlags *p, const Byte *buf)
756
- {
757
- *p = (CXzStreamFlags)GetBe16(buf + XZ_SIG_SIZE);
758
- if (CrcCalc(buf + XZ_SIG_SIZE, XZ_STREAM_FLAGS_SIZE) !=
759
- GetUi32(buf + XZ_SIG_SIZE + XZ_STREAM_FLAGS_SIZE))
760
- return SZ_ERROR_NO_ARCHIVE;
761
- return XzFlags_IsSupported(*p) ? SZ_OK : SZ_ERROR_UNSUPPORTED;
762
- }
763
-
764
- static BoolInt Xz_CheckFooter(CXzStreamFlags flags, UInt64 indexSize, const Byte *buf)
765
- {
766
- return indexSize == (((UInt64)GetUi32(buf + 4) + 1) << 2)
767
- && GetUi32(buf) == CrcCalc(buf + 4, 6)
768
- && flags == GetBe16(buf + 8)
769
- && buf[10] == XZ_FOOTER_SIG_0
770
- && buf[11] == XZ_FOOTER_SIG_1;
771
- }
772
-
773
- #define READ_VARINT_AND_CHECK(buf, pos, size, res) \
774
- { unsigned s = Xz_ReadVarInt(buf + pos, size - pos, res); \
775
- if (s == 0) return SZ_ERROR_ARCHIVE; pos += s; }
776
-
777
-
778
- static BoolInt XzBlock_AreSupportedFilters(const CXzBlock *p)
779
- {
780
- unsigned numFilters = XzBlock_GetNumFilters(p) - 1;
781
- unsigned i;
782
- {
783
- const CXzFilter *f = &p->filters[numFilters];
784
- if (f->id != XZ_ID_LZMA2 || f->propsSize != 1 || f->props[0] > 40)
785
- return False;
786
- }
787
-
788
- for (i = 0; i < numFilters; i++)
789
- {
790
- const CXzFilter *f = &p->filters[i];
791
- if (f->id == XZ_ID_Delta)
792
- {
793
- if (f->propsSize != 1)
794
- return False;
795
- }
796
- else if (f->id < XZ_ID_Delta
797
- || f->id > XZ_ID_SPARC
798
- || (f->propsSize != 0 && f->propsSize != 4))
799
- return False;
800
- }
801
- return True;
802
- }
803
-
804
-
805
- SRes XzBlock_Parse(CXzBlock *p, const Byte *header)
806
- {
807
- unsigned pos;
808
- unsigned numFilters, i;
809
- unsigned headerSize = (unsigned)header[0] << 2;
810
-
811
- /* (headerSize != 0) : another code checks */
812
-
813
- if (CrcCalc(header, headerSize) != GetUi32(header + headerSize))
814
- return SZ_ERROR_ARCHIVE;
815
-
816
- pos = 1;
817
- p->flags = header[pos++];
818
-
819
- p->packSize = (UInt64)(Int64)-1;
820
- if (XzBlock_HasPackSize(p))
821
- {
822
- READ_VARINT_AND_CHECK(header, pos, headerSize, &p->packSize);
823
- if (p->packSize == 0 || p->packSize + headerSize >= (UInt64)1 << 63)
824
- return SZ_ERROR_ARCHIVE;
825
- }
826
-
827
- p->unpackSize = (UInt64)(Int64)-1;
828
- if (XzBlock_HasUnpackSize(p))
829
- READ_VARINT_AND_CHECK(header, pos, headerSize, &p->unpackSize);
830
-
831
- numFilters = XzBlock_GetNumFilters(p);
832
- for (i = 0; i < numFilters; i++)
833
- {
834
- CXzFilter *filter = p->filters + i;
835
- UInt64 size;
836
- READ_VARINT_AND_CHECK(header, pos, headerSize, &filter->id);
837
- READ_VARINT_AND_CHECK(header, pos, headerSize, &size);
838
- if (size > headerSize - pos || size > XZ_FILTER_PROPS_SIZE_MAX)
839
- return SZ_ERROR_ARCHIVE;
840
- filter->propsSize = (UInt32)size;
841
- memcpy(filter->props, header + pos, (size_t)size);
842
- pos += (unsigned)size;
843
-
844
- #ifdef XZ_DUMP
845
- printf("\nf[%u] = %2X: ", i, (unsigned)filter->id);
846
- {
847
- unsigned i;
848
- for (i = 0; i < size; i++)
849
- printf(" %2X", filter->props[i]);
850
- }
851
- #endif
852
- }
853
-
854
- if (XzBlock_HasUnsupportedFlags(p))
855
- return SZ_ERROR_UNSUPPORTED;
856
-
857
- while (pos < headerSize)
858
- if (header[pos++] != 0)
859
- return SZ_ERROR_ARCHIVE;
860
- return SZ_OK;
861
- }
862
-
863
-
864
-
865
-
866
- static SRes XzDecMix_Init(CMixCoder *p, const CXzBlock *block, Byte *outBuf, size_t outBufSize)
867
- {
868
- unsigned i;
869
- BoolInt needReInit = True;
870
- unsigned numFilters = XzBlock_GetNumFilters(block);
871
-
872
- if (numFilters == p->numCoders && ((p->outBuf && outBuf) || (!p->outBuf && !outBuf)))
873
- {
874
- needReInit = False;
875
- for (i = 0; i < numFilters; i++)
876
- if (p->ids[i] != block->filters[numFilters - 1 - i].id)
877
- {
878
- needReInit = True;
879
- break;
880
- }
881
- }
882
-
883
- // p->SingleBufMode = (outBuf != NULL);
884
- p->outBuf = outBuf;
885
- p->outBufSize = outBufSize;
886
-
887
- // p->SingleBufMode = False;
888
- // outBuf = NULL;
889
-
890
- if (needReInit)
891
- {
892
- MixCoder_Free(p);
893
- for (i = 0; i < numFilters; i++)
894
- {
895
- RINOK(MixCoder_SetFromMethod(p, i, block->filters[numFilters - 1 - i].id, outBuf, outBufSize));
896
- }
897
- p->numCoders = numFilters;
898
- }
899
- else
900
- {
901
- RINOK(MixCoder_ResetFromMethod(p, 0, block->filters[numFilters - 1].id, outBuf, outBufSize));
902
- }
903
-
904
- for (i = 0; i < numFilters; i++)
905
- {
906
- const CXzFilter *f = &block->filters[numFilters - 1 - i];
907
- IStateCoder *sc = &p->coders[i];
908
- RINOK(sc->SetProps(sc->p, f->props, f->propsSize, p->alloc));
909
- }
910
-
911
- MixCoder_Init(p);
912
- return SZ_OK;
913
- }
914
-
915
-
916
-
917
- void XzUnpacker_Init(CXzUnpacker *p)
918
- {
919
- p->state = XZ_STATE_STREAM_HEADER;
920
- p->pos = 0;
921
- p->numStartedStreams = 0;
922
- p->numFinishedStreams = 0;
923
- p->numTotalBlocks = 0;
924
- p->padSize = 0;
925
- p->decodeOnlyOneBlock = 0;
926
-
927
- p->parseMode = False;
928
- p->decodeToStreamSignature = False;
929
-
930
- // p->outBuf = NULL;
931
- // p->outBufSize = 0;
932
- p->outDataWritten = 0;
933
- }
934
-
935
-
936
- void XzUnpacker_SetOutBuf(CXzUnpacker *p, Byte *outBuf, size_t outBufSize)
937
- {
938
- p->outBuf = outBuf;
939
- p->outBufSize = outBufSize;
940
- }
941
-
942
-
943
- void XzUnpacker_Construct(CXzUnpacker *p, ISzAllocPtr alloc)
944
- {
945
- MixCoder_Construct(&p->decoder, alloc);
946
- p->outBuf = NULL;
947
- p->outBufSize = 0;
948
- XzUnpacker_Init(p);
949
- }
950
-
951
-
952
- void XzUnpacker_Free(CXzUnpacker *p)
953
- {
954
- MixCoder_Free(&p->decoder);
955
- }
956
-
957
-
958
- void XzUnpacker_PrepareToRandomBlockDecoding(CXzUnpacker *p)
959
- {
960
- p->indexSize = 0;
961
- p->numBlocks = 0;
962
- Sha256_Init(&p->sha);
963
- p->state = XZ_STATE_BLOCK_HEADER;
964
- p->pos = 0;
965
- p->decodeOnlyOneBlock = 1;
966
- }
967
-
968
-
969
- static void XzUnpacker_UpdateIndex(CXzUnpacker *p, UInt64 packSize, UInt64 unpackSize)
970
- {
971
- Byte temp[32];
972
- unsigned num = Xz_WriteVarInt(temp, packSize);
973
- num += Xz_WriteVarInt(temp + num, unpackSize);
974
- Sha256_Update(&p->sha, temp, num);
975
- p->indexSize += num;
976
- p->numBlocks++;
977
- }
978
-
979
-
980
-
981
- SRes XzUnpacker_Code(CXzUnpacker *p, Byte *dest, SizeT *destLen,
982
- const Byte *src, SizeT *srcLen, int srcFinished,
983
- ECoderFinishMode finishMode, ECoderStatus *status)
984
- {
985
- SizeT destLenOrig = *destLen;
986
- SizeT srcLenOrig = *srcLen;
987
- *destLen = 0;
988
- *srcLen = 0;
989
- *status = CODER_STATUS_NOT_SPECIFIED;
990
-
991
- for (;;)
992
- {
993
- SizeT srcRem;
994
-
995
- if (p->state == XZ_STATE_BLOCK)
996
- {
997
- SizeT destLen2 = destLenOrig - *destLen;
998
- SizeT srcLen2 = srcLenOrig - *srcLen;
999
- SRes res;
1000
-
1001
- ECoderFinishMode finishMode2 = finishMode;
1002
- BoolInt srcFinished2 = srcFinished;
1003
- BoolInt destFinish = False;
1004
-
1005
- if (p->block.packSize != (UInt64)(Int64)-1)
1006
- {
1007
- UInt64 rem = p->block.packSize - p->packSize;
1008
- if (srcLen2 >= rem)
1009
- {
1010
- srcFinished2 = True;
1011
- srcLen2 = (SizeT)rem;
1012
- }
1013
- if (rem == 0 && p->block.unpackSize == p->unpackSize)
1014
- return SZ_ERROR_DATA;
1015
- }
1016
-
1017
- if (p->block.unpackSize != (UInt64)(Int64)-1)
1018
- {
1019
- UInt64 rem = p->block.unpackSize - p->unpackSize;
1020
- if (destLen2 >= rem)
1021
- {
1022
- destFinish = True;
1023
- finishMode2 = CODER_FINISH_END;
1024
- destLen2 = (SizeT)rem;
1025
- }
1026
- }
1027
-
1028
- /*
1029
- if (srcLen2 == 0 && destLen2 == 0)
1030
- {
1031
- *status = CODER_STATUS_NOT_FINISHED;
1032
- return SZ_OK;
1033
- }
1034
- */
1035
-
1036
- {
1037
- res = MixCoder_Code(&p->decoder,
1038
- (p->outBuf ? NULL : dest), &destLen2, destFinish,
1039
- src, &srcLen2, srcFinished2,
1040
- finishMode2);
1041
-
1042
- *status = p->decoder.status;
1043
- XzCheck_Update(&p->check, (p->outBuf ? p->outBuf + p->outDataWritten : dest), destLen2);
1044
- if (!p->outBuf)
1045
- dest += destLen2;
1046
- p->outDataWritten += destLen2;
1047
- }
1048
-
1049
- (*srcLen) += srcLen2;
1050
- src += srcLen2;
1051
- p->packSize += srcLen2;
1052
- (*destLen) += destLen2;
1053
- p->unpackSize += destLen2;
1054
-
1055
- RINOK(res);
1056
-
1057
- if (*status != CODER_STATUS_FINISHED_WITH_MARK)
1058
- {
1059
- if (p->block.packSize == p->packSize
1060
- && *status == CODER_STATUS_NEEDS_MORE_INPUT)
1061
- {
1062
- PRF_STR("CODER_STATUS_NEEDS_MORE_INPUT");
1063
- *status = CODER_STATUS_NOT_SPECIFIED;
1064
- return SZ_ERROR_DATA;
1065
- }
1066
-
1067
- return SZ_OK;
1068
- }
1069
- {
1070
- XzUnpacker_UpdateIndex(p, XzUnpacker_GetPackSizeForIndex(p), p->unpackSize);
1071
- p->state = XZ_STATE_BLOCK_FOOTER;
1072
- p->pos = 0;
1073
- p->alignPos = 0;
1074
- *status = CODER_STATUS_NOT_SPECIFIED;
1075
-
1076
- if ((p->block.packSize != (UInt64)(Int64)-1 && p->block.packSize != p->packSize)
1077
- || (p->block.unpackSize != (UInt64)(Int64)-1 && p->block.unpackSize != p->unpackSize))
1078
- {
1079
- PRF_STR("ERROR: block.size mismatch");
1080
- return SZ_ERROR_DATA;
1081
- }
1082
- }
1083
- // continue;
1084
- }
1085
-
1086
- srcRem = srcLenOrig - *srcLen;
1087
-
1088
- // XZ_STATE_BLOCK_FOOTER can transit to XZ_STATE_BLOCK_HEADER without input bytes
1089
- if (srcRem == 0 && p->state != XZ_STATE_BLOCK_FOOTER)
1090
- {
1091
- *status = CODER_STATUS_NEEDS_MORE_INPUT;
1092
- return SZ_OK;
1093
- }
1094
-
1095
- switch (p->state)
1096
- {
1097
- case XZ_STATE_STREAM_HEADER:
1098
- {
1099
- if (p->pos < XZ_STREAM_HEADER_SIZE)
1100
- {
1101
- if (p->pos < XZ_SIG_SIZE && *src != XZ_SIG[p->pos])
1102
- return SZ_ERROR_NO_ARCHIVE;
1103
- if (p->decodeToStreamSignature)
1104
- return SZ_OK;
1105
- p->buf[p->pos++] = *src++;
1106
- (*srcLen)++;
1107
- }
1108
- else
1109
- {
1110
- RINOK(Xz_ParseHeader(&p->streamFlags, p->buf));
1111
- p->numStartedStreams++;
1112
- p->indexSize = 0;
1113
- p->numBlocks = 0;
1114
- Sha256_Init(&p->sha);
1115
- p->state = XZ_STATE_BLOCK_HEADER;
1116
- p->pos = 0;
1117
- }
1118
- break;
1119
- }
1120
-
1121
- case XZ_STATE_BLOCK_HEADER:
1122
- {
1123
- if (p->pos == 0)
1124
- {
1125
- p->buf[p->pos++] = *src++;
1126
- (*srcLen)++;
1127
- if (p->buf[0] == 0)
1128
- {
1129
- if (p->decodeOnlyOneBlock)
1130
- return SZ_ERROR_DATA;
1131
- p->indexPreSize = 1 + Xz_WriteVarInt(p->buf + 1, p->numBlocks);
1132
- p->indexPos = p->indexPreSize;
1133
- p->indexSize += p->indexPreSize;
1134
- Sha256_Final(&p->sha, p->shaDigest);
1135
- Sha256_Init(&p->sha);
1136
- p->crc = CrcUpdate(CRC_INIT_VAL, p->buf, p->indexPreSize);
1137
- p->state = XZ_STATE_STREAM_INDEX;
1138
- break;
1139
- }
1140
- p->blockHeaderSize = ((UInt32)p->buf[0] << 2) + 4;
1141
- break;
1142
- }
1143
-
1144
- if (p->pos != p->blockHeaderSize)
1145
- {
1146
- UInt32 cur = p->blockHeaderSize - p->pos;
1147
- if (cur > srcRem)
1148
- cur = (UInt32)srcRem;
1149
- memcpy(p->buf + p->pos, src, cur);
1150
- p->pos += cur;
1151
- (*srcLen) += cur;
1152
- src += cur;
1153
- }
1154
- else
1155
- {
1156
- RINOK(XzBlock_Parse(&p->block, p->buf));
1157
- if (!XzBlock_AreSupportedFilters(&p->block))
1158
- return SZ_ERROR_UNSUPPORTED;
1159
- p->numTotalBlocks++;
1160
- p->state = XZ_STATE_BLOCK;
1161
- p->packSize = 0;
1162
- p->unpackSize = 0;
1163
- XzCheck_Init(&p->check, XzFlags_GetCheckType(p->streamFlags));
1164
- if (p->parseMode)
1165
- {
1166
- p->headerParsedOk = True;
1167
- return SZ_OK;
1168
- }
1169
- RINOK(XzDecMix_Init(&p->decoder, &p->block, p->outBuf, p->outBufSize));
1170
- }
1171
- break;
1172
- }
1173
-
1174
- case XZ_STATE_BLOCK_FOOTER:
1175
- {
1176
- if ((((unsigned)p->packSize + p->alignPos) & 3) != 0)
1177
- {
1178
- if (srcRem == 0)
1179
- {
1180
- *status = CODER_STATUS_NEEDS_MORE_INPUT;
1181
- return SZ_OK;
1182
- }
1183
- (*srcLen)++;
1184
- p->alignPos++;
1185
- if (*src++ != 0)
1186
- return SZ_ERROR_CRC;
1187
- }
1188
- else
1189
- {
1190
- UInt32 checkSize = XzFlags_GetCheckSize(p->streamFlags);
1191
- UInt32 cur = checkSize - p->pos;
1192
- if (cur != 0)
1193
- {
1194
- if (srcRem == 0)
1195
- {
1196
- *status = CODER_STATUS_NEEDS_MORE_INPUT;
1197
- return SZ_OK;
1198
- }
1199
- if (cur > srcRem)
1200
- cur = (UInt32)srcRem;
1201
- memcpy(p->buf + p->pos, src, cur);
1202
- p->pos += cur;
1203
- (*srcLen) += cur;
1204
- src += cur;
1205
- if (checkSize != p->pos)
1206
- break;
1207
- }
1208
- {
1209
- Byte digest[XZ_CHECK_SIZE_MAX];
1210
- p->state = XZ_STATE_BLOCK_HEADER;
1211
- p->pos = 0;
1212
- if (XzCheck_Final(&p->check, digest) && memcmp(digest, p->buf, checkSize) != 0)
1213
- return SZ_ERROR_CRC;
1214
- if (p->decodeOnlyOneBlock)
1215
- {
1216
- *status = CODER_STATUS_FINISHED_WITH_MARK;
1217
- return SZ_OK;
1218
- }
1219
- }
1220
- }
1221
- break;
1222
- }
1223
-
1224
- case XZ_STATE_STREAM_INDEX:
1225
- {
1226
- if (p->pos < p->indexPreSize)
1227
- {
1228
- (*srcLen)++;
1229
- if (*src++ != p->buf[p->pos++])
1230
- return SZ_ERROR_CRC;
1231
- }
1232
- else
1233
- {
1234
- if (p->indexPos < p->indexSize)
1235
- {
1236
- UInt64 cur = p->indexSize - p->indexPos;
1237
- if (srcRem > cur)
1238
- srcRem = (SizeT)cur;
1239
- p->crc = CrcUpdate(p->crc, src, srcRem);
1240
- Sha256_Update(&p->sha, src, srcRem);
1241
- (*srcLen) += srcRem;
1242
- src += srcRem;
1243
- p->indexPos += srcRem;
1244
- }
1245
- else if ((p->indexPos & 3) != 0)
1246
- {
1247
- Byte b = *src++;
1248
- p->crc = CRC_UPDATE_BYTE(p->crc, b);
1249
- (*srcLen)++;
1250
- p->indexPos++;
1251
- p->indexSize++;
1252
- if (b != 0)
1253
- return SZ_ERROR_CRC;
1254
- }
1255
- else
1256
- {
1257
- Byte digest[SHA256_DIGEST_SIZE];
1258
- p->state = XZ_STATE_STREAM_INDEX_CRC;
1259
- p->indexSize += 4;
1260
- p->pos = 0;
1261
- Sha256_Final(&p->sha, digest);
1262
- if (memcmp(digest, p->shaDigest, SHA256_DIGEST_SIZE) != 0)
1263
- return SZ_ERROR_CRC;
1264
- }
1265
- }
1266
- break;
1267
- }
1268
-
1269
- case XZ_STATE_STREAM_INDEX_CRC:
1270
- {
1271
- if (p->pos < 4)
1272
- {
1273
- (*srcLen)++;
1274
- p->buf[p->pos++] = *src++;
1275
- }
1276
- else
1277
- {
1278
- p->state = XZ_STATE_STREAM_FOOTER;
1279
- p->pos = 0;
1280
- if (CRC_GET_DIGEST(p->crc) != GetUi32(p->buf))
1281
- return SZ_ERROR_CRC;
1282
- }
1283
- break;
1284
- }
1285
-
1286
- case XZ_STATE_STREAM_FOOTER:
1287
- {
1288
- UInt32 cur = XZ_STREAM_FOOTER_SIZE - p->pos;
1289
- if (cur > srcRem)
1290
- cur = (UInt32)srcRem;
1291
- memcpy(p->buf + p->pos, src, cur);
1292
- p->pos += cur;
1293
- (*srcLen) += cur;
1294
- src += cur;
1295
- if (p->pos == XZ_STREAM_FOOTER_SIZE)
1296
- {
1297
- p->state = XZ_STATE_STREAM_PADDING;
1298
- p->numFinishedStreams++;
1299
- p->padSize = 0;
1300
- if (!Xz_CheckFooter(p->streamFlags, p->indexSize, p->buf))
1301
- return SZ_ERROR_CRC;
1302
- }
1303
- break;
1304
- }
1305
-
1306
- case XZ_STATE_STREAM_PADDING:
1307
- {
1308
- if (*src != 0)
1309
- {
1310
- if (((UInt32)p->padSize & 3) != 0)
1311
- return SZ_ERROR_NO_ARCHIVE;
1312
- p->pos = 0;
1313
- p->state = XZ_STATE_STREAM_HEADER;
1314
- }
1315
- else
1316
- {
1317
- (*srcLen)++;
1318
- src++;
1319
- p->padSize++;
1320
- }
1321
- break;
1322
- }
1323
-
1324
- case XZ_STATE_BLOCK: break; /* to disable GCC warning */
1325
- }
1326
- }
1327
- /*
1328
- if (p->state == XZ_STATE_FINISHED)
1329
- *status = CODER_STATUS_FINISHED_WITH_MARK;
1330
- return SZ_OK;
1331
- */
1332
- }
1333
-
1334
-
1335
- SRes XzUnpacker_CodeFull(CXzUnpacker *p, Byte *dest, SizeT *destLen,
1336
- const Byte *src, SizeT *srcLen,
1337
- ECoderFinishMode finishMode, ECoderStatus *status)
1338
- {
1339
- XzUnpacker_Init(p);
1340
- XzUnpacker_SetOutBuf(p, dest, *destLen);
1341
-
1342
- return XzUnpacker_Code(p,
1343
- NULL, destLen,
1344
- src, srcLen, True,
1345
- finishMode, status);
1346
- }
1347
-
1348
-
1349
- BoolInt XzUnpacker_IsBlockFinished(const CXzUnpacker *p)
1350
- {
1351
- return (p->state == XZ_STATE_BLOCK_HEADER) && (p->pos == 0);
1352
- }
1353
-
1354
- BoolInt XzUnpacker_IsStreamWasFinished(const CXzUnpacker *p)
1355
- {
1356
- return (p->state == XZ_STATE_STREAM_PADDING) && (((UInt32)p->padSize & 3) == 0);
1357
- }
1358
-
1359
- UInt64 XzUnpacker_GetExtraSize(const CXzUnpacker *p)
1360
- {
1361
- UInt64 num = 0;
1362
- if (p->state == XZ_STATE_STREAM_PADDING)
1363
- num = p->padSize;
1364
- else if (p->state == XZ_STATE_STREAM_HEADER)
1365
- num = p->padSize + p->pos;
1366
- return num;
1367
- }
1368
-
1369
-
1370
-
1371
-
1372
-
1373
-
1374
-
1375
-
1376
-
1377
-
1378
-
1379
-
1380
-
1381
-
1382
-
1383
-
1384
-
1385
-
1386
-
1387
-
1388
-
1389
- #ifndef _7ZIP_ST
1390
- #include "MtDec.h"
1391
- #endif
1392
-
1393
-
1394
- void XzDecMtProps_Init(CXzDecMtProps *p)
1395
- {
1396
- p->inBufSize_ST = 1 << 18;
1397
- p->outStep_ST = 1 << 20;
1398
- p->ignoreErrors = False;
1399
-
1400
- #ifndef _7ZIP_ST
1401
- p->numThreads = 1;
1402
- p->inBufSize_MT = 1 << 18;
1403
- p->memUseMax = sizeof(size_t) << 28;
1404
- #endif
1405
- }
1406
-
1407
-
1408
-
1409
- #ifndef _7ZIP_ST
1410
-
1411
- /* ---------- CXzDecMtThread ---------- */
1412
-
1413
- typedef struct
1414
- {
1415
- Byte *outBuf;
1416
- size_t outBufSize;
1417
- size_t outPreSize;
1418
- size_t inPreSize;
1419
- size_t inPreHeaderSize;
1420
- size_t blockPackSize_for_Index; // including block header and checksum.
1421
- size_t blockPackTotal; // including stream header, block header and checksum.
1422
- size_t inCodeSize;
1423
- size_t outCodeSize;
1424
- ECoderStatus status;
1425
- SRes codeRes;
1426
- BoolInt skipMode;
1427
- // BoolInt finishedWithMark;
1428
- EMtDecParseState parseState;
1429
- BoolInt parsing_Truncated;
1430
- BoolInt atBlockHeader;
1431
- CXzStreamFlags streamFlags;
1432
- // UInt64 numFinishedStreams
1433
- UInt64 numStreams;
1434
- UInt64 numTotalBlocks;
1435
- UInt64 numBlocks;
1436
-
1437
- BoolInt dec_created;
1438
- CXzUnpacker dec;
1439
-
1440
- Byte mtPad[1 << 7];
1441
- } CXzDecMtThread;
1442
-
1443
- #endif
1444
-
1445
-
1446
- /* ---------- CXzDecMt ---------- */
1447
-
1448
- typedef struct
1449
- {
1450
- CAlignOffsetAlloc alignOffsetAlloc;
1451
- ISzAllocPtr allocMid;
1452
-
1453
- CXzDecMtProps props;
1454
- size_t unpackBlockMaxSize;
1455
-
1456
- ISeqInStream *inStream;
1457
- ISeqOutStream *outStream;
1458
- ICompressProgress *progress;
1459
- // CXzStatInfo *stat;
1460
-
1461
- BoolInt finishMode;
1462
- BoolInt outSize_Defined;
1463
- UInt64 outSize;
1464
-
1465
- UInt64 outProcessed;
1466
- UInt64 inProcessed;
1467
- UInt64 readProcessed;
1468
- BoolInt readWasFinished;
1469
- SRes readRes;
1470
- SRes writeRes;
1471
-
1472
- Byte *outBuf;
1473
- size_t outBufSize;
1474
- Byte *inBuf;
1475
- size_t inBufSize;
1476
-
1477
- CXzUnpacker dec;
1478
-
1479
- ECoderStatus status;
1480
- SRes codeRes;
1481
-
1482
- #ifndef _7ZIP_ST
1483
- BoolInt mainDecoderWasCalled;
1484
- // int statErrorDefined;
1485
- int finishedDecoderIndex;
1486
-
1487
- // global values that are used in Parse stage
1488
- CXzStreamFlags streamFlags;
1489
- // UInt64 numFinishedStreams
1490
- UInt64 numStreams;
1491
- UInt64 numTotalBlocks;
1492
- UInt64 numBlocks;
1493
-
1494
- // UInt64 numBadBlocks;
1495
- SRes mainErrorCode;
1496
-
1497
- BoolInt isBlockHeaderState_Parse;
1498
- BoolInt isBlockHeaderState_Write;
1499
- UInt64 outProcessed_Parse;
1500
- BoolInt parsing_Truncated;
1501
-
1502
- BoolInt mtc_WasConstructed;
1503
- CMtDec mtc;
1504
- CXzDecMtThread coders[MTDEC__THREADS_MAX];
1505
- #endif
1506
-
1507
- } CXzDecMt;
1508
-
1509
-
1510
-
1511
- CXzDecMtHandle XzDecMt_Create(ISzAllocPtr alloc, ISzAllocPtr allocMid)
1512
- {
1513
- CXzDecMt *p = (CXzDecMt *)ISzAlloc_Alloc(alloc, sizeof(CXzDecMt));
1514
- if (!p)
1515
- return NULL;
1516
-
1517
- AlignOffsetAlloc_CreateVTable(&p->alignOffsetAlloc);
1518
- p->alignOffsetAlloc.baseAlloc = alloc;
1519
- p->alignOffsetAlloc.numAlignBits = 7;
1520
- p->alignOffsetAlloc.offset = 0;
1521
-
1522
- p->allocMid = allocMid;
1523
-
1524
- p->outBuf = NULL;
1525
- p->outBufSize = 0;
1526
- p->inBuf = NULL;
1527
- p->inBufSize = 0;
1528
-
1529
- XzUnpacker_Construct(&p->dec, &p->alignOffsetAlloc.vt);
1530
-
1531
- p->unpackBlockMaxSize = 0;
1532
-
1533
- XzDecMtProps_Init(&p->props);
1534
-
1535
- #ifndef _7ZIP_ST
1536
- p->mtc_WasConstructed = False;
1537
- {
1538
- unsigned i;
1539
- for (i = 0; i < MTDEC__THREADS_MAX; i++)
1540
- {
1541
- CXzDecMtThread *coder = &p->coders[i];
1542
- coder->dec_created = False;
1543
- coder->outBuf = NULL;
1544
- coder->outBufSize = 0;
1545
- }
1546
- }
1547
- #endif
1548
-
1549
- return p;
1550
- }
1551
-
1552
-
1553
- #ifndef _7ZIP_ST
1554
-
1555
- static void XzDecMt_FreeOutBufs(CXzDecMt *p)
1556
- {
1557
- unsigned i;
1558
- for (i = 0; i < MTDEC__THREADS_MAX; i++)
1559
- {
1560
- CXzDecMtThread *coder = &p->coders[i];
1561
- if (coder->outBuf)
1562
- {
1563
- ISzAlloc_Free(p->allocMid, coder->outBuf);
1564
- coder->outBuf = NULL;
1565
- coder->outBufSize = 0;
1566
- }
1567
- }
1568
- p->unpackBlockMaxSize = 0;
1569
- }
1570
-
1571
- #endif
1572
-
1573
-
1574
-
1575
- static void XzDecMt_FreeSt(CXzDecMt *p)
1576
- {
1577
- XzUnpacker_Free(&p->dec);
1578
-
1579
- if (p->outBuf)
1580
- {
1581
- ISzAlloc_Free(p->allocMid, p->outBuf);
1582
- p->outBuf = NULL;
1583
- }
1584
- p->outBufSize = 0;
1585
-
1586
- if (p->inBuf)
1587
- {
1588
- ISzAlloc_Free(p->allocMid, p->inBuf);
1589
- p->inBuf = NULL;
1590
- }
1591
- p->inBufSize = 0;
1592
- }
1593
-
1594
-
1595
- void XzDecMt_Destroy(CXzDecMtHandle pp)
1596
- {
1597
- CXzDecMt *p = (CXzDecMt *)pp;
1598
-
1599
- XzDecMt_FreeSt(p);
1600
-
1601
- #ifndef _7ZIP_ST
1602
-
1603
- if (p->mtc_WasConstructed)
1604
- {
1605
- MtDec_Destruct(&p->mtc);
1606
- p->mtc_WasConstructed = False;
1607
- }
1608
- {
1609
- unsigned i;
1610
- for (i = 0; i < MTDEC__THREADS_MAX; i++)
1611
- {
1612
- CXzDecMtThread *t = &p->coders[i];
1613
- if (t->dec_created)
1614
- {
1615
- // we don't need to free dict here
1616
- XzUnpacker_Free(&t->dec);
1617
- t->dec_created = False;
1618
- }
1619
- }
1620
- }
1621
- XzDecMt_FreeOutBufs(p);
1622
-
1623
- #endif
1624
-
1625
- ISzAlloc_Free(p->alignOffsetAlloc.baseAlloc, pp);
1626
- }
1627
-
1628
-
1629
-
1630
- #ifndef _7ZIP_ST
1631
-
1632
- static void XzDecMt_Callback_Parse(void *obj, unsigned coderIndex, CMtDecCallbackInfo *cc)
1633
- {
1634
- CXzDecMt *me = (CXzDecMt *)obj;
1635
- CXzDecMtThread *coder = &me->coders[coderIndex];
1636
- size_t srcSize = cc->srcSize;
1637
-
1638
- cc->srcSize = 0;
1639
- cc->outPos = 0;
1640
- cc->state = MTDEC_PARSE_CONTINUE;
1641
-
1642
- cc->canCreateNewThread = True;
1643
-
1644
- if (cc->startCall)
1645
- {
1646
- coder->outPreSize = 0;
1647
- coder->inPreSize = 0;
1648
- coder->inPreHeaderSize = 0;
1649
- coder->parseState = MTDEC_PARSE_CONTINUE;
1650
- coder->parsing_Truncated = False;
1651
- coder->skipMode = False;
1652
- coder->codeRes = SZ_OK;
1653
- coder->status = CODER_STATUS_NOT_SPECIFIED;
1654
- coder->inCodeSize = 0;
1655
- coder->outCodeSize = 0;
1656
-
1657
- coder->numStreams = me->numStreams;
1658
- coder->numTotalBlocks = me->numTotalBlocks;
1659
- coder->numBlocks = me->numBlocks;
1660
-
1661
- if (!coder->dec_created)
1662
- {
1663
- XzUnpacker_Construct(&coder->dec, &me->alignOffsetAlloc.vt);
1664
- coder->dec_created = True;
1665
- }
1666
-
1667
- XzUnpacker_Init(&coder->dec);
1668
-
1669
- if (me->isBlockHeaderState_Parse)
1670
- {
1671
- coder->dec.streamFlags = me->streamFlags;
1672
- coder->atBlockHeader = True;
1673
- XzUnpacker_PrepareToRandomBlockDecoding(&coder->dec);
1674
- }
1675
- else
1676
- {
1677
- coder->atBlockHeader = False;
1678
- me->isBlockHeaderState_Parse = True;
1679
- }
1680
-
1681
- coder->dec.numStartedStreams = me->numStreams;
1682
- coder->dec.numTotalBlocks = me->numTotalBlocks;
1683
- coder->dec.numBlocks = me->numBlocks;
1684
- }
1685
-
1686
- while (!coder->skipMode)
1687
- {
1688
- ECoderStatus status;
1689
- SRes res;
1690
- size_t srcSize2 = srcSize;
1691
- size_t destSize = (size_t)0 - 1;
1692
-
1693
- coder->dec.parseMode = True;
1694
- coder->dec.headerParsedOk = False;
1695
-
1696
- PRF_STR_INT("Parse", srcSize2);
1697
-
1698
- res = XzUnpacker_Code(&coder->dec,
1699
- NULL, &destSize,
1700
- cc->src, &srcSize2, cc->srcFinished,
1701
- CODER_FINISH_END, &status);
1702
-
1703
- // PRF(printf(" res = %d, srcSize2 = %d", res, (unsigned)srcSize2));
1704
-
1705
- coder->codeRes = res;
1706
- coder->status = status;
1707
- cc->srcSize += srcSize2;
1708
- srcSize -= srcSize2;
1709
- coder->inPreHeaderSize += srcSize2;
1710
- coder->inPreSize = coder->inPreHeaderSize;
1711
-
1712
- if (res != SZ_OK)
1713
- {
1714
- cc->state =
1715
- coder->parseState = MTDEC_PARSE_END;
1716
- /*
1717
- if (res == SZ_ERROR_MEM)
1718
- return res;
1719
- return SZ_OK;
1720
- */
1721
- return; // res;
1722
- }
1723
-
1724
- if (coder->dec.headerParsedOk)
1725
- {
1726
- const CXzBlock *block = &coder->dec.block;
1727
- if (XzBlock_HasUnpackSize(block)
1728
- // && block->unpackSize <= me->props.outBlockMax
1729
- && XzBlock_HasPackSize(block))
1730
- {
1731
- {
1732
- if (block->unpackSize * 2 * me->mtc.numStartedThreads > me->props.memUseMax)
1733
- {
1734
- cc->state = MTDEC_PARSE_OVERFLOW;
1735
- return; // SZ_OK;
1736
- }
1737
- }
1738
- {
1739
- UInt64 packSize = block->packSize;
1740
- UInt64 packSizeAligned = packSize + ((0 - (unsigned)packSize) & 3);
1741
- UInt32 checkSize = XzFlags_GetCheckSize(coder->dec.streamFlags);
1742
- UInt64 blockPackSum = coder->inPreSize + packSizeAligned + checkSize;
1743
- // if (blockPackSum <= me->props.inBlockMax)
1744
- // unpackBlockMaxSize
1745
- {
1746
- coder->blockPackSize_for_Index = (size_t)(coder->dec.blockHeaderSize + packSize + checkSize);
1747
- coder->blockPackTotal = (size_t)blockPackSum;
1748
- coder->outPreSize = (size_t)block->unpackSize;
1749
- coder->streamFlags = coder->dec.streamFlags;
1750
- me->streamFlags = coder->dec.streamFlags;
1751
- coder->skipMode = True;
1752
- break;
1753
- }
1754
- }
1755
- }
1756
- }
1757
- else
1758
- // if (coder->inPreSize <= me->props.inBlockMax)
1759
- {
1760
- if (!cc->srcFinished)
1761
- return; // SZ_OK;
1762
- cc->state =
1763
- coder->parseState = MTDEC_PARSE_END;
1764
- return; // SZ_OK;
1765
- }
1766
- cc->state = MTDEC_PARSE_OVERFLOW;
1767
- return; // SZ_OK;
1768
- }
1769
-
1770
- // ---------- skipMode ----------
1771
- {
1772
- UInt64 rem = coder->blockPackTotal - coder->inPreSize;
1773
- size_t cur = srcSize;
1774
- if (cur > rem)
1775
- cur = (size_t)rem;
1776
- cc->srcSize += cur;
1777
- coder->inPreSize += cur;
1778
- srcSize -= cur;
1779
-
1780
- if (coder->inPreSize == coder->blockPackTotal)
1781
- {
1782
- if (srcSize == 0)
1783
- {
1784
- if (!cc->srcFinished)
1785
- return; // SZ_OK;
1786
- cc->state = MTDEC_PARSE_END;
1787
- }
1788
- else if ((cc->src)[cc->srcSize] == 0) // we check control byte of next block
1789
- cc->state = MTDEC_PARSE_END;
1790
- else
1791
- {
1792
- cc->state = MTDEC_PARSE_NEW;
1793
-
1794
- {
1795
- size_t blockMax = me->unpackBlockMaxSize;
1796
- if (blockMax < coder->outPreSize)
1797
- blockMax = coder->outPreSize;
1798
- {
1799
- UInt64 required = (UInt64)blockMax * (me->mtc.numStartedThreads + 1) * 2;
1800
- if (me->props.memUseMax < required)
1801
- cc->canCreateNewThread = False;
1802
- }
1803
- }
1804
-
1805
- if (me->outSize_Defined)
1806
- {
1807
- // next block can be zero size
1808
- const UInt64 rem2 = me->outSize - me->outProcessed_Parse;
1809
- if (rem2 < coder->outPreSize)
1810
- {
1811
- coder->parsing_Truncated = True;
1812
- cc->state = MTDEC_PARSE_END;
1813
- }
1814
- me->outProcessed_Parse += coder->outPreSize;
1815
- }
1816
- }
1817
- }
1818
- else if (cc->srcFinished)
1819
- cc->state = MTDEC_PARSE_END;
1820
- else
1821
- return; // SZ_OK;
1822
-
1823
- coder->parseState = cc->state;
1824
- cc->outPos = coder->outPreSize;
1825
-
1826
- me->numStreams = coder->dec.numStartedStreams;
1827
- me->numTotalBlocks = coder->dec.numTotalBlocks;
1828
- me->numBlocks = coder->dec.numBlocks + 1;
1829
- return; // SZ_OK;
1830
- }
1831
- }
1832
-
1833
-
1834
- static SRes XzDecMt_Callback_PreCode(void *pp, unsigned coderIndex)
1835
- {
1836
- CXzDecMt *me = (CXzDecMt *)pp;
1837
- CXzDecMtThread *coder = &me->coders[coderIndex];
1838
- Byte *dest;
1839
-
1840
- if (!coder->dec.headerParsedOk)
1841
- return SZ_OK;
1842
-
1843
- dest = coder->outBuf;
1844
-
1845
- if (!dest || coder->outBufSize < coder->outPreSize)
1846
- {
1847
- if (dest)
1848
- {
1849
- ISzAlloc_Free(me->allocMid, dest);
1850
- coder->outBuf = NULL;
1851
- coder->outBufSize = 0;
1852
- }
1853
- {
1854
- size_t outPreSize = coder->outPreSize;
1855
- if (outPreSize == 0)
1856
- outPreSize = 1;
1857
- dest = (Byte *)ISzAlloc_Alloc(me->allocMid, outPreSize);
1858
- }
1859
- if (!dest)
1860
- return SZ_ERROR_MEM;
1861
- coder->outBuf = dest;
1862
- coder->outBufSize = coder->outPreSize;
1863
-
1864
- if (coder->outBufSize > me->unpackBlockMaxSize)
1865
- me->unpackBlockMaxSize = coder->outBufSize;
1866
- }
1867
-
1868
- // return SZ_ERROR_MEM;
1869
-
1870
- XzUnpacker_SetOutBuf(&coder->dec, coder->outBuf, coder->outBufSize);
1871
-
1872
- {
1873
- SRes res = XzDecMix_Init(&coder->dec.decoder, &coder->dec.block, coder->outBuf, coder->outBufSize);
1874
- // res = SZ_ERROR_UNSUPPORTED; // to test
1875
- coder->codeRes = res;
1876
- if (res != SZ_OK)
1877
- {
1878
- // if (res == SZ_ERROR_MEM) return res;
1879
- if (me->props.ignoreErrors && res != SZ_ERROR_MEM)
1880
- return S_OK;
1881
- return res;
1882
- }
1883
- }
1884
-
1885
- return SZ_OK;
1886
- }
1887
-
1888
-
1889
- static SRes XzDecMt_Callback_Code(void *pp, unsigned coderIndex,
1890
- const Byte *src, size_t srcSize, int srcFinished,
1891
- // int finished, int blockFinished,
1892
- UInt64 *inCodePos, UInt64 *outCodePos, int *stop)
1893
- {
1894
- CXzDecMt *me = (CXzDecMt *)pp;
1895
- CXzDecMtThread *coder = &me->coders[coderIndex];
1896
-
1897
- *inCodePos = coder->inCodeSize;
1898
- *outCodePos = coder->outCodeSize;
1899
- *stop = True;
1900
-
1901
- if (coder->inCodeSize < coder->inPreHeaderSize)
1902
- {
1903
- UInt64 rem = coder->inPreHeaderSize - coder->inCodeSize;
1904
- size_t step = srcSize;
1905
- if (step > rem)
1906
- step = (size_t)rem;
1907
- src += step;
1908
- srcSize -= step;
1909
- coder->inCodeSize += step;
1910
- if (coder->inCodeSize < coder->inPreHeaderSize)
1911
- {
1912
- *stop = False;
1913
- return SZ_OK;
1914
- }
1915
- }
1916
-
1917
- if (!coder->dec.headerParsedOk)
1918
- return SZ_OK;
1919
- if (!coder->outBuf)
1920
- return SZ_OK;
1921
-
1922
- if (coder->codeRes == SZ_OK)
1923
- {
1924
- ECoderStatus status;
1925
- SRes res;
1926
- size_t srcProcessed = srcSize;
1927
- size_t outSizeCur = coder->outPreSize - coder->dec.outDataWritten;
1928
-
1929
- // PRF(printf("\nCallback_Code: Code %d %d\n", (unsigned)srcSize, (unsigned)outSizeCur));
1930
-
1931
- res = XzUnpacker_Code(&coder->dec,
1932
- NULL, &outSizeCur,
1933
- src, &srcProcessed, srcFinished,
1934
- // coder->finishedWithMark ? CODER_FINISH_END : CODER_FINISH_ANY,
1935
- CODER_FINISH_END,
1936
- &status);
1937
-
1938
- // PRF(printf(" res = %d, srcSize2 = %d, outSizeCur = %d", res, (unsigned)srcProcessed, (unsigned)outSizeCur));
1939
-
1940
- coder->codeRes = res;
1941
- coder->status = status;
1942
- coder->inCodeSize += srcProcessed;
1943
- coder->outCodeSize = coder->dec.outDataWritten;
1944
- *inCodePos = coder->inCodeSize;
1945
- *outCodePos = coder->outCodeSize;
1946
-
1947
- if (res == SZ_OK)
1948
- {
1949
- if (srcProcessed == srcSize)
1950
- *stop = False;
1951
- return SZ_OK;
1952
- }
1953
- }
1954
-
1955
- if (me->props.ignoreErrors && coder->codeRes != SZ_ERROR_MEM)
1956
- {
1957
- *inCodePos = coder->inPreSize;
1958
- *outCodePos = coder->outPreSize;
1959
- return S_OK;
1960
- }
1961
- return coder->codeRes;
1962
- }
1963
-
1964
-
1965
- #define XZDECMT_STREAM_WRITE_STEP (1 << 24)
1966
-
1967
- static SRes XzDecMt_Callback_Write(void *pp, unsigned coderIndex,
1968
- BoolInt needWriteToStream,
1969
- const Byte *src, size_t srcSize,
1970
- // int srcFinished,
1971
- BoolInt *needContinue,
1972
- BoolInt *canRecode)
1973
- {
1974
- CXzDecMt *me = (CXzDecMt *)pp;
1975
- const CXzDecMtThread *coder = &me->coders[coderIndex];
1976
-
1977
- // PRF(printf("\nWrite processed = %d srcSize = %d\n", (unsigned)me->mtc.inProcessed, (unsigned)srcSize));
1978
-
1979
- *needContinue = False;
1980
- *canRecode = True;
1981
-
1982
- if (!needWriteToStream)
1983
- return SZ_OK;
1984
-
1985
- if (!coder->dec.headerParsedOk || !coder->outBuf)
1986
- {
1987
- if (me->finishedDecoderIndex < 0)
1988
- me->finishedDecoderIndex = coderIndex;
1989
- return SZ_OK;
1990
- }
1991
-
1992
- if (me->finishedDecoderIndex >= 0)
1993
- return SZ_OK;
1994
-
1995
- me->mtc.inProcessed += coder->inCodeSize;
1996
-
1997
- *canRecode = False;
1998
-
1999
- {
2000
- SRes res;
2001
- size_t size = coder->outCodeSize;
2002
- Byte *data = coder->outBuf;
2003
-
2004
- // we use in me->dec: sha, numBlocks, indexSize
2005
-
2006
- if (!me->isBlockHeaderState_Write)
2007
- {
2008
- XzUnpacker_PrepareToRandomBlockDecoding(&me->dec);
2009
- me->dec.decodeOnlyOneBlock = False;
2010
- me->dec.numStartedStreams = coder->dec.numStartedStreams;
2011
- me->dec.streamFlags = coder->streamFlags;
2012
-
2013
- me->isBlockHeaderState_Write = True;
2014
- }
2015
-
2016
- me->dec.numTotalBlocks = coder->dec.numTotalBlocks;
2017
- XzUnpacker_UpdateIndex(&me->dec, coder->blockPackSize_for_Index, coder->outPreSize);
2018
-
2019
- if (coder->outPreSize != size)
2020
- {
2021
- if (me->props.ignoreErrors)
2022
- {
2023
- memset(data + size, 0, coder->outPreSize - size);
2024
- size = coder->outPreSize;
2025
- }
2026
- // me->numBadBlocks++;
2027
- if (me->mainErrorCode == SZ_OK)
2028
- {
2029
- if ((int)coder->status == LZMA_STATUS_NEEDS_MORE_INPUT)
2030
- me->mainErrorCode = SZ_ERROR_INPUT_EOF;
2031
- else
2032
- me->mainErrorCode = SZ_ERROR_DATA;
2033
- }
2034
- }
2035
-
2036
- if (me->writeRes != SZ_OK)
2037
- return me->writeRes;
2038
-
2039
- res = SZ_OK;
2040
- {
2041
- if (me->outSize_Defined)
2042
- {
2043
- const UInt64 rem = me->outSize - me->outProcessed;
2044
- if (size > rem)
2045
- size = (SizeT)rem;
2046
- }
2047
-
2048
- for (;;)
2049
- {
2050
- size_t cur = size;
2051
- size_t written;
2052
- if (cur > XZDECMT_STREAM_WRITE_STEP)
2053
- cur = XZDECMT_STREAM_WRITE_STEP;
2054
-
2055
- written = ISeqOutStream_Write(me->outStream, data, cur);
2056
-
2057
- // PRF(printf("\nWritten ask = %d written = %d\n", (unsigned)cur, (unsigned)written));
2058
-
2059
- me->outProcessed += written;
2060
- if (written != cur)
2061
- {
2062
- me->writeRes = SZ_ERROR_WRITE;
2063
- res = me->writeRes;
2064
- break;
2065
- }
2066
- data += cur;
2067
- size -= cur;
2068
- // PRF_STR_INT("Written size =", size);
2069
- if (size == 0)
2070
- break;
2071
- res = MtProgress_ProgressAdd(&me->mtc.mtProgress, 0, 0);
2072
- if (res != SZ_OK)
2073
- break;
2074
- }
2075
- }
2076
-
2077
- if (coder->codeRes != SZ_OK)
2078
- if (!me->props.ignoreErrors)
2079
- {
2080
- me->finishedDecoderIndex = coderIndex;
2081
- return res;
2082
- }
2083
-
2084
- RINOK(res);
2085
-
2086
- if (coder->inPreSize != coder->inCodeSize
2087
- || coder->blockPackTotal != coder->inCodeSize)
2088
- {
2089
- me->finishedDecoderIndex = coderIndex;
2090
- return SZ_OK;
2091
- }
2092
-
2093
- if (coder->parseState != MTDEC_PARSE_END)
2094
- {
2095
- *needContinue = True;
2096
- return SZ_OK;
2097
- }
2098
- }
2099
-
2100
- // (coder->state == MTDEC_PARSE_END) means that there are no other working threads
2101
- // so we can use mtc variables without lock
2102
-
2103
- PRF_STR_INT("Write MTDEC_PARSE_END", me->mtc.inProcessed);
2104
-
2105
- me->mtc.mtProgress.totalInSize = me->mtc.inProcessed;
2106
- {
2107
- CXzUnpacker *dec = &me->dec;
2108
-
2109
- PRF_STR_INT("PostSingle", srcSize);
2110
-
2111
- {
2112
- size_t srcProcessed = srcSize;
2113
- ECoderStatus status;
2114
- size_t outSizeCur = 0;
2115
- SRes res;
2116
-
2117
- // dec->decodeOnlyOneBlock = False;
2118
- dec->decodeToStreamSignature = True;
2119
-
2120
- me->mainDecoderWasCalled = True;
2121
-
2122
- if (coder->parsing_Truncated)
2123
- {
2124
- me->parsing_Truncated = True;
2125
- return SZ_OK;
2126
- }
2127
-
2128
- res = XzUnpacker_Code(dec,
2129
- NULL, &outSizeCur,
2130
- src, &srcProcessed,
2131
- me->mtc.readWasFinished, // srcFinished
2132
- CODER_FINISH_END, // CODER_FINISH_ANY,
2133
- &status);
2134
-
2135
- me->status = status;
2136
- me->codeRes = res;
2137
-
2138
- me->mtc.inProcessed += srcProcessed;
2139
- me->mtc.mtProgress.totalInSize = me->mtc.inProcessed;
2140
-
2141
- if (res != SZ_OK)
2142
- {
2143
- return S_OK;
2144
- // return res;
2145
- }
2146
-
2147
- if (dec->state == XZ_STATE_STREAM_HEADER)
2148
- {
2149
- *needContinue = True;
2150
- me->isBlockHeaderState_Parse = False;
2151
- me->isBlockHeaderState_Write = False;
2152
- {
2153
- Byte *crossBuf = MtDec_GetCrossBuff(&me->mtc);
2154
- if (!crossBuf)
2155
- return SZ_ERROR_MEM;
2156
- memcpy(crossBuf, src + srcProcessed, srcSize - srcProcessed);
2157
- }
2158
- me->mtc.crossStart = 0;
2159
- me->mtc.crossEnd = srcSize - srcProcessed;
2160
- return SZ_OK;
2161
- }
2162
-
2163
- if (status != CODER_STATUS_NEEDS_MORE_INPUT)
2164
- {
2165
- return E_FAIL;
2166
- }
2167
-
2168
- if (me->mtc.readWasFinished)
2169
- {
2170
- return SZ_OK;
2171
- }
2172
- }
2173
-
2174
- {
2175
- size_t inPos;
2176
- size_t inLim;
2177
- const Byte *inData;
2178
- UInt64 inProgressPrev = me->mtc.inProcessed;
2179
-
2180
- // XzDecMt_Prepare_InBuf_ST(p);
2181
- Byte *crossBuf = MtDec_GetCrossBuff(&me->mtc);
2182
- if (!crossBuf)
2183
- return SZ_ERROR_MEM;
2184
-
2185
- inPos = 0;
2186
- inLim = 0;
2187
- // outProcessed = 0;
2188
-
2189
- inData = crossBuf;
2190
-
2191
- for (;;)
2192
- {
2193
- SizeT inProcessed;
2194
- SizeT outProcessed;
2195
- ECoderStatus status;
2196
- SRes res;
2197
-
2198
- if (inPos == inLim)
2199
- {
2200
- if (!me->mtc.readWasFinished)
2201
- {
2202
- inPos = 0;
2203
- inLim = me->mtc.inBufSize;
2204
- me->mtc.readRes = ISeqInStream_Read(me->inStream, (void *)inData, &inLim);
2205
- me->mtc.readProcessed += inLim;
2206
- if (inLim == 0 || me->mtc.readRes != SZ_OK)
2207
- me->mtc.readWasFinished = True;
2208
- }
2209
- }
2210
-
2211
- inProcessed = inLim - inPos;
2212
- outProcessed = 0;
2213
-
2214
- res = XzUnpacker_Code(dec,
2215
- NULL, &outProcessed,
2216
- inData + inPos, &inProcessed,
2217
- (inProcessed == 0), // srcFinished
2218
- CODER_FINISH_END, &status);
2219
-
2220
- me->codeRes = res;
2221
- me->status = status;
2222
- inPos += inProcessed;
2223
- me->mtc.inProcessed += inProcessed;
2224
- me->mtc.mtProgress.totalInSize = me->mtc.inProcessed;
2225
-
2226
- if (res != SZ_OK)
2227
- {
2228
- return S_OK;
2229
- // return res;
2230
- }
2231
-
2232
- if (dec->state == XZ_STATE_STREAM_HEADER)
2233
- {
2234
- *needContinue = True;
2235
- me->mtc.crossStart = inPos;
2236
- me->mtc.crossEnd = inLim;
2237
- me->isBlockHeaderState_Parse = False;
2238
- me->isBlockHeaderState_Write = False;
2239
- return SZ_OK;
2240
- }
2241
-
2242
- if (status != CODER_STATUS_NEEDS_MORE_INPUT)
2243
- return E_FAIL;
2244
-
2245
- if (me->mtc.progress)
2246
- {
2247
- UInt64 inDelta = me->mtc.inProcessed - inProgressPrev;
2248
- if (inDelta >= (1 << 22))
2249
- {
2250
- RINOK(MtProgress_Progress_ST(&me->mtc.mtProgress));
2251
- inProgressPrev = me->mtc.inProcessed;
2252
- }
2253
- }
2254
- if (me->mtc.readWasFinished)
2255
- return SZ_OK;
2256
- }
2257
- }
2258
- }
2259
- }
2260
-
2261
-
2262
- #endif
2263
-
2264
-
2265
-
2266
- void XzStatInfo_Clear(CXzStatInfo *p)
2267
- {
2268
- p->InSize = 0;
2269
- p->OutSize = 0;
2270
-
2271
- p->NumStreams = 0;
2272
- p->NumBlocks = 0;
2273
-
2274
- p->UnpackSize_Defined = False;
2275
-
2276
- p->NumStreams_Defined = False;
2277
- p->NumBlocks_Defined = False;
2278
-
2279
- // p->IsArc = False;
2280
- // p->UnexpectedEnd = False;
2281
- // p->Unsupported = False;
2282
- // p->HeadersError = False;
2283
- // p->DataError = False;
2284
- // p->CrcError = False;
2285
-
2286
- p->DataAfterEnd = False;
2287
- p->DecodingTruncated = False;
2288
-
2289
- p->DecodeRes = SZ_OK;
2290
- p->ReadRes = SZ_OK;
2291
- p->ProgressRes = SZ_OK;
2292
-
2293
- p->CombinedRes = SZ_OK;
2294
- p->CombinedRes_Type = SZ_OK;
2295
- }
2296
-
2297
-
2298
-
2299
-
2300
- static SRes XzDecMt_Decode_ST(CXzDecMt *p
2301
- #ifndef _7ZIP_ST
2302
- , BoolInt tMode
2303
- #endif
2304
- , CXzStatInfo *stat)
2305
- {
2306
- size_t outPos;
2307
- size_t inPos, inLim;
2308
- const Byte *inData;
2309
- UInt64 inPrev, outPrev;
2310
-
2311
- CXzUnpacker *dec;
2312
-
2313
- #ifndef _7ZIP_ST
2314
- if (tMode)
2315
- {
2316
- XzDecMt_FreeOutBufs(p);
2317
- tMode = MtDec_PrepareRead(&p->mtc);
2318
- }
2319
- #endif
2320
-
2321
- if (!p->outBuf || p->outBufSize != p->props.outStep_ST)
2322
- {
2323
- ISzAlloc_Free(p->allocMid, p->outBuf);
2324
- p->outBufSize = 0;
2325
- p->outBuf = (Byte *)ISzAlloc_Alloc(p->allocMid, p->props.outStep_ST);
2326
- if (!p->outBuf)
2327
- return SZ_ERROR_MEM;
2328
- p->outBufSize = p->props.outStep_ST;
2329
- }
2330
-
2331
- if (!p->inBuf || p->inBufSize != p->props.inBufSize_ST)
2332
- {
2333
- ISzAlloc_Free(p->allocMid, p->inBuf);
2334
- p->inBufSize = 0;
2335
- p->inBuf = (Byte *)ISzAlloc_Alloc(p->allocMid, p->props.inBufSize_ST);
2336
- if (!p->inBuf)
2337
- return SZ_ERROR_MEM;
2338
- p->inBufSize = p->props.inBufSize_ST;
2339
- }
2340
-
2341
- dec = &p->dec;
2342
- dec->decodeToStreamSignature = False;
2343
- // dec->decodeOnlyOneBlock = False;
2344
-
2345
- XzUnpacker_SetOutBuf(dec, NULL, 0);
2346
-
2347
- inPrev = p->inProcessed;
2348
- outPrev = p->outProcessed;
2349
-
2350
- inPos = 0;
2351
- inLim = 0;
2352
- inData = NULL;
2353
- outPos = 0;
2354
-
2355
- for (;;)
2356
- {
2357
- SizeT outSize;
2358
- BoolInt finished;
2359
- ECoderFinishMode finishMode;
2360
- SizeT inProcessed;
2361
- ECoderStatus status;
2362
- SRes res;
2363
-
2364
- SizeT outProcessed;
2365
-
2366
-
2367
-
2368
- if (inPos == inLim)
2369
- {
2370
- #ifndef _7ZIP_ST
2371
- if (tMode)
2372
- {
2373
- inData = MtDec_Read(&p->mtc, &inLim);
2374
- inPos = 0;
2375
- if (inData)
2376
- continue;
2377
- tMode = False;
2378
- inLim = 0;
2379
- }
2380
- #endif
2381
-
2382
- if (!p->readWasFinished)
2383
- {
2384
- inPos = 0;
2385
- inLim = p->inBufSize;
2386
- inData = p->inBuf;
2387
- p->readRes = ISeqInStream_Read(p->inStream, (void *)inData, &inLim);
2388
- p->readProcessed += inLim;
2389
- if (inLim == 0 || p->readRes != SZ_OK)
2390
- p->readWasFinished = True;
2391
- }
2392
- }
2393
-
2394
- outSize = p->props.outStep_ST - outPos;
2395
-
2396
- finishMode = CODER_FINISH_ANY;
2397
- if (p->outSize_Defined)
2398
- {
2399
- const UInt64 rem = p->outSize - p->outProcessed;
2400
- if (outSize >= rem)
2401
- {
2402
- outSize = (SizeT)rem;
2403
- if (p->finishMode)
2404
- finishMode = CODER_FINISH_END;
2405
- }
2406
- }
2407
-
2408
- inProcessed = inLim - inPos;
2409
- outProcessed = outSize;
2410
-
2411
- res = XzUnpacker_Code(dec, p->outBuf + outPos, &outProcessed,
2412
- inData + inPos, &inProcessed,
2413
- (inPos == inLim), // srcFinished
2414
- finishMode, &status);
2415
-
2416
- p->codeRes = res;
2417
- p->status = status;
2418
-
2419
- inPos += inProcessed;
2420
- outPos += outProcessed;
2421
- p->inProcessed += inProcessed;
2422
- p->outProcessed += outProcessed;
2423
-
2424
- finished = ((inProcessed == 0 && outProcessed == 0) || res != SZ_OK);
2425
-
2426
- if (finished || outProcessed >= outSize)
2427
- if (outPos != 0)
2428
- {
2429
- size_t written = ISeqOutStream_Write(p->outStream, p->outBuf, outPos);
2430
- p->outProcessed += written;
2431
- if (written != outPos)
2432
- {
2433
- stat->CombinedRes_Type = SZ_ERROR_WRITE;
2434
- return SZ_ERROR_WRITE;
2435
- }
2436
- outPos = 0;
2437
- }
2438
-
2439
- if (p->progress && res == SZ_OK)
2440
- {
2441
- UInt64 inDelta = p->inProcessed - inPrev;
2442
- UInt64 outDelta = p->outProcessed - outPrev;
2443
- if (inDelta >= (1 << 22) || outDelta >= (1 << 22))
2444
- {
2445
- res = ICompressProgress_Progress(p->progress, p->inProcessed, p->outProcessed);
2446
- if (res != SZ_OK)
2447
- {
2448
- stat->CombinedRes_Type = SZ_ERROR_PROGRESS;
2449
- stat->ProgressRes = res;
2450
- return res;
2451
- }
2452
- inPrev = p->inProcessed;
2453
- outPrev = p->outProcessed;
2454
- }
2455
- }
2456
-
2457
- if (finished)
2458
- return res;
2459
- }
2460
- }
2461
-
2462
- static SRes XzStatInfo_SetStat(const CXzUnpacker *dec,
2463
- int finishMode,
2464
- UInt64 readProcessed, UInt64 inProcessed,
2465
- SRes res, ECoderStatus status,
2466
- BoolInt decodingTruncated,
2467
- CXzStatInfo *stat)
2468
- {
2469
- UInt64 extraSize;
2470
-
2471
- stat->DecodingTruncated = (Byte)(decodingTruncated ? 1 : 0);
2472
- stat->InSize = inProcessed;
2473
- stat->NumStreams = dec->numStartedStreams;
2474
- stat->NumBlocks = dec->numTotalBlocks;
2475
-
2476
- stat->UnpackSize_Defined = True;
2477
- stat->NumStreams_Defined = True;
2478
- stat->NumBlocks_Defined = True;
2479
-
2480
- extraSize = XzUnpacker_GetExtraSize(dec);
2481
-
2482
- if (res == SZ_OK)
2483
- {
2484
- if (status == CODER_STATUS_NEEDS_MORE_INPUT)
2485
- {
2486
- // CODER_STATUS_NEEDS_MORE_INPUT is expected status for correct xz streams
2487
- extraSize = 0;
2488
- if (!XzUnpacker_IsStreamWasFinished(dec))
2489
- res = SZ_ERROR_INPUT_EOF;
2490
- }
2491
- else if (!decodingTruncated || finishMode) // (status == CODER_STATUS_NOT_FINISHED)
2492
- res = SZ_ERROR_DATA;
2493
- }
2494
- else if (res == SZ_ERROR_NO_ARCHIVE)
2495
- {
2496
- /*
2497
- SZ_ERROR_NO_ARCHIVE is possible for 2 states:
2498
- XZ_STATE_STREAM_HEADER - if bad signature or bad CRC
2499
- XZ_STATE_STREAM_PADDING - if non-zero padding data
2500
- extraSize / inProcessed don't include "bad" byte
2501
- */
2502
- if (inProcessed != extraSize) // if good streams before error
2503
- if (extraSize != 0 || readProcessed != inProcessed)
2504
- {
2505
- stat->DataAfterEnd = True;
2506
- // there is some good xz stream before. So we set SZ_OK
2507
- res = SZ_OK;
2508
- }
2509
- }
2510
-
2511
- stat->DecodeRes = res;
2512
-
2513
- stat->InSize -= extraSize;
2514
- return res;
2515
- }
2516
-
2517
-
2518
- SRes XzDecMt_Decode(CXzDecMtHandle pp,
2519
- const CXzDecMtProps *props,
2520
- const UInt64 *outDataSize, int finishMode,
2521
- ISeqOutStream *outStream,
2522
- // Byte *outBuf, size_t *outBufSize,
2523
- ISeqInStream *inStream,
2524
- // const Byte *inData, size_t inDataSize,
2525
- CXzStatInfo *stat,
2526
- int *isMT,
2527
- ICompressProgress *progress)
2528
- {
2529
- CXzDecMt *p = (CXzDecMt *)pp;
2530
- #ifndef _7ZIP_ST
2531
- BoolInt tMode;
2532
- #endif
2533
-
2534
- XzStatInfo_Clear(stat);
2535
-
2536
- p->props = *props;
2537
-
2538
- p->inStream = inStream;
2539
- p->outStream = outStream;
2540
- p->progress = progress;
2541
- // p->stat = stat;
2542
-
2543
- p->outSize = 0;
2544
- p->outSize_Defined = False;
2545
- if (outDataSize)
2546
- {
2547
- p->outSize_Defined = True;
2548
- p->outSize = *outDataSize;
2549
- }
2550
-
2551
- p->finishMode = finishMode;
2552
-
2553
- // p->outSize = 457; p->outSize_Defined = True; p->finishMode = False; // for test
2554
-
2555
- p->writeRes = SZ_OK;
2556
- p->outProcessed = 0;
2557
- p->inProcessed = 0;
2558
- p->readProcessed = 0;
2559
- p->readWasFinished = False;
2560
-
2561
- p->codeRes = 0;
2562
- p->status = CODER_STATUS_NOT_SPECIFIED;
2563
-
2564
- XzUnpacker_Init(&p->dec);
2565
-
2566
- *isMT = False;
2567
-
2568
- /*
2569
- p->outBuf = NULL;
2570
- p->outBufSize = 0;
2571
- if (!outStream)
2572
- {
2573
- p->outBuf = outBuf;
2574
- p->outBufSize = *outBufSize;
2575
- *outBufSize = 0;
2576
- }
2577
- */
2578
-
2579
-
2580
- #ifndef _7ZIP_ST
2581
-
2582
- p->isBlockHeaderState_Parse = False;
2583
- p->isBlockHeaderState_Write = False;
2584
- // p->numBadBlocks = 0;
2585
- p->mainErrorCode = SZ_OK;
2586
- p->mainDecoderWasCalled = False;
2587
-
2588
- tMode = False;
2589
-
2590
- if (p->props.numThreads > 1)
2591
- {
2592
- IMtDecCallback vt;
2593
-
2594
- // we just free ST buffers here
2595
- // but we still keep state variables, that was set in XzUnpacker_Init()
2596
- XzDecMt_FreeSt(p);
2597
-
2598
- p->outProcessed_Parse = 0;
2599
- p->parsing_Truncated = False;
2600
-
2601
- p->numStreams = 0;
2602
- p->numTotalBlocks = 0;
2603
- p->numBlocks = 0;
2604
- p->finishedDecoderIndex = -1;
2605
-
2606
- if (!p->mtc_WasConstructed)
2607
- {
2608
- p->mtc_WasConstructed = True;
2609
- MtDec_Construct(&p->mtc);
2610
- }
2611
-
2612
- p->mtc.mtCallback = &vt;
2613
- p->mtc.mtCallbackObject = p;
2614
-
2615
- p->mtc.progress = progress;
2616
- p->mtc.inStream = inStream;
2617
- p->mtc.alloc = &p->alignOffsetAlloc.vt;
2618
- // p->mtc.inData = inData;
2619
- // p->mtc.inDataSize = inDataSize;
2620
- p->mtc.inBufSize = p->props.inBufSize_MT;
2621
- // p->mtc.inBlockMax = p->props.inBlockMax;
2622
- p->mtc.numThreadsMax = p->props.numThreads;
2623
-
2624
- *isMT = True;
2625
-
2626
- vt.Parse = XzDecMt_Callback_Parse;
2627
- vt.PreCode = XzDecMt_Callback_PreCode;
2628
- vt.Code = XzDecMt_Callback_Code;
2629
- vt.Write = XzDecMt_Callback_Write;
2630
-
2631
- {
2632
- BoolInt needContinue;
2633
-
2634
- SRes res = MtDec_Code(&p->mtc);
2635
-
2636
- stat->InSize = p->mtc.inProcessed;
2637
-
2638
- p->inProcessed = p->mtc.inProcessed;
2639
- p->readRes = p->mtc.readRes;
2640
- p->readWasFinished = p->mtc.readWasFinished;
2641
- p->readProcessed = p->mtc.readProcessed;
2642
-
2643
- tMode = True;
2644
- needContinue = False;
2645
-
2646
- if (res == SZ_OK)
2647
- {
2648
- if (p->mtc.mtProgress.res != SZ_OK)
2649
- {
2650
- res = p->mtc.mtProgress.res;
2651
- stat->ProgressRes = res;
2652
- stat->CombinedRes_Type = SZ_ERROR_PROGRESS;
2653
- }
2654
- else
2655
- needContinue = p->mtc.needContinue;
2656
- }
2657
-
2658
- if (!needContinue)
2659
- {
2660
- SRes codeRes;
2661
- BoolInt truncated = False;
2662
- ECoderStatus status;
2663
- CXzUnpacker *dec;
2664
-
2665
- stat->OutSize = p->outProcessed;
2666
-
2667
- if (p->finishedDecoderIndex >= 0)
2668
- {
2669
- CXzDecMtThread *coder = &p->coders[(unsigned)p->finishedDecoderIndex];
2670
- codeRes = coder->codeRes;
2671
- dec = &coder->dec;
2672
- status = coder->status;
2673
- }
2674
- else if (p->mainDecoderWasCalled)
2675
- {
2676
- codeRes = p->codeRes;
2677
- dec = &p->dec;
2678
- status = p->status;
2679
- truncated = p->parsing_Truncated;
2680
- }
2681
- else
2682
- return E_FAIL;
2683
-
2684
- XzStatInfo_SetStat(dec, p->finishMode,
2685
- p->mtc.readProcessed, p->mtc.inProcessed,
2686
- codeRes, status,
2687
- truncated,
2688
- stat);
2689
-
2690
- if (res == SZ_OK)
2691
- {
2692
- if (p->writeRes != SZ_OK)
2693
- {
2694
- res = p->writeRes;
2695
- stat->CombinedRes_Type = SZ_ERROR_WRITE;
2696
- }
2697
- else if (p->mtc.readRes != SZ_OK && p->mtc.inProcessed == p->mtc.readProcessed)
2698
- {
2699
- res = p->mtc.readRes;
2700
- stat->ReadRes = res;
2701
- stat->CombinedRes_Type = SZ_ERROR_READ;
2702
- }
2703
- else if (p->mainErrorCode != SZ_OK)
2704
- {
2705
- res = p->mainErrorCode;
2706
- }
2707
- }
2708
-
2709
- stat->CombinedRes = res;
2710
- if (stat->CombinedRes_Type == SZ_OK)
2711
- stat->CombinedRes_Type = res;
2712
- return res;
2713
- }
2714
-
2715
- PRF_STR("----- decoding ST -----");
2716
- }
2717
- }
2718
-
2719
- #endif
2720
-
2721
-
2722
- *isMT = False;
2723
-
2724
- {
2725
- SRes res = XzDecMt_Decode_ST(p
2726
- #ifndef _7ZIP_ST
2727
- , tMode
2728
- #endif
2729
- , stat
2730
- );
2731
-
2732
- XzStatInfo_SetStat(&p->dec,
2733
- p->finishMode,
2734
- p->readProcessed, p->inProcessed,
2735
- p->codeRes, p->status,
2736
- False, // truncated
2737
- stat);
2738
-
2739
- if (res == SZ_OK)
2740
- {
2741
- /*
2742
- if (p->writeRes != SZ_OK)
2743
- {
2744
- res = p->writeRes;
2745
- stat->CombinedRes_Type = SZ_ERROR_WRITE;
2746
- }
2747
- else
2748
- */
2749
- if (p->readRes != SZ_OK && p->inProcessed == p->readProcessed)
2750
- {
2751
- res = p->readRes;
2752
- stat->ReadRes = res;
2753
- stat->CombinedRes_Type = SZ_ERROR_READ;
2754
- }
2755
- #ifndef _7ZIP_ST
2756
- else if (p->mainErrorCode != SZ_OK)
2757
- res = p->mainErrorCode;
2758
- #endif
2759
- }
2760
-
2761
- stat->CombinedRes = res;
2762
- if (stat->CombinedRes_Type == SZ_OK)
2763
- stat->CombinedRes_Type = res;
2764
- return res;
2765
- }
2766
- }