react-native-update 7.4.2 → 7.4.3

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 (746) hide show
  1. package/android/jni/HDiffPatch/CHANGELOG.md +153 -0
  2. package/android/jni/HDiffPatch/LICENSE +48 -0
  3. package/android/jni/HDiffPatch/Makefile +157 -0
  4. package/android/jni/HDiffPatch/README.md +307 -0
  5. package/android/jni/HDiffPatch/_atosize.h +83 -0
  6. package/android/jni/HDiffPatch/_clock_for_demo.h +47 -0
  7. package/android/jni/HDiffPatch/_dir_ignore.h +191 -0
  8. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +37 -0
  9. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +7 -0
  10. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +1 -0
  11. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +1 -0
  12. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +18 -0
  13. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +20 -0
  14. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +28 -0
  15. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +8 -0
  16. package/android/jni/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +8 -0
  17. package/android/jni/HDiffPatch/builds/codeblocks/HDiffZ.cbp +219 -0
  18. package/android/jni/HDiffPatch/builds/codeblocks/HPatchZ.cbp +156 -0
  19. package/android/jni/HDiffPatch/builds/codeblocks/unitTest.cbp +65 -0
  20. package/android/jni/HDiffPatch/builds/vc/HDiffPatch.sln +105 -0
  21. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj +237 -0
  22. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +3 -0
  23. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj +318 -0
  24. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +3 -0
  25. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj +182 -0
  26. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj.user +3 -0
  27. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +30 -0
  28. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  29. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +408 -0
  30. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +573 -0
  31. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +396 -0
  32. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +268 -0
  33. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +361 -0
  34. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +301 -0
  35. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +411 -0
  36. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +504 -0
  37. package/android/jni/HDiffPatch/checksum_plugin_demo.h +344 -0
  38. package/android/jni/HDiffPatch/compress_parallel.cpp +166 -0
  39. package/android/jni/HDiffPatch/compress_parallel.h +59 -0
  40. package/android/jni/HDiffPatch/compress_plugin_demo.h +1152 -0
  41. package/android/jni/HDiffPatch/decompress_plugin_demo.h +995 -0
  42. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +797 -0
  43. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +65 -0
  44. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +200 -0
  45. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +178 -0
  46. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +357 -0
  47. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +87 -0
  48. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +151 -0
  49. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +770 -0
  50. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +236 -0
  51. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +47 -0
  52. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +112 -0
  53. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +53 -0
  54. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_types.h +61 -0
  55. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +331 -0
  56. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +144 -0
  57. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +176 -0
  58. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +84 -0
  59. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +146 -0
  60. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +61 -0
  61. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +152 -0
  62. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +76 -0
  63. package/android/jni/HDiffPatch/file_for_patch.c +524 -0
  64. package/android/jni/HDiffPatch/file_for_patch.h +259 -0
  65. package/android/jni/HDiffPatch/hdiffz.cpp +1570 -0
  66. package/android/jni/HDiffPatch/hpatch_dir_listener.h +290 -0
  67. package/android/jni/HDiffPatch/hpatchz.c +1221 -0
  68. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +1025 -0
  69. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.h +116 -0
  70. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +72 -0
  71. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +213 -0
  72. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +63 -0
  73. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +170 -0
  74. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +86 -0
  75. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +89 -0
  76. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +13 -0
  77. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +398 -0
  78. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +194 -0
  79. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +13 -0
  80. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +204 -0
  81. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +207 -0
  82. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +815 -0
  83. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +586 -0
  84. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +381 -0
  85. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +352 -0
  86. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +137 -0
  87. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +137 -0
  88. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +70 -0
  89. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +628 -0
  90. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +87 -0
  91. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +363 -0
  92. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +139 -0
  93. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +68 -0
  94. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +115 -0
  95. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +342 -0
  96. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +94 -0
  97. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +52 -0
  98. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch.c +2292 -0
  99. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch.h +215 -0
  100. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch_private.h +165 -0
  101. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch_types.h +251 -0
  102. package/android/jni/HDiffPatch/libParallel/parallel_channel.cpp +174 -0
  103. package/android/jni/HDiffPatch/libParallel/parallel_channel.h +73 -0
  104. package/android/jni/HDiffPatch/libParallel/parallel_import.cpp +367 -0
  105. package/android/jni/HDiffPatch/libParallel/parallel_import.h +92 -0
  106. package/android/jni/HDiffPatch/test/_private_searchBestParams.cpp +301 -0
  107. package/android/jni/HDiffPatch/test/hpatchz_test.cpp +292 -0
  108. package/android/jni/HDiffPatch/test/testHashClash.cpp +436 -0
  109. package/android/jni/HDiffPatch/test/unit_test.cpp +417 -0
  110. package/android/jni/lzma/Asm/arm/7zCrcOpt.asm +100 -0
  111. package/android/jni/lzma/Asm/x86/7zAsm.asm +147 -0
  112. package/android/jni/lzma/Asm/x86/7zCrcOpt.asm +147 -0
  113. package/android/jni/lzma/Asm/x86/AesOpt.asm +237 -0
  114. package/android/jni/lzma/Asm/x86/LzmaDecOpt.asm +1258 -0
  115. package/android/jni/lzma/Asm/x86/XzCrc64Opt.asm +205 -0
  116. package/android/jni/lzma/C/7z.h +202 -0
  117. package/android/jni/lzma/C/7zAlloc.c +80 -0
  118. package/android/jni/lzma/C/7zAlloc.h +19 -0
  119. package/android/jni/lzma/C/7zArcIn.c +1771 -0
  120. package/android/jni/lzma/C/7zBuf.c +36 -0
  121. package/android/jni/lzma/C/7zBuf.h +35 -0
  122. package/android/jni/lzma/C/7zBuf2.c +52 -0
  123. package/android/jni/lzma/C/7zCrc.c +128 -0
  124. package/android/jni/lzma/C/7zCrc.h +25 -0
  125. package/android/jni/lzma/C/7zCrcOpt.c +115 -0
  126. package/android/jni/lzma/C/7zDec.c +591 -0
  127. package/android/jni/lzma/C/7zFile.c +286 -0
  128. package/android/jni/lzma/C/7zFile.h +83 -0
  129. package/android/jni/lzma/C/7zStream.c +176 -0
  130. package/android/jni/lzma/C/7zTypes.h +375 -0
  131. package/android/jni/lzma/C/7zVersion.h +27 -0
  132. package/android/jni/lzma/C/7zVersion.rc +55 -0
  133. package/android/jni/lzma/C/Aes.c +306 -0
  134. package/android/jni/lzma/C/Aes.h +38 -0
  135. package/android/jni/lzma/C/AesOpt.c +184 -0
  136. package/android/jni/lzma/C/Alloc.c +455 -0
  137. package/android/jni/lzma/C/Alloc.h +51 -0
  138. package/android/jni/lzma/C/Bcj2.c +257 -0
  139. package/android/jni/lzma/C/Bcj2.h +146 -0
  140. package/android/jni/lzma/C/Bcj2Enc.c +311 -0
  141. package/android/jni/lzma/C/Bra.c +230 -0
  142. package/android/jni/lzma/C/Bra.h +64 -0
  143. package/android/jni/lzma/C/Bra86.c +82 -0
  144. package/android/jni/lzma/C/BraIA64.c +53 -0
  145. package/android/jni/lzma/C/Compiler.h +33 -0
  146. package/android/jni/lzma/C/CpuArch.c +218 -0
  147. package/android/jni/lzma/C/CpuArch.h +336 -0
  148. package/android/jni/lzma/C/Delta.c +64 -0
  149. package/android/jni/lzma/C/Delta.h +19 -0
  150. package/android/jni/lzma/C/DllSecur.c +108 -0
  151. package/android/jni/lzma/C/DllSecur.h +20 -0
  152. package/android/jni/lzma/C/LzFind.c +1127 -0
  153. package/android/jni/lzma/C/LzFind.h +121 -0
  154. package/android/jni/lzma/C/LzFindMt.c +853 -0
  155. package/android/jni/lzma/C/LzFindMt.h +101 -0
  156. package/android/jni/lzma/C/LzHash.h +57 -0
  157. package/android/jni/lzma/C/Lzma2Dec.c +488 -0
  158. package/android/jni/lzma/C/Lzma2Dec.h +120 -0
  159. package/android/jni/lzma/C/Lzma2DecMt.c +1082 -0
  160. package/android/jni/lzma/C/Lzma2DecMt.h +79 -0
  161. package/android/jni/lzma/C/Lzma2Enc.c +803 -0
  162. package/android/jni/lzma/C/Lzma2Enc.h +55 -0
  163. package/android/jni/lzma/C/Lzma86.h +111 -0
  164. package/android/jni/lzma/C/Lzma86Dec.c +54 -0
  165. package/android/jni/lzma/C/Lzma86Enc.c +106 -0
  166. package/android/jni/lzma/C/LzmaDec.c +1185 -0
  167. package/android/jni/lzma/C/LzmaDec.h +234 -0
  168. package/android/jni/lzma/C/LzmaEnc.c +2976 -0
  169. package/android/jni/lzma/C/LzmaEnc.h +76 -0
  170. package/android/jni/lzma/C/LzmaLib.c +40 -0
  171. package/android/jni/lzma/C/LzmaLib.h +131 -0
  172. package/android/jni/lzma/C/MtCoder.c +601 -0
  173. package/android/jni/lzma/C/MtCoder.h +141 -0
  174. package/android/jni/lzma/C/MtDec.c +1138 -0
  175. package/android/jni/lzma/C/MtDec.h +201 -0
  176. package/android/jni/lzma/C/Ppmd.h +85 -0
  177. package/android/jni/lzma/C/Ppmd7.c +712 -0
  178. package/android/jni/lzma/C/Ppmd7.h +142 -0
  179. package/android/jni/lzma/C/Ppmd7Dec.c +191 -0
  180. package/android/jni/lzma/C/Ppmd7Enc.c +187 -0
  181. package/android/jni/lzma/C/Precomp.h +10 -0
  182. package/android/jni/lzma/C/RotateDefs.h +30 -0
  183. package/android/jni/lzma/C/Sha256.c +248 -0
  184. package/android/jni/lzma/C/Sha256.h +26 -0
  185. package/android/jni/lzma/C/Sort.c +141 -0
  186. package/android/jni/lzma/C/Sort.h +18 -0
  187. package/android/jni/lzma/C/Threads.c +95 -0
  188. package/android/jni/lzma/C/Threads.h +70 -0
  189. package/android/jni/lzma/C/ThreadsP.c +396 -0
  190. package/android/jni/lzma/C/ThreadsP.h +31 -0
  191. package/android/jni/lzma/C/Util/7z/7z.dsp +241 -0
  192. package/android/jni/lzma/C/Util/7z/7z.dsw +29 -0
  193. package/android/jni/lzma/C/Util/7z/7zMain.c +686 -0
  194. package/android/jni/lzma/C/Util/7z/Precomp.c +4 -0
  195. package/android/jni/lzma/C/Util/7z/Precomp.h +10 -0
  196. package/android/jni/lzma/C/Util/7z/makefile +40 -0
  197. package/android/jni/lzma/C/Util/7z/makefile.gcc +75 -0
  198. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.c +258 -0
  199. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsp +168 -0
  200. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsw +29 -0
  201. package/android/jni/lzma/C/Util/Lzma/makefile +28 -0
  202. package/android/jni/lzma/C/Util/Lzma/makefile.gcc +44 -0
  203. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.def +4 -0
  204. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsp +178 -0
  205. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsw +29 -0
  206. package/android/jni/lzma/C/Util/LzmaLib/LzmaLibExports.c +14 -0
  207. package/android/jni/lzma/C/Util/LzmaLib/makefile +34 -0
  208. package/android/jni/lzma/C/Util/LzmaLib/resource.rc +3 -0
  209. package/android/jni/lzma/C/Util/SfxSetup/Precomp.c +4 -0
  210. package/android/jni/lzma/C/Util/SfxSetup/Precomp.h +10 -0
  211. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.c +640 -0
  212. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsp +231 -0
  213. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsw +29 -0
  214. package/android/jni/lzma/C/Util/SfxSetup/makefile +37 -0
  215. package/android/jni/lzma/C/Util/SfxSetup/makefile_con +38 -0
  216. package/android/jni/lzma/C/Util/SfxSetup/resource.rc +5 -0
  217. package/android/jni/lzma/C/Util/SfxSetup/setup.ico +0 -0
  218. package/android/jni/lzma/C/Xz.c +90 -0
  219. package/android/jni/lzma/C/Xz.h +460 -0
  220. package/android/jni/lzma/C/XzCrc64.c +86 -0
  221. package/android/jni/lzma/C/XzCrc64.h +26 -0
  222. package/android/jni/lzma/C/XzCrc64Opt.c +69 -0
  223. package/android/jni/lzma/C/XzDec.c +2766 -0
  224. package/android/jni/lzma/C/XzEnc.c +1329 -0
  225. package/android/jni/lzma/C/XzEnc.h +60 -0
  226. package/android/jni/lzma/C/XzIn.c +319 -0
  227. package/android/jni/lzma/CPP/7zip/7zip.mak +240 -0
  228. package/android/jni/lzma/CPP/7zip/Aes.mak +7 -0
  229. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
  230. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +76 -0
  231. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +569 -0
  232. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.h +70 -0
  233. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +678 -0
  234. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.h +92 -0
  235. package/android/jni/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +423 -0
  236. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +139 -0
  237. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +61 -0
  238. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +763 -0
  239. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.h +181 -0
  240. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +942 -0
  241. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +19 -0
  242. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.h +148 -0
  243. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.cpp +1666 -0
  244. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.h +445 -0
  245. package/android/jni/lzma/CPP/7zip/Archive/7z/7zItem.h +202 -0
  246. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.cpp +901 -0
  247. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.h +335 -0
  248. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +174 -0
  249. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.h +22 -0
  250. package/android/jni/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +21 -0
  251. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +22 -0
  252. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +35 -0
  253. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +2500 -0
  254. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.h +139 -0
  255. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +3 -0
  256. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.h +8 -0
  257. package/android/jni/lzma/CPP/7zip/Archive/Archive.def +12 -0
  258. package/android/jni/lzma/CPP/7zip/Archive/Archive2.def +19 -0
  259. package/android/jni/lzma/CPP/7zip/Archive/ArchiveExports.cpp +151 -0
  260. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +1125 -0
  261. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +447 -0
  262. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +17 -0
  263. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +25 -0
  264. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +232 -0
  265. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.h +110 -0
  266. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +46 -0
  267. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +67 -0
  268. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +88 -0
  269. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +28 -0
  270. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +191 -0
  271. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.h +89 -0
  272. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
  273. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +37 -0
  274. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +3 -0
  275. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.h +6 -0
  276. package/android/jni/lzma/CPP/7zip/Archive/Common/StdAfx.h +8 -0
  277. package/android/jni/lzma/CPP/7zip/Archive/DllExports2.cpp +122 -0
  278. package/android/jni/lzma/CPP/7zip/Archive/IArchive.h +608 -0
  279. package/android/jni/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  280. package/android/jni/lzma/CPP/7zip/Archive/LzmaHandler.cpp +629 -0
  281. package/android/jni/lzma/CPP/7zip/Archive/SplitHandler.cpp +359 -0
  282. package/android/jni/lzma/CPP/7zip/Archive/StdAfx.h +8 -0
  283. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.cpp +1308 -0
  284. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.h +11 -0
  285. package/android/jni/lzma/CPP/7zip/Asm.mak +9 -0
  286. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +1910 -0
  287. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +29 -0
  288. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +3 -0
  289. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +8 -0
  290. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/makefile +154 -0
  291. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +7 -0
  292. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +3 -0
  293. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +8 -0
  294. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +96 -0
  295. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +5 -0
  296. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +3 -0
  297. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +8 -0
  298. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/makefile +116 -0
  299. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +5 -0
  300. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +799 -0
  301. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +477 -0
  302. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +29 -0
  303. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +3 -0
  304. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +8 -0
  305. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile +59 -0
  306. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +195 -0
  307. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +3 -0
  308. package/android/jni/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +715 -0
  309. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  310. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +912 -0
  311. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +29 -0
  312. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +482 -0
  313. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +3 -0
  314. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +8 -0
  315. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/makefile +134 -0
  316. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +5 -0
  317. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +246 -0
  318. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +86 -0
  319. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +137 -0
  320. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +11 -0
  321. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +803 -0
  322. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +29 -0
  323. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +364 -0
  324. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +3 -0
  325. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +13 -0
  326. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/makefile +117 -0
  327. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +6 -0
  328. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +16 -0
  329. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  330. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  331. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +988 -0
  332. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +29 -0
  333. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +241 -0
  334. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +3 -0
  335. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +14 -0
  336. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/makefile +153 -0
  337. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.h +1 -0
  338. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +50 -0
  339. package/android/jni/lzma/CPP/7zip/Common/CWrappers.cpp +250 -0
  340. package/android/jni/lzma/CPP/7zip/Common/CWrappers.h +120 -0
  341. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.cpp +536 -0
  342. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.h +192 -0
  343. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +46 -0
  344. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.h +10 -0
  345. package/android/jni/lzma/CPP/7zip/Common/FileStreams.cpp +475 -0
  346. package/android/jni/lzma/CPP/7zip/Common/FileStreams.h +166 -0
  347. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.cpp +435 -0
  348. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.h +205 -0
  349. package/android/jni/lzma/CPP/7zip/Common/InBuffer.cpp +163 -0
  350. package/android/jni/lzma/CPP/7zip/Common/InBuffer.h +92 -0
  351. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +127 -0
  352. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.h +48 -0
  353. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.cpp +367 -0
  354. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.h +252 -0
  355. package/android/jni/lzma/CPP/7zip/Common/LockedStream.cpp +3 -0
  356. package/android/jni/lzma/CPP/7zip/Common/LockedStream.h +6 -0
  357. package/android/jni/lzma/CPP/7zip/Common/MethodId.cpp +3 -0
  358. package/android/jni/lzma/CPP/7zip/Common/MethodId.h +10 -0
  359. package/android/jni/lzma/CPP/7zip/Common/MethodProps.cpp +509 -0
  360. package/android/jni/lzma/CPP/7zip/Common/MethodProps.h +264 -0
  361. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.cpp +39 -0
  362. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.h +26 -0
  363. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.cpp +111 -0
  364. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.h +66 -0
  365. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.cpp +51 -0
  366. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.h +35 -0
  367. package/android/jni/lzma/CPP/7zip/Common/PropId.cpp +108 -0
  368. package/android/jni/lzma/CPP/7zip/Common/RegisterArc.h +78 -0
  369. package/android/jni/lzma/CPP/7zip/Common/RegisterCodec.h +106 -0
  370. package/android/jni/lzma/CPP/7zip/Common/StdAfx.h +8 -0
  371. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.cpp +156 -0
  372. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.h +60 -0
  373. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.cpp +285 -0
  374. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.h +157 -0
  375. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.cpp +56 -0
  376. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.h +13 -0
  377. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.cpp +57 -0
  378. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.h +26 -0
  379. package/android/jni/lzma/CPP/7zip/Common/VirtThread.cpp +48 -0
  380. package/android/jni/lzma/CPP/7zip/Common/VirtThread.h +24 -0
  381. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +666 -0
  382. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.h +120 -0
  383. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Register.cpp +24 -0
  384. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.cpp +24 -0
  385. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.h +31 -0
  386. package/android/jni/lzma/CPP/7zip/Compress/BcjRegister.cpp +17 -0
  387. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.cpp +23 -0
  388. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.h +35 -0
  389. package/android/jni/lzma/CPP/7zip/Compress/BranchRegister.cpp +41 -0
  390. package/android/jni/lzma/CPP/7zip/Compress/ByteSwap.cpp +92 -0
  391. package/android/jni/lzma/CPP/7zip/Compress/CodecExports.cpp +344 -0
  392. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.cpp +120 -0
  393. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.h +49 -0
  394. package/android/jni/lzma/CPP/7zip/Compress/CopyRegister.cpp +15 -0
  395. package/android/jni/lzma/CPP/7zip/Compress/DeltaFilter.cpp +128 -0
  396. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +265 -0
  397. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.h +96 -0
  398. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +122 -0
  399. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.h +42 -0
  400. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Register.cpp +22 -0
  401. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +343 -0
  402. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.h +113 -0
  403. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +182 -0
  404. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.h +46 -0
  405. package/android/jni/lzma/CPP/7zip/Compress/LzmaRegister.cpp +22 -0
  406. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +170 -0
  407. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.h +86 -0
  408. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +152 -0
  409. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.h +58 -0
  410. package/android/jni/lzma/CPP/7zip/Compress/PpmdRegister.cpp +22 -0
  411. package/android/jni/lzma/CPP/7zip/Compress/StdAfx.h +8 -0
  412. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.cpp +150 -0
  413. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.h +92 -0
  414. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.cpp +245 -0
  415. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.h +46 -0
  416. package/android/jni/lzma/CPP/7zip/Crc.mak +8 -0
  417. package/android/jni/lzma/CPP/7zip/Crc64.mak +8 -0
  418. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.cpp +280 -0
  419. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.h +118 -0
  420. package/android/jni/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +17 -0
  421. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.cpp +112 -0
  422. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.h +57 -0
  423. package/android/jni/lzma/CPP/7zip/Crypto/MyAesReg.cpp +16 -0
  424. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.cpp +233 -0
  425. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.h +40 -0
  426. package/android/jni/lzma/CPP/7zip/Crypto/StdAfx.h +8 -0
  427. package/android/jni/lzma/CPP/7zip/GuiCommon.rc +84 -0
  428. package/android/jni/lzma/CPP/7zip/Guid.txt +220 -0
  429. package/android/jni/lzma/CPP/7zip/ICoder.h +399 -0
  430. package/android/jni/lzma/CPP/7zip/IDecl.h +28 -0
  431. package/android/jni/lzma/CPP/7zip/IPassword.h +23 -0
  432. package/android/jni/lzma/CPP/7zip/IProgress.h +19 -0
  433. package/android/jni/lzma/CPP/7zip/IStream.h +127 -0
  434. package/android/jni/lzma/CPP/7zip/LzmaDec.mak +5 -0
  435. package/android/jni/lzma/CPP/7zip/MyVersion.h +2 -0
  436. package/android/jni/lzma/CPP/7zip/MyVersionInfo.rc +2 -0
  437. package/android/jni/lzma/CPP/7zip/PropID.h +127 -0
  438. package/android/jni/lzma/CPP/7zip/SubBuild.mak +3 -0
  439. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +993 -0
  440. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +235 -0
  441. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +29 -0
  442. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +3 -0
  443. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.h +8 -0
  444. package/android/jni/lzma/CPP/7zip/UI/Client7z/makefile +28 -0
  445. package/android/jni/lzma/CPP/7zip/UI/Client7z/resource.rc +3 -0
  446. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +1295 -0
  447. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +136 -0
  448. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +1715 -0
  449. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +403 -0
  450. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +155 -0
  451. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.h +10 -0
  452. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +161 -0
  453. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +112 -0
  454. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.cpp +3618 -0
  455. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.h +77 -0
  456. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.cpp +37 -0
  457. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.h +11 -0
  458. package/android/jni/lzma/CPP/7zip/UI/Common/DirItem.h +190 -0
  459. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +1096 -0
  460. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.h +42 -0
  461. package/android/jni/lzma/CPP/7zip/UI/Common/ExitCode.h +27 -0
  462. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.cpp +482 -0
  463. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.h +94 -0
  464. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractMode.h +34 -0
  465. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +280 -0
  466. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +31 -0
  467. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.cpp +347 -0
  468. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.h +110 -0
  469. package/android/jni/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +114 -0
  470. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +1074 -0
  471. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.h +424 -0
  472. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +3553 -0
  473. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.h +436 -0
  474. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +668 -0
  475. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.h +18 -0
  476. package/android/jni/lzma/CPP/7zip/UI/Common/Property.h +14 -0
  477. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.cpp +80 -0
  478. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.h +10 -0
  479. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.cpp +25 -0
  480. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.h +10 -0
  481. package/android/jni/lzma/CPP/7zip/UI/Common/StdAfx.h +8 -0
  482. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.cpp +19 -0
  483. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.h +16 -0
  484. package/android/jni/lzma/CPP/7zip/UI/Common/Update.cpp +1704 -0
  485. package/android/jni/lzma/CPP/7zip/UI/Common/Update.h +200 -0
  486. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +64 -0
  487. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.h +66 -0
  488. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +771 -0
  489. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.h +162 -0
  490. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +233 -0
  491. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.h +27 -0
  492. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +70 -0
  493. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.h +55 -0
  494. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.cpp +94 -0
  495. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.h +26 -0
  496. package/android/jni/lzma/CPP/7zip/UI/Common/ZipRegistry.h +130 -0
  497. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.cpp +41 -0
  498. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.h +14 -0
  499. package/android/jni/lzma/CPP/7zip/UI/Console/Console.mak +43 -0
  500. package/android/jni/lzma/CPP/7zip/UI/Console/Console.manifest +13 -0
  501. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +69 -0
  502. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.h +33 -0
  503. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +825 -0
  504. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +164 -0
  505. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.cpp +367 -0
  506. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.h +48 -0
  507. package/android/jni/lzma/CPP/7zip/UI/Console/List.cpp +1359 -0
  508. package/android/jni/lzma/CPP/7zip/UI/Console/List.h +27 -0
  509. package/android/jni/lzma/CPP/7zip/UI/Console/Main.cpp +1154 -0
  510. package/android/jni/lzma/CPP/7zip/UI/Console/MainAr.cpp +175 -0
  511. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +115 -0
  512. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +66 -0
  513. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +183 -0
  514. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.h +62 -0
  515. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.cpp +3 -0
  516. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.h +8 -0
  517. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +702 -0
  518. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +124 -0
  519. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +110 -0
  520. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.h +27 -0
  521. package/android/jni/lzma/CPP/7zip/UI/Console/makefile +64 -0
  522. package/android/jni/lzma/CPP/7zip/UI/Console/resource.rc +7 -0
  523. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +37 -0
  524. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.h +16 -0
  525. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +1025 -0
  526. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +21 -0
  527. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +9 -0
  528. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +64 -0
  529. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +28 -0
  530. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +4 -0
  531. package/android/jni/lzma/CPP/7zip/UI/FileManager/DialogSize.h +16 -0
  532. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +1037 -0
  533. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +328 -0
  534. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +28 -0
  535. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +14 -0
  536. package/android/jni/lzma/CPP/7zip/UI/FileManager/LangUtils.h +40 -0
  537. package/android/jni/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +76 -0
  538. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +122 -0
  539. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +69 -0
  540. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +91 -0
  541. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +17 -0
  542. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +58 -0
  543. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +28 -0
  544. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +14 -0
  545. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +5 -0
  546. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +196 -0
  547. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +170 -0
  548. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +12 -0
  549. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +1337 -0
  550. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +351 -0
  551. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +40 -0
  552. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +48 -0
  553. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +80 -0
  554. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +3 -0
  555. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +23 -0
  556. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.h +10 -0
  557. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +95 -0
  558. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +255 -0
  559. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +62 -0
  560. package/android/jni/lzma/CPP/7zip/UI/FileManager/resource.h +177 -0
  561. package/android/jni/lzma/CPP/7zip/UI/FileManager/resourceGui.h +15 -0
  562. package/android/jni/lzma/CPP/7zip/UI/GUI/Extract.rc +59 -0
  563. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +418 -0
  564. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +113 -0
  565. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +98 -0
  566. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +24 -0
  567. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +280 -0
  568. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +38 -0
  569. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractRes.h +51 -0
  570. package/android/jni/lzma/CPP/7zip/UI/GUI/HashGUI.h +27 -0
  571. package/android/jni/lzma/CPP/7zip/UI/GUI/resource2.h +2 -0
  572. package/android/jni/lzma/CPP/Build.mak +156 -0
  573. package/android/jni/lzma/CPP/Common/AutoPtr.h +35 -0
  574. package/android/jni/lzma/CPP/Common/CRC.cpp +7 -0
  575. package/android/jni/lzma/CPP/Common/C_FileIO.cpp +92 -0
  576. package/android/jni/lzma/CPP/Common/C_FileIO.h +53 -0
  577. package/android/jni/lzma/CPP/Common/ComTry.h +21 -0
  578. package/android/jni/lzma/CPP/Common/CommandLineParser.cpp +197 -0
  579. package/android/jni/lzma/CPP/Common/CommandLineParser.h +63 -0
  580. package/android/jni/lzma/CPP/Common/Common.h +43 -0
  581. package/android/jni/lzma/CPP/Common/CrcReg.cpp +98 -0
  582. package/android/jni/lzma/CPP/Common/Defs.h +15 -0
  583. package/android/jni/lzma/CPP/Common/DynamicBuffer.h +64 -0
  584. package/android/jni/lzma/CPP/Common/IntToString.cpp +193 -0
  585. package/android/jni/lzma/CPP/Common/IntToString.h +28 -0
  586. package/android/jni/lzma/CPP/Common/Lang.h +23 -0
  587. package/android/jni/lzma/CPP/Common/ListFileUtils.cpp +132 -0
  588. package/android/jni/lzma/CPP/Common/ListFileUtils.h +18 -0
  589. package/android/jni/lzma/CPP/Common/MyBuffer.h +259 -0
  590. package/android/jni/lzma/CPP/Common/MyBuffer2.h +100 -0
  591. package/android/jni/lzma/CPP/Common/MyCom.h +277 -0
  592. package/android/jni/lzma/CPP/Common/MyException.h +14 -0
  593. package/android/jni/lzma/CPP/Common/MyGuidDef.h +54 -0
  594. package/android/jni/lzma/CPP/Common/MyInitGuid.h +45 -0
  595. package/android/jni/lzma/CPP/Common/MyLinux.h +42 -0
  596. package/android/jni/lzma/CPP/Common/MyString.cpp +1659 -0
  597. package/android/jni/lzma/CPP/Common/MyString.h +868 -0
  598. package/android/jni/lzma/CPP/Common/MyTypes.h +35 -0
  599. package/android/jni/lzma/CPP/Common/MyUnknown.h +17 -0
  600. package/android/jni/lzma/CPP/Common/MyVector.cpp +3 -0
  601. package/android/jni/lzma/CPP/Common/MyVector.h +634 -0
  602. package/android/jni/lzma/CPP/Common/MyWindows.cpp +145 -0
  603. package/android/jni/lzma/CPP/Common/MyWindows.h +231 -0
  604. package/android/jni/lzma/CPP/Common/NewHandler.cpp +163 -0
  605. package/android/jni/lzma/CPP/Common/NewHandler.h +88 -0
  606. package/android/jni/lzma/CPP/Common/Sha256Reg.cpp +40 -0
  607. package/android/jni/lzma/CPP/Common/StdAfx.h +8 -0
  608. package/android/jni/lzma/CPP/Common/StdInStream.cpp +89 -0
  609. package/android/jni/lzma/CPP/Common/StdInStream.h +38 -0
  610. package/android/jni/lzma/CPP/Common/StdOutStream.cpp +163 -0
  611. package/android/jni/lzma/CPP/Common/StdOutStream.h +71 -0
  612. package/android/jni/lzma/CPP/Common/StringConvert.cpp +319 -0
  613. package/android/jni/lzma/CPP/Common/StringConvert.h +88 -0
  614. package/android/jni/lzma/CPP/Common/StringToInt.cpp +144 -0
  615. package/android/jni/lzma/CPP/Common/StringToInt.h +21 -0
  616. package/android/jni/lzma/CPP/Common/TextConfig.cpp +124 -0
  617. package/android/jni/lzma/CPP/Common/TextConfig.h +19 -0
  618. package/android/jni/lzma/CPP/Common/UTFConvert.cpp +288 -0
  619. package/android/jni/lzma/CPP/Common/UTFConvert.h +12 -0
  620. package/android/jni/lzma/CPP/Common/Wildcard.cpp +676 -0
  621. package/android/jni/lzma/CPP/Common/Wildcard.h +149 -0
  622. package/android/jni/lzma/CPP/Common/XzCrc64Init.cpp +7 -0
  623. package/android/jni/lzma/CPP/Common/XzCrc64Reg.cpp +42 -0
  624. package/android/jni/lzma/CPP/Windows/COM.h +70 -0
  625. package/android/jni/lzma/CPP/Windows/CommonDialog.cpp +185 -0
  626. package/android/jni/lzma/CPP/Windows/CommonDialog.h +23 -0
  627. package/android/jni/lzma/CPP/Windows/Control/ComboBox.cpp +66 -0
  628. package/android/jni/lzma/CPP/Windows/Control/ComboBox.h +65 -0
  629. package/android/jni/lzma/CPP/Windows/Control/CommandBar.h +52 -0
  630. package/android/jni/lzma/CPP/Windows/Control/Dialog.cpp +251 -0
  631. package/android/jni/lzma/CPP/Windows/Control/Dialog.h +170 -0
  632. package/android/jni/lzma/CPP/Windows/Control/Edit.h +19 -0
  633. package/android/jni/lzma/CPP/Windows/Control/ImageList.cpp +10 -0
  634. package/android/jni/lzma/CPP/Windows/Control/ImageList.h +87 -0
  635. package/android/jni/lzma/CPP/Windows/Control/ListView.cpp +155 -0
  636. package/android/jni/lzma/CPP/Windows/Control/ListView.h +146 -0
  637. package/android/jni/lzma/CPP/Windows/Control/ProgressBar.h +35 -0
  638. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.cpp +143 -0
  639. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.h +50 -0
  640. package/android/jni/lzma/CPP/Windows/Control/ReBar.h +34 -0
  641. package/android/jni/lzma/CPP/Windows/Control/Static.h +28 -0
  642. package/android/jni/lzma/CPP/Windows/Control/StatusBar.h +42 -0
  643. package/android/jni/lzma/CPP/Windows/Control/StdAfx.h +8 -0
  644. package/android/jni/lzma/CPP/Windows/Control/ToolBar.h +43 -0
  645. package/android/jni/lzma/CPP/Windows/Control/Trackbar.h +27 -0
  646. package/android/jni/lzma/CPP/Windows/Control/Window2.cpp +200 -0
  647. package/android/jni/lzma/CPP/Windows/Control/Window2.h +51 -0
  648. package/android/jni/lzma/CPP/Windows/DLL.cpp +109 -0
  649. package/android/jni/lzma/CPP/Windows/DLL.h +58 -0
  650. package/android/jni/lzma/CPP/Windows/Defs.h +17 -0
  651. package/android/jni/lzma/CPP/Windows/ErrorMsg.cpp +66 -0
  652. package/android/jni/lzma/CPP/Windows/ErrorMsg.h +15 -0
  653. package/android/jni/lzma/CPP/Windows/FileDir.cpp +714 -0
  654. package/android/jni/lzma/CPP/Windows/FileDir.h +117 -0
  655. package/android/jni/lzma/CPP/Windows/FileFind.cpp +749 -0
  656. package/android/jni/lzma/CPP/Windows/FileFind.h +161 -0
  657. package/android/jni/lzma/CPP/Windows/FileIO.cpp +432 -0
  658. package/android/jni/lzma/CPP/Windows/FileIO.h +212 -0
  659. package/android/jni/lzma/CPP/Windows/FileLink.cpp +440 -0
  660. package/android/jni/lzma/CPP/Windows/FileMapping.cpp +12 -0
  661. package/android/jni/lzma/CPP/Windows/FileMapping.h +66 -0
  662. package/android/jni/lzma/CPP/Windows/FileName.cpp +839 -0
  663. package/android/jni/lzma/CPP/Windows/FileName.h +115 -0
  664. package/android/jni/lzma/CPP/Windows/FileSystem.cpp +131 -0
  665. package/android/jni/lzma/CPP/Windows/FileSystem.h +27 -0
  666. package/android/jni/lzma/CPP/Windows/Handle.h +37 -0
  667. package/android/jni/lzma/CPP/Windows/MemoryLock.cpp +112 -0
  668. package/android/jni/lzma/CPP/Windows/MemoryLock.h +40 -0
  669. package/android/jni/lzma/CPP/Windows/NtCheck.h +46 -0
  670. package/android/jni/lzma/CPP/Windows/PropVariant.cpp +347 -0
  671. package/android/jni/lzma/CPP/Windows/PropVariant.h +114 -0
  672. package/android/jni/lzma/CPP/Windows/PropVariantConv.cpp +138 -0
  673. package/android/jni/lzma/CPP/Windows/PropVariantConv.h +37 -0
  674. package/android/jni/lzma/CPP/Windows/Registry.cpp +390 -0
  675. package/android/jni/lzma/CPP/Windows/Registry.h +84 -0
  676. package/android/jni/lzma/CPP/Windows/ResourceString.cpp +103 -0
  677. package/android/jni/lzma/CPP/Windows/ResourceString.h +16 -0
  678. package/android/jni/lzma/CPP/Windows/SecurityUtils.cpp +181 -0
  679. package/android/jni/lzma/CPP/Windows/SecurityUtils.h +167 -0
  680. package/android/jni/lzma/CPP/Windows/Shell.cpp +358 -0
  681. package/android/jni/lzma/CPP/Windows/Shell.h +94 -0
  682. package/android/jni/lzma/CPP/Windows/StdAfx.h +8 -0
  683. package/android/jni/lzma/CPP/Windows/Synchronization.cpp +10 -0
  684. package/android/jni/lzma/CPP/Windows/Synchronization.h +164 -0
  685. package/android/jni/lzma/CPP/Windows/System.cpp +142 -0
  686. package/android/jni/lzma/CPP/Windows/System.h +40 -0
  687. package/android/jni/lzma/CPP/Windows/Thread.h +38 -0
  688. package/android/jni/lzma/CPP/Windows/TimeUtils.cpp +213 -0
  689. package/android/jni/lzma/CPP/Windows/TimeUtils.h +32 -0
  690. package/android/jni/lzma/CPP/Windows/Window.cpp +179 -0
  691. package/android/jni/lzma/CPP/Windows/Window.h +284 -0
  692. package/android/jni/lzma/CS/7zip/Common/CRC.cs +55 -0
  693. package/android/jni/lzma/CS/7zip/Common/CommandLineParser.cs +274 -0
  694. package/android/jni/lzma/CS/7zip/Common/InBuffer.cs +72 -0
  695. package/android/jni/lzma/CS/7zip/Common/OutBuffer.cs +47 -0
  696. package/android/jni/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +24 -0
  697. package/android/jni/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +367 -0
  698. package/android/jni/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +132 -0
  699. package/android/jni/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +110 -0
  700. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +76 -0
  701. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +398 -0
  702. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +1480 -0
  703. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +364 -0
  704. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +90 -0
  705. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +20 -0
  706. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +340 -0
  707. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +29 -0
  708. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +70 -0
  709. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +42 -0
  710. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +234 -0
  711. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +117 -0
  712. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +157 -0
  713. package/android/jni/lzma/CS/7zip/ICoder.cs +157 -0
  714. package/android/jni/lzma/DOC/7zC.txt +187 -0
  715. package/android/jni/lzma/DOC/7zFormat.txt +469 -0
  716. package/android/jni/lzma/DOC/Methods.txt +173 -0
  717. package/android/jni/lzma/DOC/installer.txt +166 -0
  718. package/android/jni/lzma/DOC/lzma-history.txt +446 -0
  719. package/android/jni/lzma/DOC/lzma-sdk.txt +357 -0
  720. package/android/jni/lzma/DOC/lzma-specification.txt +1176 -0
  721. package/android/jni/lzma/DOC/lzma.txt +328 -0
  722. package/android/jni/lzma/Java/SevenZip/CRC.java +52 -0
  723. package/android/jni/lzma/Java/SevenZip/Compression/LZ/BinTree.java +382 -0
  724. package/android/jni/lzma/Java/SevenZip/Compression/LZ/InWindow.java +131 -0
  725. package/android/jni/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +85 -0
  726. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Base.java +88 -0
  727. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +329 -0
  728. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +1416 -0
  729. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +55 -0
  730. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +99 -0
  731. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +88 -0
  732. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +151 -0
  733. package/android/jni/lzma/Java/SevenZip/ICodeProgress.java +6 -0
  734. package/android/jni/lzma/Java/SevenZip/LzmaAlone.java +253 -0
  735. package/android/jni/lzma/Java/SevenZip/LzmaBench.java +392 -0
  736. package/android/jni/lzma/bin/7zS2.sfx +0 -0
  737. package/android/jni/lzma/bin/7zS2con.sfx +0 -0
  738. package/android/jni/lzma/bin/7zSD.sfx +0 -0
  739. package/android/jni/lzma/bin/7zdec.exe +0 -0
  740. package/android/jni/lzma/bin/7zr.exe +0 -0
  741. package/android/jni/lzma/bin/installer/config.txt +5 -0
  742. package/android/jni/lzma/bin/installer/cr.bat +5 -0
  743. package/android/jni/lzma/bin/lzma.exe +0 -0
  744. package/android/jni/lzma/bin/x64/7zr.exe +0 -0
  745. package/ios/pushy_build_time.txt +1 -1
  746. package/package.json +2 -1
@@ -0,0 +1,331 @@
1
+ // new_dir_output.c
2
+ // hdiffz dir patch
3
+ //
4
+ /*
5
+ The MIT License (MIT)
6
+ Copyright (c) 2018-2019 HouSisong
7
+
8
+ Permission is hereby granted, free of charge, to any person
9
+ obtaining a copy of this software and associated documentation
10
+ files (the "Software"), to deal in the Software without
11
+ restriction, including without limitation the rights to use,
12
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the
14
+ Software is furnished to do so, subject to the following
15
+ conditions:
16
+
17
+ The above copyright notice and this permission notice shall be
18
+ included in all copies of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
22
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27
+ OTHER DEALINGS IN THE SOFTWARE.
28
+ */
29
+ #include "new_dir_output.h"
30
+ #include "../../file_for_patch.h"
31
+ #if (_IS_NEED_DIR_DIFF_PATCH)
32
+ #include "dir_patch_tools.h"
33
+ #include <stdio.h>
34
+ #include <string.h>
35
+
36
+ #define TUInt hpatch_StreamPos_t
37
+
38
+ #define check(value) { if (!(value)){ fprintf(stderr,"check "#value" error!\n"); \
39
+ result=hpatch_FALSE; goto clear; } }
40
+
41
+ static hpatch_BOOL _TDirPatcher_copyFile(const char* oldFileName_utf8,const char* newFileName_utf8,
42
+ hpatch_ICopyDataListener* copyListener){
43
+ #define _tempCacheSize (hpatch_kStreamCacheSize*4)
44
+ hpatch_BOOL result=hpatch_TRUE;
45
+ TByte temp_cache[_tempCacheSize];
46
+ hpatch_StreamPos_t pos=0;
47
+ hpatch_TFileStreamInput oldFile;
48
+ hpatch_TFileStreamOutput newFile;
49
+ hpatch_TFileStreamInput_init(&oldFile);
50
+ hpatch_TFileStreamOutput_init(&newFile);
51
+
52
+ check(hpatch_TFileStreamInput_open(&oldFile,oldFileName_utf8));
53
+ if (newFileName_utf8)
54
+ check(hpatch_TFileStreamOutput_open(&newFile,newFileName_utf8,oldFile.base.streamSize));
55
+ while (pos<oldFile.base.streamSize) {
56
+ size_t copyLen=_tempCacheSize;
57
+ if (pos+copyLen>oldFile.base.streamSize)
58
+ copyLen=(size_t)(oldFile.base.streamSize-pos);
59
+ check(oldFile.base.read(&oldFile.base,pos,temp_cache,temp_cache+copyLen));
60
+ if (newFileName_utf8)
61
+ check(newFile.base.write(&newFile.base,pos,temp_cache,temp_cache+copyLen));
62
+ if (copyListener)
63
+ copyListener->copyedData(copyListener,temp_cache,temp_cache+copyLen);
64
+ pos+=copyLen;
65
+ }
66
+ check(!oldFile.fileError);
67
+ check(!newFile.fileError);
68
+ if (newFileName_utf8)
69
+ check(newFile.out_length==newFile.base.streamSize);
70
+ clear:
71
+ hpatch_TFileStreamOutput_close(&newFile);
72
+ hpatch_TFileStreamInput_close(&oldFile);
73
+ return result;
74
+ #undef _tempCacheSize
75
+ }
76
+
77
+ hpatch_BOOL TDirPatcher_copyFile(const char* oldFileName_utf8,const char* newFileName_utf8,
78
+ hpatch_ICopyDataListener* copyListener){
79
+ hpatch_BOOL result=hpatch_TRUE;
80
+ check(newFileName_utf8!=0);
81
+ result=_TDirPatcher_copyFile(oldFileName_utf8,newFileName_utf8,copyListener);
82
+ clear:
83
+ return result;
84
+ }
85
+ hpatch_BOOL TDirPatcher_readFile(const char* oldFileName_utf8,hpatch_ICopyDataListener* copyListener){
86
+ return _TDirPatcher_copyFile(oldFileName_utf8,0,copyListener);
87
+ }
88
+
89
+ static hpatch_BOOL _makeNewDirOrEmptyFile(hpatch_INewStreamListener* listener,size_t newPathIndex){
90
+ hpatch_BOOL result=hpatch_TRUE;
91
+ TNewDirOutput* self=(TNewDirOutput*)listener->listenerImport;
92
+ const char* pathName=TNewDirOutput_getNewPathByIndex(self,newPathIndex);
93
+ check(pathName!=0);
94
+ if (hpatch_getIsDirName(pathName)){ //
95
+ check(self->_listener->makeNewDir(self->_listener,pathName));
96
+ }else{ //empty file
97
+ check(self->_listener->openNewFile(self->_listener,self->_curNewFile,pathName,0));
98
+ check(!self->_curNewFile->fileError);
99
+ check(self->_listener->closeNewFile(self->_listener,self->_curNewFile));
100
+ }
101
+ clear:
102
+ return result;
103
+ }
104
+
105
+ static const char* _getOldPathByIndex(TNewDirOutput* self,size_t oldPathIndex){
106
+ assert(self->_oldPathListener.getOldPathByIndex!=0);
107
+ return self->_oldPathListener.getOldPathByIndex(&self->_oldPathListener,oldPathIndex);
108
+ }
109
+
110
+ static hpatch_BOOL _copySameFile(hpatch_INewStreamListener* listener,size_t newPathIndex,size_t oldPathIndex){
111
+ hpatch_BOOL result=hpatch_TRUE;
112
+ TNewDirOutput* self=(TNewDirOutput*)listener->listenerImport;
113
+ const char* newFileName=0;
114
+ const char* oldFileName=0;
115
+ assert(newPathIndex<self->newPathCount);
116
+ newFileName=TNewDirOutput_getNewPathByIndex(self,newPathIndex);
117
+ check(newFileName!=0);
118
+ check(self->_oldPathListener.getOldPathByIndex!=0);
119
+ oldFileName=_getOldPathByIndex(self,oldPathIndex);
120
+ check(oldFileName!=0);
121
+ check(self->_listener->copySameFile(self->_listener,oldFileName,newFileName,
122
+ self->isCheck_copyFileData?(&self->_sameFileCopyListener):0));
123
+ clear:
124
+ return result;
125
+ }
126
+
127
+ static hpatch_BOOL _openNewFile(hpatch_INewStreamListener* listener,size_t newRefIndex,
128
+ const hpatch_TStreamOutput** out_newFileStream){
129
+ hpatch_BOOL result=hpatch_TRUE;
130
+ TNewDirOutput* self=(TNewDirOutput*)listener->listenerImport;
131
+ const char* utf8fileName=0;
132
+ hpatch_StreamPos_t fileSize=self->newRefSizeList[newRefIndex];
133
+ assert(newRefIndex<self->newRefFileCount);
134
+ assert(self->_curNewFile->m_file==0);
135
+ if (fileSize==0){
136
+ size_t newPathIndex=self->newRefList?self->newRefList[newRefIndex]:newRefIndex;
137
+ check(_makeNewDirOrEmptyFile(listener,newPathIndex));
138
+ *out_newFileStream=0;
139
+ }else{
140
+ utf8fileName=TNewDirOutput_getNewPathByRefIndex(self,newRefIndex);
141
+ check(utf8fileName!=0);
142
+ check(self->_listener->openNewFile(self->_listener,self->_curNewFile,
143
+ utf8fileName,fileSize));
144
+ *out_newFileStream=&self->_curNewFile->base;
145
+ }
146
+ clear:
147
+ return result;
148
+ }
149
+ static hpatch_BOOL _closeNewFile(hpatch_INewStreamListener* listener,const hpatch_TStreamOutput* newFileStream){
150
+ hpatch_BOOL result=hpatch_TRUE;
151
+ TNewDirOutput* self=(TNewDirOutput*)listener->listenerImport;
152
+ assert(self->_curNewFile!=0);
153
+ assert(newFileStream==&self->_curNewFile->base);
154
+ check(!self->_curNewFile->fileError);
155
+ check(self->_listener->closeNewFile(self->_listener,self->_curNewFile));
156
+ hpatch_TFileStreamOutput_init(self->_curNewFile);
157
+ clear:
158
+ return result;
159
+ }
160
+
161
+ static void _writedNewRefData(struct hpatch_INewStreamListener* listener,const unsigned char* data,
162
+ const unsigned char* dataEnd){
163
+ TNewDirOutput* self=(TNewDirOutput*)listener->listenerImport;
164
+ if (self->isCheck_newRefData)
165
+ self->_checksumPlugin->append(self->_newRefChecksumHandle,data,dataEnd);
166
+ }
167
+
168
+ static hpatch_BOOL _do_checksumEnd(TNewDirOutput* self,const TByte* checksumTest,TByte* checksumTemp,
169
+ hpatch_checksumHandle* pcsHandle){
170
+ size_t checksumByteSize=self->_checksumPlugin->checksumByteSize();
171
+ hpatch_checksumHandle* csHandle=*pcsHandle;
172
+ assert(csHandle!=0);
173
+ *pcsHandle=0;
174
+ self->_checksumPlugin->end(csHandle,checksumTemp,checksumTemp+checksumByteSize);
175
+ self->_checksumPlugin->close(self->_checksumPlugin,csHandle);
176
+ return (0==memcmp(checksumTest,checksumTemp,checksumByteSize));
177
+ }
178
+
179
+ #define _pchecksumNewRef(_self) ((_self)->_pChecksum_newRefData_copyFileData)
180
+ #define _pchecksumCopyFile(_self) ((_self)->_pChecksum_newRefData_copyFileData+(_self)->checksumByteSize)
181
+ #define _pchecksumTemp(_self) ((_self)->_pChecksum_temp)
182
+
183
+ static hpatch_BOOL _writedFinish(struct hpatch_INewStreamListener* listener){
184
+ hpatch_BOOL result=hpatch_TRUE;
185
+ TNewDirOutput* self=(TNewDirOutput*)listener->listenerImport;
186
+ //checksum newRefData end
187
+ if (self->isCheck_newRefData){
188
+ if (!_do_checksumEnd(self,_pchecksumNewRef(self),_pchecksumTemp(self),&self->_newRefChecksumHandle))
189
+ self->_isNewRefDataChecksumError=hpatch_TRUE;
190
+ }
191
+ //checksum sameFileData end
192
+ if (self->isCheck_copyFileData){
193
+ if (!_do_checksumEnd(self,_pchecksumCopyFile(self),_pchecksumTemp(self),&self->_sameFileChecksumHandle))
194
+ self->_isCopyDataChecksumError=hpatch_TRUE;
195
+ }
196
+ check(!self->_isNewRefDataChecksumError);
197
+ check(!self->_isCopyDataChecksumError);
198
+ clear:
199
+ return result;
200
+ }
201
+
202
+ static void _sameFile_copyedData(hpatch_ICopyDataListener* listener,const unsigned char* data,
203
+ const unsigned char* dataEnd){
204
+ TNewDirOutput* self=(TNewDirOutput*)listener->listenerImport;
205
+ if (self->isCheck_copyFileData)
206
+ self->_checksumPlugin->append(self->_sameFileChecksumHandle,data,dataEnd);
207
+ }
208
+
209
+ hpatch_BOOL TNewDirOutput_openDir(TNewDirOutput* self,IDirPatchListener* listener,
210
+ size_t kAlignSize,const hpatch_TStreamOutput** out_newDirStream){
211
+ hpatch_BOOL result=hpatch_TRUE;
212
+ size_t refCount=self->newRefFileCount;
213
+ assert(self->_pmem==0);
214
+ assert(self->_newDirStream.stream==0);
215
+ assert(self->_newDirStreamListener.listenerImport==0);
216
+ self->_listener=listener;
217
+ {//open new
218
+ size_t memSize=sizeof(hpatch_TFileStreamOutput);
219
+ self->_pmem=malloc(memSize);
220
+ check(self->_pmem!=0);
221
+ self->_curNewFile=(hpatch_TFileStreamOutput*)self->_pmem;
222
+ hpatch_TFileStreamOutput_init(self->_curNewFile);
223
+
224
+ self->_newDirStreamListener.listenerImport=self;
225
+ self->_newDirStreamListener.makeNewDirOrEmptyFile=_makeNewDirOrEmptyFile;
226
+ self->_newDirStreamListener.copySameFile=_copySameFile;
227
+ self->_newDirStreamListener.openNewFile=_openNewFile;
228
+ self->_newDirStreamListener.closeNewFile=_closeNewFile;
229
+ self->_newDirStreamListener.writedNewRefData=_writedNewRefData;
230
+ self->_newDirStreamListener.writedFinish=_writedFinish;
231
+ }
232
+ //checksum newRefData begin
233
+ if (self->isCheck_newRefData){
234
+ assert(self->_newRefChecksumHandle==0);
235
+ self->_newRefChecksumHandle=self->_checksumPlugin->open(self->_checksumPlugin);
236
+ check(self->_newRefChecksumHandle!=0);
237
+ self->_checksumPlugin->begin(self->_newRefChecksumHandle);
238
+ }
239
+ //checksum sameFileData begin
240
+ if (self->isCheck_copyFileData){
241
+ assert(self->_sameFileChecksumHandle==0);
242
+ self->_sameFileChecksumHandle=self->_checksumPlugin->open(self->_checksumPlugin);
243
+ check(self->_sameFileChecksumHandle!=0);
244
+ self->_checksumPlugin->begin(self->_sameFileChecksumHandle);
245
+
246
+ if (self->isCheck_copyFileData){
247
+ self->_sameFileCopyListener.listenerImport=self;
248
+ self->_sameFileCopyListener.copyedData=_sameFile_copyedData;
249
+ }
250
+ }
251
+ check(hpatch_TNewStream_open(&self->_newDirStream,&self->_newDirStreamListener,
252
+ self->newDataSize,self->newPathCount,
253
+ self->newRefList,refCount,self->dataSamePairList,
254
+ self->sameFilePairCount,kAlignSize));
255
+ *out_newDirStream=self->_newDirStream.stream;
256
+ clear:
257
+ return result;
258
+ }
259
+
260
+
261
+ hpatch_BOOL TNewDirOutput_closeNewDirHandles(TNewDirOutput* self){
262
+ hpatch_BOOL result=hpatch_TNewStream_closeFileHandles(&self->_newDirStream);
263
+ if (self->_curNewFile){
264
+ if (!hpatch_TFileStreamOutput_close(self->_curNewFile))
265
+ result=hpatch_FALSE;
266
+ hpatch_TFileStreamOutput_init(self->_curNewFile);
267
+ }
268
+ return result;
269
+ }
270
+
271
+ hpatch_BOOL TNewDirOutput_close(TNewDirOutput* self){
272
+ hpatch_BOOL result=TNewDirOutput_closeNewDirHandles(self);
273
+ hpatch_TChecksum* checksumPlugin=self->_checksumPlugin;
274
+ if (!hpatch_TNewStream_close(&self->_newDirStream))
275
+ result=hpatch_FALSE;
276
+ self->_newRootDir=0;
277
+ self->_newRootDir_end=0;
278
+ self->_newRootDir_bufEnd=0;
279
+ self->_curNewFile=0;
280
+ if (self->_newRefChecksumHandle){
281
+ checksumPlugin->close(checksumPlugin,self->_newRefChecksumHandle);
282
+ self->_newRefChecksumHandle=0;
283
+ }
284
+ if (self->_sameFileChecksumHandle){
285
+ checksumPlugin->close(checksumPlugin,self->_sameFileChecksumHandle);
286
+ self->_sameFileChecksumHandle=0;
287
+ }
288
+ if (self->_pmem) {
289
+ free(self->_pmem);
290
+ self->_pmem=0;
291
+ }
292
+ return result;
293
+ }
294
+
295
+ const char* TNewDirOutput_getNewPathRoot(TNewDirOutput* self){
296
+ if (!setPath(self->_newRootDir_end,self->_newRootDir_bufEnd,"")) return 0; //error
297
+ return self->_newRootDir;
298
+ }
299
+
300
+ const char* TNewDirOutput_getNewPathByIndex(TNewDirOutput* self,size_t newPathIndex){
301
+ assert(newPathIndex<self->newPathCount);
302
+ if (!setPath(self->_newRootDir_end,self->_newRootDir_bufEnd,
303
+ self->newUtf8PathList[newPathIndex])) return 0; //error
304
+ return self->_newRootDir;
305
+ }
306
+
307
+ const char* TNewDirOutput_getNewPathByRefIndex(TNewDirOutput* self,size_t newRefIndex){
308
+ size_t newPathIndex;
309
+ assert(newRefIndex<self->newRefFileCount);
310
+ newPathIndex=self->newRefList?self->newRefList[newRefIndex]:newRefIndex;
311
+ return TNewDirOutput_getNewPathByIndex(self,newPathIndex);
312
+ }
313
+
314
+ const char* TNewDirOutput_getNewExecuteFileByIndex(TNewDirOutput* self,size_t newExecuteIndex){
315
+ assert(newExecuteIndex<self->newExecuteCount);
316
+ return TNewDirOutput_getNewPathByIndex(self,self->newExecuteList[newExecuteIndex]);
317
+ }
318
+
319
+ const char* TNewDirOutput_getOldPathBySameIndex(TNewDirOutput* self,size_t sameIndex){
320
+ assert(sameIndex<self->sameFilePairCount);
321
+ assert(self->dataSamePairList!=0);
322
+ return _getOldPathByIndex(self,self->dataSamePairList[sameIndex].oldIndex);
323
+ }
324
+
325
+ const char* TNewDirOutput_getNewPathBySameIndex(TNewDirOutput* self,size_t sameIndex){
326
+ assert(sameIndex<self->sameFilePairCount);
327
+ assert(self->dataSamePairList!=0);
328
+ return TNewDirOutput_getNewPathByIndex(self,self->dataSamePairList[sameIndex].newIndex);
329
+ }
330
+
331
+ #endif
@@ -0,0 +1,144 @@
1
+ // new_dir_output.h
2
+ // hdiffz dir patch
3
+ //
4
+ /*
5
+ The MIT License (MIT)
6
+ Copyright (c) 2018-2019 HouSisong
7
+
8
+ Permission is hereby granted, free of charge, to any person
9
+ obtaining a copy of this software and associated documentation
10
+ files (the "Software"), to deal in the Software without
11
+ restriction, including without limitation the rights to use,
12
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the
14
+ Software is furnished to do so, subject to the following
15
+ conditions:
16
+
17
+ The above copyright notice and this permission notice shall be
18
+ included in all copies of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
22
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27
+ OTHER DEALINGS IN THE SOFTWARE.
28
+ */
29
+ #ifndef DirPatch_new_dir_output_h
30
+ #define DirPatch_new_dir_output_h
31
+ #include "dir_patch_types.h"
32
+ #if (_IS_NEED_DIR_DIFF_PATCH)
33
+ #include "../../libHDiffPatch/HPatch/checksum_plugin.h"
34
+ #include "ref_stream.h"
35
+ #include "new_stream.h"
36
+ #include "res_handle_limit.h"
37
+ #ifdef __cplusplus
38
+ extern "C" {
39
+ #endif
40
+
41
+ typedef struct hpatch_ICopyDataListener{
42
+ void* listenerImport;
43
+ void (*copyedData)(struct hpatch_ICopyDataListener* listener,const unsigned char* data,
44
+ const unsigned char* dataEnd);
45
+ } hpatch_ICopyDataListener;
46
+
47
+ hpatch_BOOL TDirPatcher_copyFile(const char* oldFileName_utf8,const char* newFileName_utf8,
48
+ hpatch_ICopyDataListener* copyListener);
49
+ hpatch_BOOL TDirPatcher_readFile(const char* oldFileName_utf8,hpatch_ICopyDataListener* copyListener);
50
+
51
+
52
+ struct hpatch_TFileStreamOutput;
53
+
54
+ typedef struct IDirPatchListener{
55
+ void* listenerImport;
56
+ hpatch_BOOL (*makeNewDir)(struct IDirPatchListener* listener,const char* newDir);
57
+ hpatch_BOOL (*copySameFile)(struct IDirPatchListener* listener,const char* oldFileName,
58
+ const char* newFileName,hpatch_ICopyDataListener* copyListener);
59
+ hpatch_BOOL (*openNewFile)(struct IDirPatchListener* listener,struct hpatch_TFileStreamOutput* out_curNewFile,
60
+ const char* newFileName,hpatch_StreamPos_t newFileSize);
61
+ hpatch_BOOL (*closeNewFile)(struct IDirPatchListener* listener,struct hpatch_TFileStreamOutput* curNewFile);
62
+ } IDirPatchListener;
63
+
64
+
65
+ typedef struct hpatch_IOldPathListener{
66
+ void* listenerImport;
67
+ const char* (*getOldPathByIndex)(struct hpatch_IOldPathListener* listener,size_t oldPathIndex);
68
+ } hpatch_IOldPathListener;
69
+
70
+ typedef struct TNewDirOutput{
71
+ //input:
72
+ const char* const * newUtf8PathList;
73
+ const size_t* newRefList;
74
+ const size_t* newExecuteList;
75
+ const hpatch_StreamPos_t* newRefSizeList;
76
+ const hpatch_TSameFilePair* dataSamePairList; //new map to old index
77
+ hpatch_StreamPos_t newDataSize;
78
+ size_t newPathCount;
79
+ size_t newRefFileCount;
80
+ size_t newExecuteCount;
81
+ size_t sameFilePairCount;
82
+ size_t checksumByteSize;
83
+ hpatch_BOOL isCheck_newRefData;
84
+ hpatch_BOOL isCheck_copyFileData;
85
+ //private input:
86
+ hpatch_IOldPathListener _oldPathListener;
87
+ char* _newRootDir;
88
+ char* _newRootDir_end;
89
+ char* _newRootDir_bufEnd;
90
+ const unsigned char* _pChecksum_newRefData_copyFileData;
91
+ unsigned char* _pChecksum_temp;
92
+ hpatch_TChecksum* _checksumPlugin;
93
+ //private:
94
+ hpatch_ICopyDataListener _sameFileCopyListener;
95
+ hpatch_TNewStream _newDirStream;
96
+ IDirPatchListener* _listener;
97
+ hpatch_INewStreamListener _newDirStreamListener;
98
+ hpatch_checksumHandle _newRefChecksumHandle;
99
+ hpatch_checksumHandle _sameFileChecksumHandle;
100
+ hpatch_BOOL _isNewRefDataChecksumError;
101
+ hpatch_BOOL _isCopyDataChecksumError;
102
+ struct hpatch_TFileStreamOutput* _curNewFile;
103
+ void* _pmem;
104
+ } TNewDirOutput;
105
+
106
+ hpatch_inline
107
+ static void TNewDirOutput_init(TNewDirOutput* self) { memset(self,0,sizeof(*self)); }
108
+ hpatch_BOOL TNewDirOutput_openDir(TNewDirOutput* self,IDirPatchListener* listener,
109
+ size_t kAlignSize,const hpatch_TStreamOutput** out_newDirStream);
110
+
111
+ hpatch_BOOL TNewDirOutput_closeNewDirHandles(TNewDirOutput* self);//for TNewDirOutput_openDir
112
+ hpatch_BOOL TNewDirOutput_close(TNewDirOutput* self);
113
+
114
+ const char* TNewDirOutput_getNewPathRoot(TNewDirOutput* self);
115
+ const char* TNewDirOutput_getNewPathByIndex(TNewDirOutput* self,size_t newPathIndex);
116
+ const char* TNewDirOutput_getNewExecuteFileByIndex(TNewDirOutput* self,size_t newExecuteIndex);
117
+ const char* TNewDirOutput_getNewPathByRefIndex(TNewDirOutput* self,size_t newRefIndex);
118
+ const char* TNewDirOutput_getOldPathBySameIndex(TNewDirOutput* self,size_t sameIndex);
119
+ const char* TNewDirOutput_getNewPathBySameIndex(TNewDirOutput* self,size_t sameIndex);
120
+
121
+ //ExecuteList
122
+ typedef const char* (*IDirPathList_getPathNameByIndex)(void* import,size_t index);
123
+ typedef struct IDirPathList{
124
+ void* import;
125
+ size_t pathCount;
126
+ IDirPathList_getPathNameByIndex getPathNameByIndex;
127
+ } IDirPathList;
128
+
129
+ static hpatch_inline void TNewDirOutput_getExecuteList(TNewDirOutput* self,IDirPathList* out_executeList) {
130
+ out_executeList->import=self;
131
+ out_executeList->pathCount=self->newExecuteCount;
132
+ out_executeList->getPathNameByIndex=(IDirPathList_getPathNameByIndex)TNewDirOutput_getNewExecuteFileByIndex;
133
+ }
134
+ static hpatch_inline void TNewDirOutput_getNewDirPathList(TNewDirOutput* self,IDirPathList* out_newPathList) {
135
+ out_newPathList->import=self;
136
+ out_newPathList->pathCount=self->newPathCount;
137
+ out_newPathList->getPathNameByIndex=(IDirPathList_getPathNameByIndex)TNewDirOutput_getNewPathByIndex;
138
+ }
139
+
140
+ #ifdef __cplusplus
141
+ }
142
+ #endif
143
+ #endif
144
+ #endif //DirPatch_new_dir_output_h
@@ -0,0 +1,176 @@
1
+ // new_stream.cpp
2
+ // dir patch
3
+ /*
4
+ The MIT License (MIT)
5
+ Copyright (c) 2018-2019 HouSisong
6
+
7
+ Permission is hereby granted, free of charge, to any person
8
+ obtaining a copy of this software and associated documentation
9
+ files (the "Software"), to deal in the Software without
10
+ restriction, including without limitation the rights to use,
11
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the
13
+ Software is furnished to do so, subject to the following
14
+ conditions:
15
+
16
+ The above copyright notice and this permission notice shall be
17
+ included in all copies of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26
+ OTHER DEALINGS IN THE SOFTWARE.
27
+ */
28
+ #include "new_stream.h"
29
+ #if (_IS_NEED_DIR_DIFF_PATCH)
30
+ #include <string.h>
31
+ #include <stdlib.h>
32
+ #include <stdio.h> //printf
33
+
34
+
35
+ hpatch_BOOL hpatch_TNewStream_closeFileHandles(hpatch_TNewStream* self){
36
+ hpatch_BOOL result=hpatch_TRUE;
37
+ const hpatch_TStreamOutput* curNewFile=self->_curNewFile;
38
+ if (curNewFile){
39
+ self->_curNewFile=0;
40
+ result=self->_listener->closeNewFile(self->_listener,curNewFile);
41
+ }
42
+ return result;
43
+ }
44
+
45
+ hpatch_BOOL hpatch_TNewStream_close(hpatch_TNewStream* self){
46
+ return hpatch_TNewStream_closeFileHandles(self);
47
+ }
48
+
49
+ static hpatch_BOOL _file_entry_end(hpatch_TNewStream* self);
50
+ static hpatch_BOOL _file_append_ready(hpatch_TNewStream* self);
51
+ static hpatch_BOOL _file_append_part(hpatch_TNewStream* self,hpatch_StreamPos_t writeToPos,
52
+ const unsigned char* data,const unsigned char* data_end);
53
+ static hpatch_BOOL _file_append_end(hpatch_TNewStream* self);
54
+
55
+ #define check(value) { if (!(value)){ fprintf(stderr,"check "#value" error!\n"); return hpatch_FALSE; } }
56
+
57
+ static hpatch_BOOL _TNewStream_write(const hpatch_TStreamOutput* stream,hpatch_StreamPos_t writeToPos,
58
+ const unsigned char* data,const unsigned char* data_end){
59
+ hpatch_TNewStream* self=(hpatch_TNewStream*)stream->streamImport;
60
+ self->_listener->writedNewRefData(self->_listener,data,data_end);
61
+ while (data!=data_end) {
62
+ size_t writeLen=(size_t)(data_end-data);
63
+ check(!self->isFinish);
64
+ check(writeToPos<self->_curWriteToPosEnd);
65
+ if (writeToPos+writeLen>self->_curWriteToPosEnd)
66
+ writeLen=(size_t)(self->_curWriteToPosEnd-writeToPos);
67
+ check(self->_curPathIndex<self->_pathCount);
68
+ check(_file_append_part(self,writeToPos,data,data+writeLen));
69
+ data+=writeLen;
70
+ writeToPos+=writeLen;
71
+
72
+ if (writeToPos==self->_curWriteToPosEnd){//write one file end?
73
+ check(_file_append_end(self));
74
+ ++self->_curPathIndex;
75
+ check(_file_append_ready(self));
76
+ }
77
+ }
78
+ return hpatch_TRUE;
79
+ }
80
+
81
+ static hpatch_BOOL _file_append_ready(hpatch_TNewStream* self){
82
+ assert(self->_curNewFile==0);
83
+ assert(self->_curWriteToPos==self->_curWriteToPosEnd);
84
+ while (self->_curPathIndex<self->_pathCount) {
85
+ if((self->_curNewRefIndex<self->_newRefCount) //write file ?
86
+ &&(self->_curPathIndex==(self->_newRefList?self->_newRefList[self->_curNewRefIndex]
87
+ :self->_curNewRefIndex))){
88
+ check(self->_listener->openNewFile(self->_listener,self->_curNewRefIndex,&self->_curNewFile));
89
+ ++self->_curNewRefIndex;
90
+ if (self->_curNewFile){//new file
91
+ self->_curWriteToPosEnd+=toAlignRangeSize(self->_curNewFile->streamSize,self->kAlignSize);
92
+ return hpatch_TRUE;
93
+ }else{ //make dir or empty file
94
+ ++self->_curPathIndex;
95
+ }
96
+ }else if ((self->_curSamePairIndex<self->_samePairCount) //copy file ?
97
+ &&(self->_curPathIndex==self->_samePairList[self->_curSamePairIndex].newIndex)){
98
+ const hpatch_TSameFilePair* pair=self->_samePairList+self->_curSamePairIndex;
99
+ check(self->_listener->copySameFile(self->_listener,pair->newIndex,pair->oldIndex));
100
+ ++self->_curSamePairIndex;
101
+ ++self->_curPathIndex;
102
+ }else{ //make dir or empty file
103
+ check(self->_listener->makeNewDirOrEmptyFile(self->_listener,self->_curPathIndex));
104
+ ++self->_curPathIndex;
105
+ }
106
+ }
107
+ //file entry end
108
+ check(_file_entry_end(self));
109
+ return hpatch_TRUE;
110
+ }
111
+
112
+ static hpatch_BOOL _file_append_part(hpatch_TNewStream* self,hpatch_StreamPos_t g_writeToPos,
113
+ const unsigned char* data,const unsigned char* data_end){
114
+ hpatch_StreamPos_t curFilePos;
115
+ hpatch_StreamPos_t alignRangeSize;
116
+ assert(self->_curNewFile!=0);
117
+ assert((g_writeToPos<=self->_curWriteToPosEnd)&&(g_writeToPos==self->_curWriteToPos));
118
+ alignRangeSize=toAlignRangeSize(self->_curNewFile->streamSize,self->kAlignSize);
119
+ curFilePos=g_writeToPos-(self->_curWriteToPosEnd-alignRangeSize);
120
+ self->_curWriteToPos=g_writeToPos+(size_t)(data_end-data);
121
+ if (curFilePos>=self->_curNewFile->streamSize)
122
+ return hpatch_TRUE;
123
+ if (curFilePos+(size_t)(data_end-data)>self->_curNewFile->streamSize)
124
+ data_end=data+(size_t)(self->_curNewFile->streamSize-curFilePos);
125
+ return self->_curNewFile->write(self->_curNewFile,curFilePos,data,data_end);
126
+ }
127
+
128
+ static hpatch_BOOL _file_append_end(hpatch_TNewStream* self){
129
+ const hpatch_TStreamOutput* curNewFile=self->_curNewFile;
130
+ assert(curNewFile!=0);
131
+ assert(self->_curWriteToPos==self->_curWriteToPosEnd);
132
+ self->_curNewFile=0;
133
+ return self->_listener->closeNewFile(self->_listener,curNewFile);
134
+ }
135
+
136
+ static hpatch_BOOL _file_entry_end(hpatch_TNewStream* self){
137
+ check(!self->isFinish);
138
+ check(self->_curPathIndex==self->_pathCount);
139
+ check(self->_curSamePairIndex==self->_samePairCount);
140
+ self->isFinish=hpatch_TRUE;
141
+ check(self->_listener->writedFinish(self->_listener));
142
+ return hpatch_TRUE;
143
+ }
144
+
145
+ hpatch_BOOL hpatch_TNewStream_open(hpatch_TNewStream* self,hpatch_INewStreamListener* listener,
146
+ hpatch_StreamPos_t newRefDataSize, size_t newPathCount,
147
+ const size_t* newRefList,size_t newRefCount,
148
+ const hpatch_TSameFilePair* samePairList,size_t samePairCount,
149
+ size_t kAlignSize){
150
+ assert(self->_listener==0);
151
+ assert(self->stream==0);
152
+ assert(self->_curNewFile==0);
153
+ self->_listener=listener;
154
+ self->isFinish=hpatch_FALSE;
155
+ self->kAlignSize=kAlignSize;
156
+ self->_pathCount=newPathCount;
157
+ self->_newRefList=newRefList;
158
+ self->_newRefCount=newRefCount;
159
+ self->_samePairList=samePairList;
160
+ self->_samePairCount=samePairCount;
161
+
162
+ self->_stream.streamImport=self;
163
+ self->_stream.streamSize=newRefDataSize;
164
+ self->_stream.read_writed=0;
165
+ self->_stream.write=_TNewStream_write;
166
+ self->stream=&self->_stream;
167
+
168
+ self->_curPathIndex=0;
169
+ self->_curWriteToPos=0;
170
+ self->_curWriteToPosEnd=0;
171
+ self->_curNewRefIndex=0;
172
+ self->_curSamePairIndex=0;
173
+ return _file_append_ready(self);
174
+ }
175
+
176
+ #endif