react-native-update 10.59.2 → 10.61.0

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 (877) hide show
  1. package/README-CN.md +13 -7
  2. package/README.md +15 -6
  3. package/android/build.gradle +25 -33
  4. package/android/jni/Android.mk +18 -24
  5. package/android/jni/Application.mk +3 -1
  6. package/android/lib/arm64-v8a/librnpushy.so +0 -0
  7. package/android/lib/armeabi-v7a/librnpushy.so +0 -0
  8. package/android/lib/x86/librnpushy.so +0 -0
  9. package/android/lib/x86_64/librnpushy.so +0 -0
  10. package/android/proguard.pro +9 -7
  11. package/android/src/main/java/cn/reactnative/modules/update/ApkInstaller.java +3 -8
  12. package/android/src/main/java/cn/reactnative/modules/update/ArchiveLimits.java +24 -6
  13. package/android/src/main/java/cn/reactnative/modules/update/BundlePreparationResult.java +2 -0
  14. package/android/src/main/java/cn/reactnative/modules/update/BundledResourceCopier.java +50 -51
  15. package/android/src/main/java/cn/reactnative/modules/update/CleanupKeepNames.java +12 -13
  16. package/android/src/main/java/cn/reactnative/modules/update/CopyGroupResult.java +3 -0
  17. package/android/src/main/java/cn/reactnative/modules/update/CrashHold.java +22 -30
  18. package/android/src/main/java/cn/reactnative/modules/update/DownloadTask.java +284 -452
  19. package/android/src/main/java/cn/reactnative/modules/update/DownloadTaskParams.java +8 -4
  20. package/android/src/main/java/cn/reactnative/modules/update/ErrorCodes.java +32 -3
  21. package/android/src/main/java/cn/reactnative/modules/update/FileOperationException.java +1 -1
  22. package/android/src/main/java/cn/reactnative/modules/update/FlowBridge.java +39 -8
  23. package/android/src/main/java/cn/reactnative/modules/update/HttpClients.java +63 -0
  24. package/android/src/main/java/cn/reactnative/modules/update/HttpUtils.java +0 -45
  25. package/android/src/main/java/cn/reactnative/modules/update/InstallRecord.java +68 -116
  26. package/android/src/main/java/cn/reactnative/modules/update/NativeCore.java +10 -2
  27. package/android/src/main/java/cn/reactnative/modules/update/PatchFailedException.java +1 -1
  28. package/android/src/main/java/cn/reactnative/modules/update/PushyRuntime.java +53 -62
  29. package/android/src/main/java/cn/reactnative/modules/update/ReactReloadManager.java +9 -24
  30. package/android/src/main/java/cn/reactnative/modules/update/ResumePlan.java +31 -0
  31. package/android/src/main/java/cn/reactnative/modules/update/SafeZipFile.java +42 -80
  32. package/android/src/main/java/cn/reactnative/modules/update/StateSerialRunner.java +22 -39
  33. package/android/src/main/java/cn/reactnative/modules/update/SyncCoordinator.java +474 -500
  34. package/android/src/main/java/cn/reactnative/modules/update/Texts.java +15 -1
  35. package/android/src/main/java/cn/reactnative/modules/update/Threads.java +44 -0
  36. package/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +265 -188
  37. package/android/src/main/java/cn/reactnative/modules/update/UpdateEventEmitter.java +1 -1
  38. package/android/src/main/java/cn/reactnative/modules/update/UpdateFileUtils.java +75 -17
  39. package/android/src/main/java/cn/reactnative/modules/update/{UpdateModuleImpl.java → UpdateModule.java} +114 -96
  40. package/android/src/main/java/cn/reactnative/modules/update/UpdatePackage.java +16 -19
  41. package/android/src/main/java/cn/reactnative/modules/update/VersionScopedKeys.java +64 -0
  42. package/android/src/oldarch/cn/reactnative/modules/update/NativePushySpec.java +71 -0
  43. package/cpp/android_jni/archive_limits_jni.cpp +83 -0
  44. package/cpp/android_jni/install_record_jni.cpp +89 -0
  45. package/cpp/android_jni/jni_log.h +30 -0
  46. package/cpp/android_jni/jni_natives.h +46 -0
  47. package/cpp/android_jni/jni_registration.cpp +146 -0
  48. package/cpp/android_jni/jni_util.h +160 -0
  49. package/cpp/android_jni/resume_plan_jni.cpp +58 -0
  50. package/cpp/android_jni/update_core_android.cpp +448 -0
  51. package/cpp/android_jni/update_flow_jni.cpp +150 -0
  52. package/{android/jni → cpp/hpatch}/hpatch.c +5 -5
  53. package/{android/jni → cpp/hpatch}/hpatch.h +4 -1
  54. package/cpp/patch_core/archive_limits.cpp +194 -0
  55. package/cpp/patch_core/archive_limits.h +101 -10
  56. package/cpp/patch_core/archive_patch_core.cpp +98 -15
  57. package/cpp/patch_core/archive_patch_core.h +51 -0
  58. package/cpp/patch_core/digest.h +5 -4
  59. package/cpp/patch_core/error_codes.h +15 -11
  60. package/cpp/patch_core/install_record.cpp +430 -0
  61. package/cpp/patch_core/install_record.h +165 -9
  62. package/cpp/patch_core/native_texts.h +102 -0
  63. package/cpp/patch_core/patch_core.cpp +62 -16
  64. package/cpp/patch_core/patch_core.h +27 -7
  65. package/cpp/patch_core/patch_manifest.cpp +201 -0
  66. package/cpp/patch_core/patch_manifest.h +74 -0
  67. package/cpp/patch_core/resume_plan.cpp +226 -0
  68. package/cpp/patch_core/resume_plan.h +88 -0
  69. package/cpp/patch_core/state_ops.h +5 -3
  70. package/cpp/update_flow_core/flow_json.cpp +82 -8
  71. package/cpp/update_flow_core/flow_json.h +21 -0
  72. package/cpp/update_flow_core/native_config.cpp +436 -0
  73. package/cpp/update_flow_core/native_config.h +84 -0
  74. package/cpp/update_flow_core/native_round.cpp +321 -0
  75. package/cpp/update_flow_core/native_round.h +94 -0
  76. package/cpp/update_flow_core/round_engine.cpp +456 -0
  77. package/cpp/update_flow_core/round_engine.h +106 -0
  78. package/cpp/update_flow_core/update_flow_core.cpp +5 -14
  79. package/cpp/update_flow_core/update_flow_core.h +2 -2
  80. package/harmony/hvigor-plugin.ts +11 -19
  81. package/harmony/pushy/src/main/cpp/CMakeLists.txt +19 -26
  82. package/harmony/pushy/src/main/cpp/PushyPackage.h +2 -2
  83. package/harmony/pushy/src/main/cpp/PushyTurboModule.cpp +57 -94
  84. package/harmony/pushy/src/main/cpp/pushy.cpp +817 -518
  85. package/harmony/pushy/src/main/ets/ArchiveLimits.ts +55 -75
  86. package/harmony/pushy/src/main/ets/DownloadTask.ts +279 -539
  87. package/harmony/pushy/src/main/ets/DownloadTaskParams.ts +6 -6
  88. package/harmony/pushy/src/main/ets/ErrorCodes.ts +3 -15
  89. package/harmony/pushy/src/main/ets/EventHub.ts +1 -1
  90. package/harmony/pushy/src/main/ets/InstallRecord.ts +54 -151
  91. package/harmony/pushy/src/main/ets/Logger.ts +20 -34
  92. package/harmony/pushy/src/main/ets/NativePatchCore.ts +150 -41
  93. package/harmony/pushy/src/main/ets/PushyConfiguration.ts +8 -85
  94. package/harmony/pushy/src/main/ets/PushyFileJSBundleProvider.ets +8 -3
  95. package/harmony/pushy/src/main/ets/PushyTurboModule.ts +11 -25
  96. package/harmony/pushy/src/main/ets/SaveFile.ts +99 -18
  97. package/harmony/pushy/src/main/ets/SyncCoordinator.ts +291 -543
  98. package/harmony/pushy/src/main/ets/Texts.ts +8 -7
  99. package/harmony/pushy/src/main/ets/UpdateContext.ts +245 -152
  100. package/harmony/pushy.har +0 -0
  101. package/ios/RCTPushy/RCTPushy+Launch.mm +190 -0
  102. package/ios/RCTPushy/RCTPushy.h +12 -0
  103. package/ios/RCTPushy/RCTPushy.mm +135 -2666
  104. package/ios/RCTPushy/RCTPushyCommon.h +28 -0
  105. package/ios/RCTPushy/RCTPushyConfiguration.h +0 -8
  106. package/ios/RCTPushy/RCTPushyConfiguration.mm +40 -123
  107. package/ios/RCTPushy/RCTPushyDownloader.mm +152 -198
  108. package/ios/RCTPushy/RCTPushyInstallRecord.mm +101 -0
  109. package/ios/RCTPushy/RCTPushyInstaller.mm +732 -0
  110. package/ios/RCTPushy/RCTPushyInternal.h +185 -0
  111. package/ios/RCTPushy/RCTPushyOrchestrator.mm +969 -0
  112. package/ios/RCTPushy/RCTPushyState.mm +382 -0
  113. package/package.json +46 -25
  114. package/react-native-update.podspec +73 -82
  115. package/src/client.ts +126 -1633
  116. package/src/clientActivation.ts +324 -0
  117. package/src/clientCheck.ts +405 -0
  118. package/src/clientDownload.ts +448 -0
  119. package/src/clientNativeConfig.ts +171 -0
  120. package/src/clientReporter.ts +398 -0
  121. package/src/clientState.ts +51 -0
  122. package/src/context.ts +1 -1
  123. package/src/core.ts +39 -10
  124. package/src/endpoint.ts +22 -8
  125. package/src/error.ts +18 -35
  126. package/src/i18n.ts +18 -83
  127. package/src/locales/en.ts +1 -5
  128. package/src/locales/zh.ts +1 -5
  129. package/src/provider.tsx +86 -67
  130. package/src/telemetry.ts +0 -13
  131. package/src/type.ts +0 -15
  132. package/src/updateFlowCore.ts +116 -10
  133. package/src/utils.ts +49 -42
  134. package/android/jni/HDiffPatch/.travis.yml +0 -33
  135. package/android/jni/HDiffPatch/CHANGELOG.md +0 -153
  136. package/android/jni/HDiffPatch/Makefile +0 -157
  137. package/android/jni/HDiffPatch/_atosize.h +0 -83
  138. package/android/jni/HDiffPatch/_clock_for_demo.h +0 -47
  139. package/android/jni/HDiffPatch/_dir_ignore.h +0 -191
  140. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +0 -37
  141. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +0 -7
  142. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +0 -1
  143. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +0 -1
  144. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +0 -18
  145. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +0 -20
  146. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +0 -28
  147. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +0 -8
  148. package/android/jni/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +0 -8
  149. package/android/jni/HDiffPatch/builds/codeblocks/HDiffZ.cbp +0 -219
  150. package/android/jni/HDiffPatch/builds/codeblocks/HPatchZ.cbp +0 -156
  151. package/android/jni/HDiffPatch/builds/codeblocks/unitTest.cbp +0 -65
  152. package/android/jni/HDiffPatch/builds/vc/HDiffPatch.sln +0 -105
  153. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj +0 -237
  154. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +0 -3
  155. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj +0 -318
  156. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +0 -3
  157. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj +0 -182
  158. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj.user +0 -3
  159. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +0 -30
  160. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  161. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +0 -408
  162. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  163. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +0 -573
  164. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  165. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  166. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +0 -396
  167. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  168. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +0 -268
  169. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  170. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +0 -361
  171. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  172. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +0 -301
  173. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  174. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  175. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +0 -411
  176. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  177. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +0 -504
  178. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  179. package/android/jni/HDiffPatch/checksum_plugin_demo.h +0 -344
  180. package/android/jni/HDiffPatch/compress_parallel.cpp +0 -166
  181. package/android/jni/HDiffPatch/compress_parallel.h +0 -59
  182. package/android/jni/HDiffPatch/compress_plugin_demo.h +0 -1152
  183. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +0 -797
  184. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +0 -65
  185. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +0 -200
  186. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +0 -178
  187. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +0 -357
  188. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +0 -87
  189. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +0 -151
  190. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +0 -770
  191. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +0 -236
  192. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +0 -47
  193. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +0 -112
  194. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +0 -53
  195. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +0 -331
  196. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +0 -144
  197. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +0 -176
  198. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +0 -84
  199. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +0 -146
  200. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +0 -61
  201. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +0 -152
  202. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +0 -76
  203. package/android/jni/HDiffPatch/hdiffz.cpp +0 -1570
  204. package/android/jni/HDiffPatch/hpatch_dir_listener.h +0 -290
  205. package/android/jni/HDiffPatch/hpatchz.c +0 -1221
  206. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +0 -1025
  207. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.h +0 -116
  208. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +0 -72
  209. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +0 -213
  210. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +0 -63
  211. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +0 -170
  212. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +0 -86
  213. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +0 -89
  214. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +0 -13
  215. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +0 -398
  216. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +0 -194
  217. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +0 -13
  218. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +0 -204
  219. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +0 -207
  220. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +0 -815
  221. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +0 -586
  222. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +0 -381
  223. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +0 -352
  224. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +0 -137
  225. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +0 -137
  226. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +0 -70
  227. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +0 -628
  228. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +0 -87
  229. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +0 -363
  230. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +0 -139
  231. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +0 -68
  232. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +0 -115
  233. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +0 -342
  234. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +0 -94
  235. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +0 -52
  236. package/android/jni/HDiffPatch/libParallel/parallel_channel.cpp +0 -174
  237. package/android/jni/HDiffPatch/libParallel/parallel_channel.h +0 -73
  238. package/android/jni/HDiffPatch/libParallel/parallel_import.cpp +0 -367
  239. package/android/jni/HDiffPatch/libParallel/parallel_import.h +0 -92
  240. package/android/jni/lzma/Asm/arm/7zCrcOpt.asm +0 -100
  241. package/android/jni/lzma/Asm/x86/7zAsm.asm +0 -147
  242. package/android/jni/lzma/Asm/x86/7zCrcOpt.asm +0 -147
  243. package/android/jni/lzma/Asm/x86/AesOpt.asm +0 -237
  244. package/android/jni/lzma/Asm/x86/LzmaDecOpt.asm +0 -1258
  245. package/android/jni/lzma/Asm/x86/XzCrc64Opt.asm +0 -205
  246. package/android/jni/lzma/C/7z.h +0 -202
  247. package/android/jni/lzma/C/7zAlloc.c +0 -80
  248. package/android/jni/lzma/C/7zAlloc.h +0 -19
  249. package/android/jni/lzma/C/7zArcIn.c +0 -1771
  250. package/android/jni/lzma/C/7zBuf.c +0 -36
  251. package/android/jni/lzma/C/7zBuf.h +0 -35
  252. package/android/jni/lzma/C/7zBuf2.c +0 -52
  253. package/android/jni/lzma/C/7zCrc.c +0 -128
  254. package/android/jni/lzma/C/7zCrc.h +0 -25
  255. package/android/jni/lzma/C/7zCrcOpt.c +0 -115
  256. package/android/jni/lzma/C/7zDec.c +0 -591
  257. package/android/jni/lzma/C/7zFile.c +0 -286
  258. package/android/jni/lzma/C/7zFile.h +0 -83
  259. package/android/jni/lzma/C/7zStream.c +0 -176
  260. package/android/jni/lzma/C/7zVersion.h +0 -27
  261. package/android/jni/lzma/C/7zVersion.rc +0 -55
  262. package/android/jni/lzma/C/Aes.c +0 -306
  263. package/android/jni/lzma/C/Aes.h +0 -38
  264. package/android/jni/lzma/C/AesOpt.c +0 -184
  265. package/android/jni/lzma/C/Alloc.c +0 -455
  266. package/android/jni/lzma/C/Alloc.h +0 -51
  267. package/android/jni/lzma/C/Bcj2.c +0 -257
  268. package/android/jni/lzma/C/Bcj2.h +0 -146
  269. package/android/jni/lzma/C/Bcj2Enc.c +0 -311
  270. package/android/jni/lzma/C/Bra.c +0 -230
  271. package/android/jni/lzma/C/Bra.h +0 -64
  272. package/android/jni/lzma/C/Bra86.c +0 -82
  273. package/android/jni/lzma/C/BraIA64.c +0 -53
  274. package/android/jni/lzma/C/CpuArch.c +0 -218
  275. package/android/jni/lzma/C/CpuArch.h +0 -336
  276. package/android/jni/lzma/C/Delta.c +0 -64
  277. package/android/jni/lzma/C/Delta.h +0 -19
  278. package/android/jni/lzma/C/DllSecur.c +0 -108
  279. package/android/jni/lzma/C/DllSecur.h +0 -20
  280. package/android/jni/lzma/C/LzFind.c +0 -1127
  281. package/android/jni/lzma/C/LzFind.h +0 -121
  282. package/android/jni/lzma/C/LzFindMt.c +0 -853
  283. package/android/jni/lzma/C/LzFindMt.h +0 -101
  284. package/android/jni/lzma/C/LzHash.h +0 -57
  285. package/android/jni/lzma/C/Lzma2DecMt.c +0 -1082
  286. package/android/jni/lzma/C/Lzma2DecMt.h +0 -79
  287. package/android/jni/lzma/C/Lzma2Enc.c +0 -803
  288. package/android/jni/lzma/C/Lzma2Enc.h +0 -55
  289. package/android/jni/lzma/C/Lzma86.h +0 -111
  290. package/android/jni/lzma/C/Lzma86Dec.c +0 -54
  291. package/android/jni/lzma/C/Lzma86Enc.c +0 -106
  292. package/android/jni/lzma/C/LzmaEnc.c +0 -2976
  293. package/android/jni/lzma/C/LzmaEnc.h +0 -76
  294. package/android/jni/lzma/C/LzmaLib.c +0 -40
  295. package/android/jni/lzma/C/LzmaLib.h +0 -131
  296. package/android/jni/lzma/C/MtCoder.c +0 -601
  297. package/android/jni/lzma/C/MtCoder.h +0 -141
  298. package/android/jni/lzma/C/MtDec.c +0 -1138
  299. package/android/jni/lzma/C/MtDec.h +0 -201
  300. package/android/jni/lzma/C/Ppmd.h +0 -85
  301. package/android/jni/lzma/C/Ppmd7.c +0 -712
  302. package/android/jni/lzma/C/Ppmd7.h +0 -142
  303. package/android/jni/lzma/C/Ppmd7Dec.c +0 -191
  304. package/android/jni/lzma/C/Ppmd7Enc.c +0 -187
  305. package/android/jni/lzma/C/RotateDefs.h +0 -30
  306. package/android/jni/lzma/C/Sha256.c +0 -248
  307. package/android/jni/lzma/C/Sha256.h +0 -26
  308. package/android/jni/lzma/C/Sort.c +0 -141
  309. package/android/jni/lzma/C/Sort.h +0 -18
  310. package/android/jni/lzma/C/Threads.c +0 -95
  311. package/android/jni/lzma/C/Threads.h +0 -70
  312. package/android/jni/lzma/C/ThreadsP.c +0 -396
  313. package/android/jni/lzma/C/ThreadsP.h +0 -31
  314. package/android/jni/lzma/C/Util/7z/7z.dsp +0 -241
  315. package/android/jni/lzma/C/Util/7z/7z.dsw +0 -29
  316. package/android/jni/lzma/C/Util/7z/7zMain.c +0 -686
  317. package/android/jni/lzma/C/Util/7z/Precomp.c +0 -4
  318. package/android/jni/lzma/C/Util/7z/Precomp.h +0 -10
  319. package/android/jni/lzma/C/Util/7z/makefile +0 -40
  320. package/android/jni/lzma/C/Util/7z/makefile.gcc +0 -75
  321. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.c +0 -258
  322. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsp +0 -168
  323. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsw +0 -29
  324. package/android/jni/lzma/C/Util/Lzma/makefile +0 -28
  325. package/android/jni/lzma/C/Util/Lzma/makefile.gcc +0 -44
  326. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.def +0 -4
  327. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsp +0 -178
  328. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsw +0 -29
  329. package/android/jni/lzma/C/Util/LzmaLib/LzmaLibExports.c +0 -14
  330. package/android/jni/lzma/C/Util/LzmaLib/makefile +0 -34
  331. package/android/jni/lzma/C/Util/LzmaLib/resource.rc +0 -3
  332. package/android/jni/lzma/C/Util/SfxSetup/Precomp.c +0 -4
  333. package/android/jni/lzma/C/Util/SfxSetup/Precomp.h +0 -10
  334. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.c +0 -640
  335. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsp +0 -231
  336. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsw +0 -29
  337. package/android/jni/lzma/C/Util/SfxSetup/makefile +0 -37
  338. package/android/jni/lzma/C/Util/SfxSetup/makefile_con +0 -38
  339. package/android/jni/lzma/C/Util/SfxSetup/resource.rc +0 -5
  340. package/android/jni/lzma/C/Util/SfxSetup/setup.ico +0 -0
  341. package/android/jni/lzma/C/Xz.c +0 -90
  342. package/android/jni/lzma/C/Xz.h +0 -460
  343. package/android/jni/lzma/C/XzCrc64.c +0 -86
  344. package/android/jni/lzma/C/XzCrc64.h +0 -26
  345. package/android/jni/lzma/C/XzCrc64Opt.c +0 -69
  346. package/android/jni/lzma/C/XzDec.c +0 -2766
  347. package/android/jni/lzma/C/XzEnc.c +0 -1329
  348. package/android/jni/lzma/C/XzEnc.h +0 -60
  349. package/android/jni/lzma/C/XzIn.c +0 -319
  350. package/android/jni/lzma/CPP/7zip/7zip.mak +0 -240
  351. package/android/jni/lzma/CPP/7zip/Aes.mak +0 -7
  352. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +0 -3
  353. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +0 -76
  354. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +0 -569
  355. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.h +0 -70
  356. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +0 -678
  357. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.h +0 -92
  358. package/android/jni/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +0 -423
  359. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +0 -139
  360. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +0 -61
  361. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +0 -763
  362. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.h +0 -181
  363. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +0 -942
  364. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +0 -19
  365. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.h +0 -148
  366. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.cpp +0 -1666
  367. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.h +0 -445
  368. package/android/jni/lzma/CPP/7zip/Archive/7z/7zItem.h +0 -202
  369. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.cpp +0 -901
  370. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.h +0 -335
  371. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +0 -174
  372. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.h +0 -22
  373. package/android/jni/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +0 -21
  374. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +0 -22
  375. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +0 -35
  376. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +0 -2500
  377. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.h +0 -139
  378. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +0 -3
  379. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.h +0 -8
  380. package/android/jni/lzma/CPP/7zip/Archive/Archive.def +0 -12
  381. package/android/jni/lzma/CPP/7zip/Archive/Archive2.def +0 -19
  382. package/android/jni/lzma/CPP/7zip/Archive/ArchiveExports.cpp +0 -151
  383. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +0 -1125
  384. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +0 -447
  385. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +0 -17
  386. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +0 -25
  387. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +0 -232
  388. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.h +0 -110
  389. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +0 -46
  390. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +0 -67
  391. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +0 -88
  392. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +0 -28
  393. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +0 -191
  394. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.h +0 -89
  395. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +0 -18
  396. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +0 -37
  397. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +0 -3
  398. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.h +0 -6
  399. package/android/jni/lzma/CPP/7zip/Archive/Common/StdAfx.h +0 -8
  400. package/android/jni/lzma/CPP/7zip/Archive/DllExports2.cpp +0 -122
  401. package/android/jni/lzma/CPP/7zip/Archive/IArchive.h +0 -608
  402. package/android/jni/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  403. package/android/jni/lzma/CPP/7zip/Archive/LzmaHandler.cpp +0 -629
  404. package/android/jni/lzma/CPP/7zip/Archive/SplitHandler.cpp +0 -359
  405. package/android/jni/lzma/CPP/7zip/Archive/StdAfx.h +0 -8
  406. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.cpp +0 -1308
  407. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.h +0 -11
  408. package/android/jni/lzma/CPP/7zip/Asm.mak +0 -9
  409. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +0 -1910
  410. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +0 -29
  411. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +0 -3
  412. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +0 -8
  413. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/makefile +0 -154
  414. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +0 -7
  415. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +0 -3
  416. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +0 -8
  417. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +0 -96
  418. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +0 -5
  419. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +0 -3
  420. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +0 -8
  421. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/makefile +0 -116
  422. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +0 -5
  423. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +0 -799
  424. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +0 -477
  425. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +0 -29
  426. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +0 -3
  427. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +0 -8
  428. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile +0 -59
  429. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +0 -195
  430. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +0 -3
  431. package/android/jni/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +0 -715
  432. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  433. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +0 -912
  434. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +0 -29
  435. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +0 -482
  436. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +0 -3
  437. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +0 -8
  438. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/makefile +0 -134
  439. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +0 -5
  440. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +0 -246
  441. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +0 -86
  442. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +0 -137
  443. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +0 -11
  444. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +0 -803
  445. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +0 -29
  446. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +0 -364
  447. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +0 -3
  448. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +0 -13
  449. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/makefile +0 -117
  450. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +0 -6
  451. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +0 -16
  452. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  453. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  454. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +0 -988
  455. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +0 -29
  456. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +0 -241
  457. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +0 -3
  458. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +0 -14
  459. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/makefile +0 -153
  460. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.h +0 -1
  461. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +0 -50
  462. package/android/jni/lzma/CPP/7zip/Common/CWrappers.cpp +0 -250
  463. package/android/jni/lzma/CPP/7zip/Common/CWrappers.h +0 -120
  464. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.cpp +0 -536
  465. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.h +0 -192
  466. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +0 -46
  467. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.h +0 -10
  468. package/android/jni/lzma/CPP/7zip/Common/FileStreams.cpp +0 -475
  469. package/android/jni/lzma/CPP/7zip/Common/FileStreams.h +0 -166
  470. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.cpp +0 -435
  471. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.h +0 -205
  472. package/android/jni/lzma/CPP/7zip/Common/InBuffer.cpp +0 -163
  473. package/android/jni/lzma/CPP/7zip/Common/InBuffer.h +0 -92
  474. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +0 -127
  475. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.h +0 -48
  476. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.cpp +0 -367
  477. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.h +0 -252
  478. package/android/jni/lzma/CPP/7zip/Common/LockedStream.cpp +0 -3
  479. package/android/jni/lzma/CPP/7zip/Common/LockedStream.h +0 -6
  480. package/android/jni/lzma/CPP/7zip/Common/MethodId.cpp +0 -3
  481. package/android/jni/lzma/CPP/7zip/Common/MethodId.h +0 -10
  482. package/android/jni/lzma/CPP/7zip/Common/MethodProps.cpp +0 -509
  483. package/android/jni/lzma/CPP/7zip/Common/MethodProps.h +0 -264
  484. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.cpp +0 -39
  485. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.h +0 -26
  486. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.cpp +0 -111
  487. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.h +0 -66
  488. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.cpp +0 -51
  489. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.h +0 -35
  490. package/android/jni/lzma/CPP/7zip/Common/PropId.cpp +0 -108
  491. package/android/jni/lzma/CPP/7zip/Common/RegisterArc.h +0 -78
  492. package/android/jni/lzma/CPP/7zip/Common/RegisterCodec.h +0 -106
  493. package/android/jni/lzma/CPP/7zip/Common/StdAfx.h +0 -8
  494. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.cpp +0 -156
  495. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.h +0 -60
  496. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.cpp +0 -285
  497. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.h +0 -157
  498. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.cpp +0 -56
  499. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.h +0 -13
  500. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.cpp +0 -57
  501. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.h +0 -26
  502. package/android/jni/lzma/CPP/7zip/Common/VirtThread.cpp +0 -48
  503. package/android/jni/lzma/CPP/7zip/Common/VirtThread.h +0 -24
  504. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +0 -666
  505. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.h +0 -120
  506. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Register.cpp +0 -24
  507. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.cpp +0 -24
  508. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.h +0 -31
  509. package/android/jni/lzma/CPP/7zip/Compress/BcjRegister.cpp +0 -17
  510. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.cpp +0 -23
  511. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.h +0 -35
  512. package/android/jni/lzma/CPP/7zip/Compress/BranchRegister.cpp +0 -41
  513. package/android/jni/lzma/CPP/7zip/Compress/ByteSwap.cpp +0 -92
  514. package/android/jni/lzma/CPP/7zip/Compress/CodecExports.cpp +0 -344
  515. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.cpp +0 -120
  516. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.h +0 -49
  517. package/android/jni/lzma/CPP/7zip/Compress/CopyRegister.cpp +0 -15
  518. package/android/jni/lzma/CPP/7zip/Compress/DeltaFilter.cpp +0 -128
  519. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +0 -265
  520. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.h +0 -96
  521. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +0 -122
  522. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.h +0 -42
  523. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Register.cpp +0 -22
  524. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +0 -343
  525. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.h +0 -113
  526. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +0 -182
  527. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.h +0 -46
  528. package/android/jni/lzma/CPP/7zip/Compress/LzmaRegister.cpp +0 -22
  529. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +0 -170
  530. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.h +0 -86
  531. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +0 -152
  532. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.h +0 -58
  533. package/android/jni/lzma/CPP/7zip/Compress/PpmdRegister.cpp +0 -22
  534. package/android/jni/lzma/CPP/7zip/Compress/StdAfx.h +0 -8
  535. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.cpp +0 -150
  536. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.h +0 -92
  537. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.cpp +0 -245
  538. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.h +0 -46
  539. package/android/jni/lzma/CPP/7zip/Crc.mak +0 -8
  540. package/android/jni/lzma/CPP/7zip/Crc64.mak +0 -8
  541. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.cpp +0 -280
  542. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.h +0 -118
  543. package/android/jni/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +0 -17
  544. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.cpp +0 -112
  545. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.h +0 -57
  546. package/android/jni/lzma/CPP/7zip/Crypto/MyAesReg.cpp +0 -16
  547. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.cpp +0 -233
  548. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.h +0 -40
  549. package/android/jni/lzma/CPP/7zip/Crypto/StdAfx.h +0 -8
  550. package/android/jni/lzma/CPP/7zip/GuiCommon.rc +0 -84
  551. package/android/jni/lzma/CPP/7zip/Guid.txt +0 -220
  552. package/android/jni/lzma/CPP/7zip/ICoder.h +0 -399
  553. package/android/jni/lzma/CPP/7zip/IDecl.h +0 -28
  554. package/android/jni/lzma/CPP/7zip/IPassword.h +0 -23
  555. package/android/jni/lzma/CPP/7zip/IProgress.h +0 -19
  556. package/android/jni/lzma/CPP/7zip/IStream.h +0 -127
  557. package/android/jni/lzma/CPP/7zip/LzmaDec.mak +0 -5
  558. package/android/jni/lzma/CPP/7zip/MyVersion.h +0 -2
  559. package/android/jni/lzma/CPP/7zip/MyVersionInfo.rc +0 -2
  560. package/android/jni/lzma/CPP/7zip/PropID.h +0 -127
  561. package/android/jni/lzma/CPP/7zip/SubBuild.mak +0 -3
  562. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +0 -993
  563. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +0 -235
  564. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +0 -29
  565. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +0 -3
  566. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.h +0 -8
  567. package/android/jni/lzma/CPP/7zip/UI/Client7z/makefile +0 -28
  568. package/android/jni/lzma/CPP/7zip/UI/Client7z/resource.rc +0 -3
  569. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +0 -1295
  570. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +0 -136
  571. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +0 -1715
  572. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +0 -403
  573. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +0 -155
  574. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.h +0 -10
  575. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +0 -161
  576. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +0 -112
  577. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.cpp +0 -3618
  578. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.h +0 -77
  579. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.cpp +0 -37
  580. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.h +0 -11
  581. package/android/jni/lzma/CPP/7zip/UI/Common/DirItem.h +0 -190
  582. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +0 -1096
  583. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.h +0 -42
  584. package/android/jni/lzma/CPP/7zip/UI/Common/ExitCode.h +0 -27
  585. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.cpp +0 -482
  586. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.h +0 -94
  587. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractMode.h +0 -34
  588. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +0 -280
  589. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +0 -31
  590. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.cpp +0 -347
  591. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.h +0 -110
  592. package/android/jni/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +0 -114
  593. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +0 -1074
  594. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.h +0 -424
  595. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +0 -3553
  596. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.h +0 -436
  597. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +0 -668
  598. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.h +0 -18
  599. package/android/jni/lzma/CPP/7zip/UI/Common/Property.h +0 -14
  600. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.cpp +0 -80
  601. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.h +0 -10
  602. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.cpp +0 -25
  603. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.h +0 -10
  604. package/android/jni/lzma/CPP/7zip/UI/Common/StdAfx.h +0 -8
  605. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.cpp +0 -19
  606. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.h +0 -16
  607. package/android/jni/lzma/CPP/7zip/UI/Common/Update.cpp +0 -1704
  608. package/android/jni/lzma/CPP/7zip/UI/Common/Update.h +0 -200
  609. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +0 -64
  610. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.h +0 -66
  611. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +0 -771
  612. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.h +0 -162
  613. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +0 -233
  614. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.h +0 -27
  615. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +0 -70
  616. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.h +0 -55
  617. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.cpp +0 -94
  618. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.h +0 -26
  619. package/android/jni/lzma/CPP/7zip/UI/Common/ZipRegistry.h +0 -130
  620. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.cpp +0 -41
  621. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.h +0 -14
  622. package/android/jni/lzma/CPP/7zip/UI/Console/Console.mak +0 -43
  623. package/android/jni/lzma/CPP/7zip/UI/Console/Console.manifest +0 -13
  624. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +0 -69
  625. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.h +0 -33
  626. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +0 -825
  627. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +0 -164
  628. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.cpp +0 -367
  629. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.h +0 -48
  630. package/android/jni/lzma/CPP/7zip/UI/Console/List.cpp +0 -1359
  631. package/android/jni/lzma/CPP/7zip/UI/Console/List.h +0 -27
  632. package/android/jni/lzma/CPP/7zip/UI/Console/Main.cpp +0 -1154
  633. package/android/jni/lzma/CPP/7zip/UI/Console/MainAr.cpp +0 -175
  634. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +0 -115
  635. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +0 -66
  636. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +0 -183
  637. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.h +0 -62
  638. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.cpp +0 -3
  639. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.h +0 -8
  640. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +0 -702
  641. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +0 -124
  642. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +0 -110
  643. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.h +0 -27
  644. package/android/jni/lzma/CPP/7zip/UI/Console/makefile +0 -64
  645. package/android/jni/lzma/CPP/7zip/UI/Console/resource.rc +0 -7
  646. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +0 -37
  647. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.h +0 -16
  648. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +0 -1025
  649. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +0 -21
  650. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +0 -9
  651. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +0 -64
  652. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +0 -28
  653. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +0 -4
  654. package/android/jni/lzma/CPP/7zip/UI/FileManager/DialogSize.h +0 -16
  655. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +0 -1037
  656. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +0 -328
  657. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +0 -28
  658. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +0 -14
  659. package/android/jni/lzma/CPP/7zip/UI/FileManager/LangUtils.h +0 -40
  660. package/android/jni/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +0 -76
  661. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +0 -122
  662. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +0 -69
  663. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +0 -91
  664. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +0 -17
  665. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +0 -58
  666. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +0 -28
  667. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +0 -14
  668. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +0 -5
  669. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +0 -196
  670. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +0 -170
  671. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +0 -12
  672. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +0 -1337
  673. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +0 -351
  674. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +0 -40
  675. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +0 -48
  676. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +0 -80
  677. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +0 -3
  678. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +0 -23
  679. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.h +0 -10
  680. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +0 -95
  681. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +0 -255
  682. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +0 -62
  683. package/android/jni/lzma/CPP/7zip/UI/FileManager/resource.h +0 -177
  684. package/android/jni/lzma/CPP/7zip/UI/FileManager/resourceGui.h +0 -15
  685. package/android/jni/lzma/CPP/7zip/UI/GUI/Extract.rc +0 -59
  686. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +0 -418
  687. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +0 -113
  688. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +0 -98
  689. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +0 -24
  690. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +0 -280
  691. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +0 -38
  692. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractRes.h +0 -51
  693. package/android/jni/lzma/CPP/7zip/UI/GUI/HashGUI.h +0 -27
  694. package/android/jni/lzma/CPP/7zip/UI/GUI/resource2.h +0 -2
  695. package/android/jni/lzma/CPP/Build.mak +0 -156
  696. package/android/jni/lzma/CPP/Common/AutoPtr.h +0 -35
  697. package/android/jni/lzma/CPP/Common/CRC.cpp +0 -7
  698. package/android/jni/lzma/CPP/Common/C_FileIO.cpp +0 -92
  699. package/android/jni/lzma/CPP/Common/C_FileIO.h +0 -53
  700. package/android/jni/lzma/CPP/Common/ComTry.h +0 -21
  701. package/android/jni/lzma/CPP/Common/CommandLineParser.cpp +0 -197
  702. package/android/jni/lzma/CPP/Common/CommandLineParser.h +0 -63
  703. package/android/jni/lzma/CPP/Common/Common.h +0 -43
  704. package/android/jni/lzma/CPP/Common/CrcReg.cpp +0 -98
  705. package/android/jni/lzma/CPP/Common/Defs.h +0 -15
  706. package/android/jni/lzma/CPP/Common/DynamicBuffer.h +0 -64
  707. package/android/jni/lzma/CPP/Common/IntToString.cpp +0 -193
  708. package/android/jni/lzma/CPP/Common/IntToString.h +0 -28
  709. package/android/jni/lzma/CPP/Common/Lang.h +0 -23
  710. package/android/jni/lzma/CPP/Common/ListFileUtils.cpp +0 -132
  711. package/android/jni/lzma/CPP/Common/ListFileUtils.h +0 -18
  712. package/android/jni/lzma/CPP/Common/MyBuffer.h +0 -259
  713. package/android/jni/lzma/CPP/Common/MyBuffer2.h +0 -100
  714. package/android/jni/lzma/CPP/Common/MyCom.h +0 -277
  715. package/android/jni/lzma/CPP/Common/MyException.h +0 -14
  716. package/android/jni/lzma/CPP/Common/MyGuidDef.h +0 -54
  717. package/android/jni/lzma/CPP/Common/MyInitGuid.h +0 -45
  718. package/android/jni/lzma/CPP/Common/MyLinux.h +0 -42
  719. package/android/jni/lzma/CPP/Common/MyString.cpp +0 -1659
  720. package/android/jni/lzma/CPP/Common/MyString.h +0 -868
  721. package/android/jni/lzma/CPP/Common/MyTypes.h +0 -35
  722. package/android/jni/lzma/CPP/Common/MyUnknown.h +0 -17
  723. package/android/jni/lzma/CPP/Common/MyVector.cpp +0 -3
  724. package/android/jni/lzma/CPP/Common/MyVector.h +0 -634
  725. package/android/jni/lzma/CPP/Common/MyWindows.cpp +0 -145
  726. package/android/jni/lzma/CPP/Common/MyWindows.h +0 -231
  727. package/android/jni/lzma/CPP/Common/NewHandler.cpp +0 -163
  728. package/android/jni/lzma/CPP/Common/NewHandler.h +0 -88
  729. package/android/jni/lzma/CPP/Common/Sha256Reg.cpp +0 -40
  730. package/android/jni/lzma/CPP/Common/StdAfx.h +0 -8
  731. package/android/jni/lzma/CPP/Common/StdInStream.cpp +0 -89
  732. package/android/jni/lzma/CPP/Common/StdInStream.h +0 -38
  733. package/android/jni/lzma/CPP/Common/StdOutStream.cpp +0 -163
  734. package/android/jni/lzma/CPP/Common/StdOutStream.h +0 -71
  735. package/android/jni/lzma/CPP/Common/StringConvert.cpp +0 -319
  736. package/android/jni/lzma/CPP/Common/StringConvert.h +0 -88
  737. package/android/jni/lzma/CPP/Common/StringToInt.cpp +0 -144
  738. package/android/jni/lzma/CPP/Common/StringToInt.h +0 -21
  739. package/android/jni/lzma/CPP/Common/TextConfig.cpp +0 -124
  740. package/android/jni/lzma/CPP/Common/TextConfig.h +0 -19
  741. package/android/jni/lzma/CPP/Common/UTFConvert.cpp +0 -288
  742. package/android/jni/lzma/CPP/Common/UTFConvert.h +0 -12
  743. package/android/jni/lzma/CPP/Common/Wildcard.cpp +0 -676
  744. package/android/jni/lzma/CPP/Common/Wildcard.h +0 -149
  745. package/android/jni/lzma/CPP/Common/XzCrc64Init.cpp +0 -7
  746. package/android/jni/lzma/CPP/Common/XzCrc64Reg.cpp +0 -42
  747. package/android/jni/lzma/CPP/Windows/COM.h +0 -70
  748. package/android/jni/lzma/CPP/Windows/CommonDialog.cpp +0 -185
  749. package/android/jni/lzma/CPP/Windows/CommonDialog.h +0 -23
  750. package/android/jni/lzma/CPP/Windows/Control/ComboBox.cpp +0 -66
  751. package/android/jni/lzma/CPP/Windows/Control/ComboBox.h +0 -65
  752. package/android/jni/lzma/CPP/Windows/Control/CommandBar.h +0 -52
  753. package/android/jni/lzma/CPP/Windows/Control/Dialog.cpp +0 -251
  754. package/android/jni/lzma/CPP/Windows/Control/Dialog.h +0 -170
  755. package/android/jni/lzma/CPP/Windows/Control/Edit.h +0 -19
  756. package/android/jni/lzma/CPP/Windows/Control/ImageList.cpp +0 -10
  757. package/android/jni/lzma/CPP/Windows/Control/ImageList.h +0 -87
  758. package/android/jni/lzma/CPP/Windows/Control/ListView.cpp +0 -155
  759. package/android/jni/lzma/CPP/Windows/Control/ListView.h +0 -146
  760. package/android/jni/lzma/CPP/Windows/Control/ProgressBar.h +0 -35
  761. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.cpp +0 -143
  762. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.h +0 -50
  763. package/android/jni/lzma/CPP/Windows/Control/ReBar.h +0 -34
  764. package/android/jni/lzma/CPP/Windows/Control/Static.h +0 -28
  765. package/android/jni/lzma/CPP/Windows/Control/StatusBar.h +0 -42
  766. package/android/jni/lzma/CPP/Windows/Control/StdAfx.h +0 -8
  767. package/android/jni/lzma/CPP/Windows/Control/ToolBar.h +0 -43
  768. package/android/jni/lzma/CPP/Windows/Control/Trackbar.h +0 -27
  769. package/android/jni/lzma/CPP/Windows/Control/Window2.cpp +0 -200
  770. package/android/jni/lzma/CPP/Windows/Control/Window2.h +0 -51
  771. package/android/jni/lzma/CPP/Windows/DLL.cpp +0 -109
  772. package/android/jni/lzma/CPP/Windows/DLL.h +0 -58
  773. package/android/jni/lzma/CPP/Windows/Defs.h +0 -17
  774. package/android/jni/lzma/CPP/Windows/ErrorMsg.cpp +0 -66
  775. package/android/jni/lzma/CPP/Windows/ErrorMsg.h +0 -15
  776. package/android/jni/lzma/CPP/Windows/FileDir.cpp +0 -714
  777. package/android/jni/lzma/CPP/Windows/FileDir.h +0 -117
  778. package/android/jni/lzma/CPP/Windows/FileFind.cpp +0 -749
  779. package/android/jni/lzma/CPP/Windows/FileFind.h +0 -161
  780. package/android/jni/lzma/CPP/Windows/FileIO.cpp +0 -432
  781. package/android/jni/lzma/CPP/Windows/FileIO.h +0 -212
  782. package/android/jni/lzma/CPP/Windows/FileLink.cpp +0 -440
  783. package/android/jni/lzma/CPP/Windows/FileMapping.cpp +0 -12
  784. package/android/jni/lzma/CPP/Windows/FileMapping.h +0 -66
  785. package/android/jni/lzma/CPP/Windows/FileName.cpp +0 -839
  786. package/android/jni/lzma/CPP/Windows/FileName.h +0 -115
  787. package/android/jni/lzma/CPP/Windows/FileSystem.cpp +0 -131
  788. package/android/jni/lzma/CPP/Windows/FileSystem.h +0 -27
  789. package/android/jni/lzma/CPP/Windows/Handle.h +0 -37
  790. package/android/jni/lzma/CPP/Windows/MemoryLock.cpp +0 -112
  791. package/android/jni/lzma/CPP/Windows/MemoryLock.h +0 -40
  792. package/android/jni/lzma/CPP/Windows/NtCheck.h +0 -46
  793. package/android/jni/lzma/CPP/Windows/PropVariant.cpp +0 -347
  794. package/android/jni/lzma/CPP/Windows/PropVariant.h +0 -114
  795. package/android/jni/lzma/CPP/Windows/PropVariantConv.cpp +0 -138
  796. package/android/jni/lzma/CPP/Windows/PropVariantConv.h +0 -37
  797. package/android/jni/lzma/CPP/Windows/Registry.cpp +0 -390
  798. package/android/jni/lzma/CPP/Windows/Registry.h +0 -84
  799. package/android/jni/lzma/CPP/Windows/ResourceString.cpp +0 -103
  800. package/android/jni/lzma/CPP/Windows/ResourceString.h +0 -16
  801. package/android/jni/lzma/CPP/Windows/SecurityUtils.cpp +0 -181
  802. package/android/jni/lzma/CPP/Windows/SecurityUtils.h +0 -167
  803. package/android/jni/lzma/CPP/Windows/Shell.cpp +0 -358
  804. package/android/jni/lzma/CPP/Windows/Shell.h +0 -94
  805. package/android/jni/lzma/CPP/Windows/StdAfx.h +0 -8
  806. package/android/jni/lzma/CPP/Windows/Synchronization.cpp +0 -10
  807. package/android/jni/lzma/CPP/Windows/Synchronization.h +0 -164
  808. package/android/jni/lzma/CPP/Windows/System.cpp +0 -142
  809. package/android/jni/lzma/CPP/Windows/System.h +0 -40
  810. package/android/jni/lzma/CPP/Windows/Thread.h +0 -38
  811. package/android/jni/lzma/CPP/Windows/TimeUtils.cpp +0 -213
  812. package/android/jni/lzma/CPP/Windows/TimeUtils.h +0 -32
  813. package/android/jni/lzma/CPP/Windows/Window.cpp +0 -179
  814. package/android/jni/lzma/CPP/Windows/Window.h +0 -284
  815. package/android/jni/lzma/CS/7zip/Common/CRC.cs +0 -55
  816. package/android/jni/lzma/CS/7zip/Common/CommandLineParser.cs +0 -274
  817. package/android/jni/lzma/CS/7zip/Common/InBuffer.cs +0 -72
  818. package/android/jni/lzma/CS/7zip/Common/OutBuffer.cs +0 -47
  819. package/android/jni/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +0 -24
  820. package/android/jni/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +0 -367
  821. package/android/jni/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +0 -132
  822. package/android/jni/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +0 -110
  823. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +0 -76
  824. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +0 -398
  825. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +0 -1480
  826. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +0 -364
  827. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +0 -90
  828. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +0 -20
  829. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +0 -340
  830. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +0 -29
  831. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +0 -70
  832. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +0 -42
  833. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +0 -234
  834. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +0 -117
  835. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +0 -157
  836. package/android/jni/lzma/CS/7zip/ICoder.cs +0 -157
  837. package/android/jni/lzma/DOC/7zC.txt +0 -187
  838. package/android/jni/lzma/DOC/7zFormat.txt +0 -469
  839. package/android/jni/lzma/DOC/Methods.txt +0 -173
  840. package/android/jni/lzma/DOC/installer.txt +0 -166
  841. package/android/jni/lzma/DOC/lzma-history.txt +0 -446
  842. package/android/jni/lzma/DOC/lzma-specification.txt +0 -1176
  843. package/android/jni/lzma/DOC/lzma.txt +0 -328
  844. package/android/jni/lzma/Java/SevenZip/CRC.java +0 -52
  845. package/android/jni/lzma/Java/SevenZip/Compression/LZ/BinTree.java +0 -382
  846. package/android/jni/lzma/Java/SevenZip/Compression/LZ/InWindow.java +0 -131
  847. package/android/jni/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +0 -85
  848. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Base.java +0 -88
  849. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +0 -329
  850. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +0 -1416
  851. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +0 -55
  852. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +0 -99
  853. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +0 -88
  854. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +0 -151
  855. package/android/jni/lzma/Java/SevenZip/ICodeProgress.java +0 -6
  856. package/android/jni/lzma/Java/SevenZip/LzmaAlone.java +0 -253
  857. package/android/jni/lzma/Java/SevenZip/LzmaBench.java +0 -392
  858. package/android/jni/lzma/bin/7zS2.sfx +0 -0
  859. package/android/jni/lzma/bin/7zS2con.sfx +0 -0
  860. package/android/jni/lzma/bin/7zSD.sfx +0 -0
  861. package/android/jni/lzma/bin/7zdec.exe +0 -0
  862. package/android/jni/lzma/bin/7zr.exe +0 -0
  863. package/android/jni/lzma/bin/installer/config.txt +0 -5
  864. package/android/jni/lzma/bin/installer/cr.bat +0 -5
  865. package/android/jni/lzma/bin/lzma.exe +0 -0
  866. package/android/jni/lzma/bin/x64/7zr.exe +0 -0
  867. package/android/src/main/java/cn/reactnative/modules/update/ArchivePatchPlanResult.java +0 -6
  868. package/android/src/main/java/cn/reactnative/modules/update/PushyConfiguration.java +0 -104
  869. package/android/src/main/java/cn/reactnative/modules/update/UiThreadRunner.java +0 -37
  870. package/android/src/newarch/cn/reactnative/modules/update/UpdateModule.java +0 -121
  871. package/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java +0 -125
  872. package/cpp/patch_core/jni_natives.h +0 -27
  873. package/cpp/patch_core/jni_registration.cpp +0 -103
  874. package/cpp/patch_core/jni_util.h +0 -60
  875. package/cpp/patch_core/patch_core_android.cpp +0 -97
  876. package/cpp/patch_core/update_core_android.cpp +0 -485
  877. package/cpp/update_flow_core/update_flow_jni.cpp +0 -150
@@ -1,1771 +0,0 @@
1
- /* 7zArcIn.c -- 7z Input functions
2
- 2018-12-31 : Igor Pavlov : Public domain */
3
-
4
- #include "Precomp.h"
5
-
6
- #include <string.h>
7
-
8
- #include "7z.h"
9
- #include "7zBuf.h"
10
- #include "7zCrc.h"
11
- #include "CpuArch.h"
12
-
13
- #define MY_ALLOC(T, p, size, alloc) { \
14
- if ((p = (T *)ISzAlloc_Alloc(alloc, (size) * sizeof(T))) == NULL) return SZ_ERROR_MEM; }
15
-
16
- #define MY_ALLOC_ZE(T, p, size, alloc) { if ((size) == 0) p = NULL; else MY_ALLOC(T, p, size, alloc) }
17
-
18
- #define MY_ALLOC_AND_CPY(to, size, from, alloc) \
19
- { MY_ALLOC(Byte, to, size, alloc); memcpy(to, from, size); }
20
-
21
- #define MY_ALLOC_ZE_AND_CPY(to, size, from, alloc) \
22
- { if ((size) == 0) to = NULL; else { MY_ALLOC_AND_CPY(to, size, from, alloc) } }
23
-
24
- #define k7zMajorVersion 0
25
-
26
- enum EIdEnum
27
- {
28
- k7zIdEnd,
29
- k7zIdHeader,
30
- k7zIdArchiveProperties,
31
- k7zIdAdditionalStreamsInfo,
32
- k7zIdMainStreamsInfo,
33
- k7zIdFilesInfo,
34
- k7zIdPackInfo,
35
- k7zIdUnpackInfo,
36
- k7zIdSubStreamsInfo,
37
- k7zIdSize,
38
- k7zIdCRC,
39
- k7zIdFolder,
40
- k7zIdCodersUnpackSize,
41
- k7zIdNumUnpackStream,
42
- k7zIdEmptyStream,
43
- k7zIdEmptyFile,
44
- k7zIdAnti,
45
- k7zIdName,
46
- k7zIdCTime,
47
- k7zIdATime,
48
- k7zIdMTime,
49
- k7zIdWinAttrib,
50
- k7zIdComment,
51
- k7zIdEncodedHeader,
52
- k7zIdStartPos,
53
- k7zIdDummy
54
- // k7zNtSecure,
55
- // k7zParent,
56
- // k7zIsReal
57
- };
58
-
59
- const Byte k7zSignature[k7zSignatureSize] = {'7', 'z', 0xBC, 0xAF, 0x27, 0x1C};
60
-
61
- #define SzBitUi32s_Init(p) { (p)->Defs = NULL; (p)->Vals = NULL; }
62
-
63
- static SRes SzBitUi32s_Alloc(CSzBitUi32s *p, size_t num, ISzAllocPtr alloc)
64
- {
65
- if (num == 0)
66
- {
67
- p->Defs = NULL;
68
- p->Vals = NULL;
69
- }
70
- else
71
- {
72
- MY_ALLOC(Byte, p->Defs, (num + 7) >> 3, alloc);
73
- MY_ALLOC(UInt32, p->Vals, num, alloc);
74
- }
75
- return SZ_OK;
76
- }
77
-
78
- void SzBitUi32s_Free(CSzBitUi32s *p, ISzAllocPtr alloc)
79
- {
80
- ISzAlloc_Free(alloc, p->Defs); p->Defs = NULL;
81
- ISzAlloc_Free(alloc, p->Vals); p->Vals = NULL;
82
- }
83
-
84
- #define SzBitUi64s_Init(p) { (p)->Defs = NULL; (p)->Vals = NULL; }
85
-
86
- void SzBitUi64s_Free(CSzBitUi64s *p, ISzAllocPtr alloc)
87
- {
88
- ISzAlloc_Free(alloc, p->Defs); p->Defs = NULL;
89
- ISzAlloc_Free(alloc, p->Vals); p->Vals = NULL;
90
- }
91
-
92
-
93
- static void SzAr_Init(CSzAr *p)
94
- {
95
- p->NumPackStreams = 0;
96
- p->NumFolders = 0;
97
-
98
- p->PackPositions = NULL;
99
- SzBitUi32s_Init(&p->FolderCRCs);
100
-
101
- p->FoCodersOffsets = NULL;
102
- p->FoStartPackStreamIndex = NULL;
103
- p->FoToCoderUnpackSizes = NULL;
104
- p->FoToMainUnpackSizeIndex = NULL;
105
- p->CoderUnpackSizes = NULL;
106
-
107
- p->CodersData = NULL;
108
- }
109
-
110
- static void SzAr_Free(CSzAr *p, ISzAllocPtr alloc)
111
- {
112
- ISzAlloc_Free(alloc, p->PackPositions);
113
- SzBitUi32s_Free(&p->FolderCRCs, alloc);
114
-
115
- ISzAlloc_Free(alloc, p->FoCodersOffsets);
116
- ISzAlloc_Free(alloc, p->FoStartPackStreamIndex);
117
- ISzAlloc_Free(alloc, p->FoToCoderUnpackSizes);
118
- ISzAlloc_Free(alloc, p->FoToMainUnpackSizeIndex);
119
- ISzAlloc_Free(alloc, p->CoderUnpackSizes);
120
-
121
- ISzAlloc_Free(alloc, p->CodersData);
122
-
123
- SzAr_Init(p);
124
- }
125
-
126
-
127
- void SzArEx_Init(CSzArEx *p)
128
- {
129
- SzAr_Init(&p->db);
130
-
131
- p->NumFiles = 0;
132
- p->dataPos = 0;
133
-
134
- p->UnpackPositions = NULL;
135
- p->IsDirs = NULL;
136
-
137
- p->FolderToFile = NULL;
138
- p->FileToFolder = NULL;
139
-
140
- p->FileNameOffsets = NULL;
141
- p->FileNames = NULL;
142
-
143
- SzBitUi32s_Init(&p->CRCs);
144
- SzBitUi32s_Init(&p->Attribs);
145
- // SzBitUi32s_Init(&p->Parents);
146
- SzBitUi64s_Init(&p->MTime);
147
- SzBitUi64s_Init(&p->CTime);
148
- }
149
-
150
- void SzArEx_Free(CSzArEx *p, ISzAllocPtr alloc)
151
- {
152
- ISzAlloc_Free(alloc, p->UnpackPositions);
153
- ISzAlloc_Free(alloc, p->IsDirs);
154
-
155
- ISzAlloc_Free(alloc, p->FolderToFile);
156
- ISzAlloc_Free(alloc, p->FileToFolder);
157
-
158
- ISzAlloc_Free(alloc, p->FileNameOffsets);
159
- ISzAlloc_Free(alloc, p->FileNames);
160
-
161
- SzBitUi32s_Free(&p->CRCs, alloc);
162
- SzBitUi32s_Free(&p->Attribs, alloc);
163
- // SzBitUi32s_Free(&p->Parents, alloc);
164
- SzBitUi64s_Free(&p->MTime, alloc);
165
- SzBitUi64s_Free(&p->CTime, alloc);
166
-
167
- SzAr_Free(&p->db, alloc);
168
- SzArEx_Init(p);
169
- }
170
-
171
-
172
- static int TestSignatureCandidate(const Byte *testBytes)
173
- {
174
- unsigned i;
175
- for (i = 0; i < k7zSignatureSize; i++)
176
- if (testBytes[i] != k7zSignature[i])
177
- return 0;
178
- return 1;
179
- }
180
-
181
- #define SzData_Clear(p) { (p)->Data = NULL; (p)->Size = 0; }
182
-
183
- #define SZ_READ_BYTE_SD(_sd_, dest) if ((_sd_)->Size == 0) return SZ_ERROR_ARCHIVE; (_sd_)->Size--; dest = *(_sd_)->Data++;
184
- #define SZ_READ_BYTE(dest) SZ_READ_BYTE_SD(sd, dest)
185
- #define SZ_READ_BYTE_2(dest) if (sd.Size == 0) return SZ_ERROR_ARCHIVE; sd.Size--; dest = *sd.Data++;
186
-
187
- #define SKIP_DATA(sd, size) { sd->Size -= (size_t)(size); sd->Data += (size_t)(size); }
188
- #define SKIP_DATA2(sd, size) { sd.Size -= (size_t)(size); sd.Data += (size_t)(size); }
189
-
190
- #define SZ_READ_32(dest) if (sd.Size < 4) return SZ_ERROR_ARCHIVE; \
191
- dest = GetUi32(sd.Data); SKIP_DATA2(sd, 4);
192
-
193
- static MY_NO_INLINE SRes ReadNumber(CSzData *sd, UInt64 *value)
194
- {
195
- Byte firstByte, mask;
196
- unsigned i;
197
- UInt32 v;
198
-
199
- SZ_READ_BYTE(firstByte);
200
- if ((firstByte & 0x80) == 0)
201
- {
202
- *value = firstByte;
203
- return SZ_OK;
204
- }
205
- SZ_READ_BYTE(v);
206
- if ((firstByte & 0x40) == 0)
207
- {
208
- *value = (((UInt32)firstByte & 0x3F) << 8) | v;
209
- return SZ_OK;
210
- }
211
- SZ_READ_BYTE(mask);
212
- *value = v | ((UInt32)mask << 8);
213
- mask = 0x20;
214
- for (i = 2; i < 8; i++)
215
- {
216
- Byte b;
217
- if ((firstByte & mask) == 0)
218
- {
219
- UInt64 highPart = (unsigned)firstByte & (unsigned)(mask - 1);
220
- *value |= (highPart << (8 * i));
221
- return SZ_OK;
222
- }
223
- SZ_READ_BYTE(b);
224
- *value |= ((UInt64)b << (8 * i));
225
- mask >>= 1;
226
- }
227
- return SZ_OK;
228
- }
229
-
230
-
231
- static MY_NO_INLINE SRes SzReadNumber32(CSzData *sd, UInt32 *value)
232
- {
233
- Byte firstByte;
234
- UInt64 value64;
235
- if (sd->Size == 0)
236
- return SZ_ERROR_ARCHIVE;
237
- firstByte = *sd->Data;
238
- if ((firstByte & 0x80) == 0)
239
- {
240
- *value = firstByte;
241
- sd->Data++;
242
- sd->Size--;
243
- return SZ_OK;
244
- }
245
- RINOK(ReadNumber(sd, &value64));
246
- if (value64 >= (UInt32)0x80000000 - 1)
247
- return SZ_ERROR_UNSUPPORTED;
248
- if (value64 >= ((UInt64)(1) << ((sizeof(size_t) - 1) * 8 + 4)))
249
- return SZ_ERROR_UNSUPPORTED;
250
- *value = (UInt32)value64;
251
- return SZ_OK;
252
- }
253
-
254
- #define ReadID(sd, value) ReadNumber(sd, value)
255
-
256
- static SRes SkipData(CSzData *sd)
257
- {
258
- UInt64 size;
259
- RINOK(ReadNumber(sd, &size));
260
- if (size > sd->Size)
261
- return SZ_ERROR_ARCHIVE;
262
- SKIP_DATA(sd, size);
263
- return SZ_OK;
264
- }
265
-
266
- static SRes WaitId(CSzData *sd, UInt32 id)
267
- {
268
- for (;;)
269
- {
270
- UInt64 type;
271
- RINOK(ReadID(sd, &type));
272
- if (type == id)
273
- return SZ_OK;
274
- if (type == k7zIdEnd)
275
- return SZ_ERROR_ARCHIVE;
276
- RINOK(SkipData(sd));
277
- }
278
- }
279
-
280
- static SRes RememberBitVector(CSzData *sd, UInt32 numItems, const Byte **v)
281
- {
282
- UInt32 numBytes = (numItems + 7) >> 3;
283
- if (numBytes > sd->Size)
284
- return SZ_ERROR_ARCHIVE;
285
- *v = sd->Data;
286
- SKIP_DATA(sd, numBytes);
287
- return SZ_OK;
288
- }
289
-
290
- static UInt32 CountDefinedBits(const Byte *bits, UInt32 numItems)
291
- {
292
- Byte b = 0;
293
- unsigned m = 0;
294
- UInt32 sum = 0;
295
- for (; numItems != 0; numItems--)
296
- {
297
- if (m == 0)
298
- {
299
- b = *bits++;
300
- m = 8;
301
- }
302
- m--;
303
- sum += ((b >> m) & 1);
304
- }
305
- return sum;
306
- }
307
-
308
- static MY_NO_INLINE SRes ReadBitVector(CSzData *sd, UInt32 numItems, Byte **v, ISzAllocPtr alloc)
309
- {
310
- Byte allAreDefined;
311
- Byte *v2;
312
- UInt32 numBytes = (numItems + 7) >> 3;
313
- *v = NULL;
314
- SZ_READ_BYTE(allAreDefined);
315
- if (numBytes == 0)
316
- return SZ_OK;
317
- if (allAreDefined == 0)
318
- {
319
- if (numBytes > sd->Size)
320
- return SZ_ERROR_ARCHIVE;
321
- MY_ALLOC_AND_CPY(*v, numBytes, sd->Data, alloc);
322
- SKIP_DATA(sd, numBytes);
323
- return SZ_OK;
324
- }
325
- MY_ALLOC(Byte, *v, numBytes, alloc);
326
- v2 = *v;
327
- memset(v2, 0xFF, (size_t)numBytes);
328
- {
329
- unsigned numBits = (unsigned)numItems & 7;
330
- if (numBits != 0)
331
- v2[(size_t)numBytes - 1] = (Byte)((((UInt32)1 << numBits) - 1) << (8 - numBits));
332
- }
333
- return SZ_OK;
334
- }
335
-
336
- static MY_NO_INLINE SRes ReadUi32s(CSzData *sd2, UInt32 numItems, CSzBitUi32s *crcs, ISzAllocPtr alloc)
337
- {
338
- UInt32 i;
339
- CSzData sd;
340
- UInt32 *vals;
341
- const Byte *defs;
342
- MY_ALLOC_ZE(UInt32, crcs->Vals, numItems, alloc);
343
- sd = *sd2;
344
- defs = crcs->Defs;
345
- vals = crcs->Vals;
346
- for (i = 0; i < numItems; i++)
347
- if (SzBitArray_Check(defs, i))
348
- {
349
- SZ_READ_32(vals[i]);
350
- }
351
- else
352
- vals[i] = 0;
353
- *sd2 = sd;
354
- return SZ_OK;
355
- }
356
-
357
- static SRes ReadBitUi32s(CSzData *sd, UInt32 numItems, CSzBitUi32s *crcs, ISzAllocPtr alloc)
358
- {
359
- SzBitUi32s_Free(crcs, alloc);
360
- RINOK(ReadBitVector(sd, numItems, &crcs->Defs, alloc));
361
- return ReadUi32s(sd, numItems, crcs, alloc);
362
- }
363
-
364
- static SRes SkipBitUi32s(CSzData *sd, UInt32 numItems)
365
- {
366
- Byte allAreDefined;
367
- UInt32 numDefined = numItems;
368
- SZ_READ_BYTE(allAreDefined);
369
- if (!allAreDefined)
370
- {
371
- size_t numBytes = (numItems + 7) >> 3;
372
- if (numBytes > sd->Size)
373
- return SZ_ERROR_ARCHIVE;
374
- numDefined = CountDefinedBits(sd->Data, numItems);
375
- SKIP_DATA(sd, numBytes);
376
- }
377
- if (numDefined > (sd->Size >> 2))
378
- return SZ_ERROR_ARCHIVE;
379
- SKIP_DATA(sd, (size_t)numDefined * 4);
380
- return SZ_OK;
381
- }
382
-
383
- static SRes ReadPackInfo(CSzAr *p, CSzData *sd, ISzAllocPtr alloc)
384
- {
385
- RINOK(SzReadNumber32(sd, &p->NumPackStreams));
386
-
387
- RINOK(WaitId(sd, k7zIdSize));
388
- MY_ALLOC(UInt64, p->PackPositions, (size_t)p->NumPackStreams + 1, alloc);
389
- {
390
- UInt64 sum = 0;
391
- UInt32 i;
392
- UInt32 numPackStreams = p->NumPackStreams;
393
- for (i = 0; i < numPackStreams; i++)
394
- {
395
- UInt64 packSize;
396
- p->PackPositions[i] = sum;
397
- RINOK(ReadNumber(sd, &packSize));
398
- sum += packSize;
399
- if (sum < packSize)
400
- return SZ_ERROR_ARCHIVE;
401
- }
402
- p->PackPositions[i] = sum;
403
- }
404
-
405
- for (;;)
406
- {
407
- UInt64 type;
408
- RINOK(ReadID(sd, &type));
409
- if (type == k7zIdEnd)
410
- return SZ_OK;
411
- if (type == k7zIdCRC)
412
- {
413
- /* CRC of packed streams is unused now */
414
- RINOK(SkipBitUi32s(sd, p->NumPackStreams));
415
- continue;
416
- }
417
- RINOK(SkipData(sd));
418
- }
419
- }
420
-
421
- /*
422
- static SRes SzReadSwitch(CSzData *sd)
423
- {
424
- Byte external;
425
- RINOK(SzReadByte(sd, &external));
426
- return (external == 0) ? SZ_OK: SZ_ERROR_UNSUPPORTED;
427
- }
428
- */
429
-
430
- #define k_NumCodersStreams_in_Folder_MAX (SZ_NUM_BONDS_IN_FOLDER_MAX + SZ_NUM_PACK_STREAMS_IN_FOLDER_MAX)
431
-
432
- SRes SzGetNextFolderItem(CSzFolder *f, CSzData *sd)
433
- {
434
- UInt32 numCoders, i;
435
- UInt32 numInStreams = 0;
436
- const Byte *dataStart = sd->Data;
437
-
438
- f->NumCoders = 0;
439
- f->NumBonds = 0;
440
- f->NumPackStreams = 0;
441
- f->UnpackStream = 0;
442
-
443
- RINOK(SzReadNumber32(sd, &numCoders));
444
- if (numCoders == 0 || numCoders > SZ_NUM_CODERS_IN_FOLDER_MAX)
445
- return SZ_ERROR_UNSUPPORTED;
446
-
447
- for (i = 0; i < numCoders; i++)
448
- {
449
- Byte mainByte;
450
- CSzCoderInfo *coder = f->Coders + i;
451
- unsigned idSize, j;
452
- UInt64 id;
453
-
454
- SZ_READ_BYTE(mainByte);
455
- if ((mainByte & 0xC0) != 0)
456
- return SZ_ERROR_UNSUPPORTED;
457
-
458
- idSize = (unsigned)(mainByte & 0xF);
459
- if (idSize > sizeof(id))
460
- return SZ_ERROR_UNSUPPORTED;
461
- if (idSize > sd->Size)
462
- return SZ_ERROR_ARCHIVE;
463
- id = 0;
464
- for (j = 0; j < idSize; j++)
465
- {
466
- id = ((id << 8) | *sd->Data);
467
- sd->Data++;
468
- sd->Size--;
469
- }
470
- if (id > (UInt32)0xFFFFFFFF)
471
- return SZ_ERROR_UNSUPPORTED;
472
- coder->MethodID = (UInt32)id;
473
-
474
- coder->NumStreams = 1;
475
- coder->PropsOffset = 0;
476
- coder->PropsSize = 0;
477
-
478
- if ((mainByte & 0x10) != 0)
479
- {
480
- UInt32 numStreams;
481
-
482
- RINOK(SzReadNumber32(sd, &numStreams));
483
- if (numStreams > k_NumCodersStreams_in_Folder_MAX)
484
- return SZ_ERROR_UNSUPPORTED;
485
- coder->NumStreams = (Byte)numStreams;
486
-
487
- RINOK(SzReadNumber32(sd, &numStreams));
488
- if (numStreams != 1)
489
- return SZ_ERROR_UNSUPPORTED;
490
- }
491
-
492
- numInStreams += coder->NumStreams;
493
-
494
- if (numInStreams > k_NumCodersStreams_in_Folder_MAX)
495
- return SZ_ERROR_UNSUPPORTED;
496
-
497
- if ((mainByte & 0x20) != 0)
498
- {
499
- UInt32 propsSize = 0;
500
- RINOK(SzReadNumber32(sd, &propsSize));
501
- if (propsSize > sd->Size)
502
- return SZ_ERROR_ARCHIVE;
503
- if (propsSize >= 0x80)
504
- return SZ_ERROR_UNSUPPORTED;
505
- coder->PropsOffset = sd->Data - dataStart;
506
- coder->PropsSize = (Byte)propsSize;
507
- sd->Data += (size_t)propsSize;
508
- sd->Size -= (size_t)propsSize;
509
- }
510
- }
511
-
512
- /*
513
- if (numInStreams == 1 && numCoders == 1)
514
- {
515
- f->NumPackStreams = 1;
516
- f->PackStreams[0] = 0;
517
- }
518
- else
519
- */
520
- {
521
- Byte streamUsed[k_NumCodersStreams_in_Folder_MAX];
522
- UInt32 numBonds, numPackStreams;
523
-
524
- numBonds = numCoders - 1;
525
- if (numInStreams < numBonds)
526
- return SZ_ERROR_ARCHIVE;
527
- if (numBonds > SZ_NUM_BONDS_IN_FOLDER_MAX)
528
- return SZ_ERROR_UNSUPPORTED;
529
- f->NumBonds = numBonds;
530
-
531
- numPackStreams = numInStreams - numBonds;
532
- if (numPackStreams > SZ_NUM_PACK_STREAMS_IN_FOLDER_MAX)
533
- return SZ_ERROR_UNSUPPORTED;
534
- f->NumPackStreams = numPackStreams;
535
-
536
- for (i = 0; i < numInStreams; i++)
537
- streamUsed[i] = False;
538
-
539
- if (numBonds != 0)
540
- {
541
- Byte coderUsed[SZ_NUM_CODERS_IN_FOLDER_MAX];
542
-
543
- for (i = 0; i < numCoders; i++)
544
- coderUsed[i] = False;
545
-
546
- for (i = 0; i < numBonds; i++)
547
- {
548
- CSzBond *bp = f->Bonds + i;
549
-
550
- RINOK(SzReadNumber32(sd, &bp->InIndex));
551
- if (bp->InIndex >= numInStreams || streamUsed[bp->InIndex])
552
- return SZ_ERROR_ARCHIVE;
553
- streamUsed[bp->InIndex] = True;
554
-
555
- RINOK(SzReadNumber32(sd, &bp->OutIndex));
556
- if (bp->OutIndex >= numCoders || coderUsed[bp->OutIndex])
557
- return SZ_ERROR_ARCHIVE;
558
- coderUsed[bp->OutIndex] = True;
559
- }
560
-
561
- for (i = 0; i < numCoders; i++)
562
- if (!coderUsed[i])
563
- {
564
- f->UnpackStream = i;
565
- break;
566
- }
567
-
568
- if (i == numCoders)
569
- return SZ_ERROR_ARCHIVE;
570
- }
571
-
572
- if (numPackStreams == 1)
573
- {
574
- for (i = 0; i < numInStreams; i++)
575
- if (!streamUsed[i])
576
- break;
577
- if (i == numInStreams)
578
- return SZ_ERROR_ARCHIVE;
579
- f->PackStreams[0] = i;
580
- }
581
- else
582
- for (i = 0; i < numPackStreams; i++)
583
- {
584
- UInt32 index;
585
- RINOK(SzReadNumber32(sd, &index));
586
- if (index >= numInStreams || streamUsed[index])
587
- return SZ_ERROR_ARCHIVE;
588
- streamUsed[index] = True;
589
- f->PackStreams[i] = index;
590
- }
591
- }
592
-
593
- f->NumCoders = numCoders;
594
-
595
- return SZ_OK;
596
- }
597
-
598
-
599
- static MY_NO_INLINE SRes SkipNumbers(CSzData *sd2, UInt32 num)
600
- {
601
- CSzData sd;
602
- sd = *sd2;
603
- for (; num != 0; num--)
604
- {
605
- Byte firstByte, mask;
606
- unsigned i;
607
- SZ_READ_BYTE_2(firstByte);
608
- if ((firstByte & 0x80) == 0)
609
- continue;
610
- if ((firstByte & 0x40) == 0)
611
- {
612
- if (sd.Size == 0)
613
- return SZ_ERROR_ARCHIVE;
614
- sd.Size--;
615
- sd.Data++;
616
- continue;
617
- }
618
- mask = 0x20;
619
- for (i = 2; i < 8 && (firstByte & mask) != 0; i++)
620
- mask >>= 1;
621
- if (i > sd.Size)
622
- return SZ_ERROR_ARCHIVE;
623
- SKIP_DATA2(sd, i);
624
- }
625
- *sd2 = sd;
626
- return SZ_OK;
627
- }
628
-
629
-
630
- #define k_Scan_NumCoders_MAX 64
631
- #define k_Scan_NumCodersStreams_in_Folder_MAX 64
632
-
633
-
634
- static SRes ReadUnpackInfo(CSzAr *p,
635
- CSzData *sd2,
636
- UInt32 numFoldersMax,
637
- const CBuf *tempBufs, UInt32 numTempBufs,
638
- ISzAllocPtr alloc)
639
- {
640
- CSzData sd;
641
-
642
- UInt32 fo, numFolders, numCodersOutStreams, packStreamIndex;
643
- const Byte *startBufPtr;
644
- Byte external;
645
-
646
- RINOK(WaitId(sd2, k7zIdFolder));
647
-
648
- RINOK(SzReadNumber32(sd2, &numFolders));
649
- if (numFolders > numFoldersMax)
650
- return SZ_ERROR_UNSUPPORTED;
651
- p->NumFolders = numFolders;
652
-
653
- SZ_READ_BYTE_SD(sd2, external);
654
- if (external == 0)
655
- sd = *sd2;
656
- else
657
- {
658
- UInt32 index;
659
- RINOK(SzReadNumber32(sd2, &index));
660
- if (index >= numTempBufs)
661
- return SZ_ERROR_ARCHIVE;
662
- sd.Data = tempBufs[index].data;
663
- sd.Size = tempBufs[index].size;
664
- }
665
-
666
- MY_ALLOC(size_t, p->FoCodersOffsets, (size_t)numFolders + 1, alloc);
667
- MY_ALLOC(UInt32, p->FoStartPackStreamIndex, (size_t)numFolders + 1, alloc);
668
- MY_ALLOC(UInt32, p->FoToCoderUnpackSizes, (size_t)numFolders + 1, alloc);
669
- MY_ALLOC_ZE(Byte, p->FoToMainUnpackSizeIndex, (size_t)numFolders, alloc);
670
-
671
- startBufPtr = sd.Data;
672
-
673
- packStreamIndex = 0;
674
- numCodersOutStreams = 0;
675
-
676
- for (fo = 0; fo < numFolders; fo++)
677
- {
678
- UInt32 numCoders, ci, numInStreams = 0;
679
-
680
- p->FoCodersOffsets[fo] = sd.Data - startBufPtr;
681
-
682
- RINOK(SzReadNumber32(&sd, &numCoders));
683
- if (numCoders == 0 || numCoders > k_Scan_NumCoders_MAX)
684
- return SZ_ERROR_UNSUPPORTED;
685
-
686
- for (ci = 0; ci < numCoders; ci++)
687
- {
688
- Byte mainByte;
689
- unsigned idSize;
690
- UInt32 coderInStreams;
691
-
692
- SZ_READ_BYTE_2(mainByte);
693
- if ((mainByte & 0xC0) != 0)
694
- return SZ_ERROR_UNSUPPORTED;
695
- idSize = (mainByte & 0xF);
696
- if (idSize > 8)
697
- return SZ_ERROR_UNSUPPORTED;
698
- if (idSize > sd.Size)
699
- return SZ_ERROR_ARCHIVE;
700
- SKIP_DATA2(sd, idSize);
701
-
702
- coderInStreams = 1;
703
-
704
- if ((mainByte & 0x10) != 0)
705
- {
706
- UInt32 coderOutStreams;
707
- RINOK(SzReadNumber32(&sd, &coderInStreams));
708
- RINOK(SzReadNumber32(&sd, &coderOutStreams));
709
- if (coderInStreams > k_Scan_NumCodersStreams_in_Folder_MAX || coderOutStreams != 1)
710
- return SZ_ERROR_UNSUPPORTED;
711
- }
712
-
713
- numInStreams += coderInStreams;
714
-
715
- if ((mainByte & 0x20) != 0)
716
- {
717
- UInt32 propsSize;
718
- RINOK(SzReadNumber32(&sd, &propsSize));
719
- if (propsSize > sd.Size)
720
- return SZ_ERROR_ARCHIVE;
721
- SKIP_DATA2(sd, propsSize);
722
- }
723
- }
724
-
725
- {
726
- UInt32 indexOfMainStream = 0;
727
- UInt32 numPackStreams = 1;
728
-
729
- if (numCoders != 1 || numInStreams != 1)
730
- {
731
- Byte streamUsed[k_Scan_NumCodersStreams_in_Folder_MAX];
732
- Byte coderUsed[k_Scan_NumCoders_MAX];
733
-
734
- UInt32 i;
735
- UInt32 numBonds = numCoders - 1;
736
- if (numInStreams < numBonds)
737
- return SZ_ERROR_ARCHIVE;
738
-
739
- if (numInStreams > k_Scan_NumCodersStreams_in_Folder_MAX)
740
- return SZ_ERROR_UNSUPPORTED;
741
-
742
- for (i = 0; i < numInStreams; i++)
743
- streamUsed[i] = False;
744
- for (i = 0; i < numCoders; i++)
745
- coderUsed[i] = False;
746
-
747
- for (i = 0; i < numBonds; i++)
748
- {
749
- UInt32 index;
750
-
751
- RINOK(SzReadNumber32(&sd, &index));
752
- if (index >= numInStreams || streamUsed[index])
753
- return SZ_ERROR_ARCHIVE;
754
- streamUsed[index] = True;
755
-
756
- RINOK(SzReadNumber32(&sd, &index));
757
- if (index >= numCoders || coderUsed[index])
758
- return SZ_ERROR_ARCHIVE;
759
- coderUsed[index] = True;
760
- }
761
-
762
- numPackStreams = numInStreams - numBonds;
763
-
764
- if (numPackStreams != 1)
765
- for (i = 0; i < numPackStreams; i++)
766
- {
767
- UInt32 index;
768
- RINOK(SzReadNumber32(&sd, &index));
769
- if (index >= numInStreams || streamUsed[index])
770
- return SZ_ERROR_ARCHIVE;
771
- streamUsed[index] = True;
772
- }
773
-
774
- for (i = 0; i < numCoders; i++)
775
- if (!coderUsed[i])
776
- {
777
- indexOfMainStream = i;
778
- break;
779
- }
780
-
781
- if (i == numCoders)
782
- return SZ_ERROR_ARCHIVE;
783
- }
784
-
785
- p->FoStartPackStreamIndex[fo] = packStreamIndex;
786
- p->FoToCoderUnpackSizes[fo] = numCodersOutStreams;
787
- p->FoToMainUnpackSizeIndex[fo] = (Byte)indexOfMainStream;
788
- numCodersOutStreams += numCoders;
789
- if (numCodersOutStreams < numCoders)
790
- return SZ_ERROR_UNSUPPORTED;
791
- if (numPackStreams > p->NumPackStreams - packStreamIndex)
792
- return SZ_ERROR_ARCHIVE;
793
- packStreamIndex += numPackStreams;
794
- }
795
- }
796
-
797
- p->FoToCoderUnpackSizes[fo] = numCodersOutStreams;
798
-
799
- {
800
- size_t dataSize = sd.Data - startBufPtr;
801
- p->FoStartPackStreamIndex[fo] = packStreamIndex;
802
- p->FoCodersOffsets[fo] = dataSize;
803
- MY_ALLOC_ZE_AND_CPY(p->CodersData, dataSize, startBufPtr, alloc);
804
- }
805
-
806
- if (external != 0)
807
- {
808
- if (sd.Size != 0)
809
- return SZ_ERROR_ARCHIVE;
810
- sd = *sd2;
811
- }
812
-
813
- RINOK(WaitId(&sd, k7zIdCodersUnpackSize));
814
-
815
- MY_ALLOC_ZE(UInt64, p->CoderUnpackSizes, (size_t)numCodersOutStreams, alloc);
816
- {
817
- UInt32 i;
818
- for (i = 0; i < numCodersOutStreams; i++)
819
- {
820
- RINOK(ReadNumber(&sd, p->CoderUnpackSizes + i));
821
- }
822
- }
823
-
824
- for (;;)
825
- {
826
- UInt64 type;
827
- RINOK(ReadID(&sd, &type));
828
- if (type == k7zIdEnd)
829
- {
830
- *sd2 = sd;
831
- return SZ_OK;
832
- }
833
- if (type == k7zIdCRC)
834
- {
835
- RINOK(ReadBitUi32s(&sd, numFolders, &p->FolderCRCs, alloc));
836
- continue;
837
- }
838
- RINOK(SkipData(&sd));
839
- }
840
- }
841
-
842
-
843
- UInt64 SzAr_GetFolderUnpackSize(const CSzAr *p, UInt32 folderIndex)
844
- {
845
- return p->CoderUnpackSizes[p->FoToCoderUnpackSizes[folderIndex] + p->FoToMainUnpackSizeIndex[folderIndex]];
846
- }
847
-
848
-
849
- typedef struct
850
- {
851
- UInt32 NumTotalSubStreams;
852
- UInt32 NumSubDigests;
853
- CSzData sdNumSubStreams;
854
- CSzData sdSizes;
855
- CSzData sdCRCs;
856
- } CSubStreamInfo;
857
-
858
-
859
- static SRes ReadSubStreamsInfo(CSzAr *p, CSzData *sd, CSubStreamInfo *ssi)
860
- {
861
- UInt64 type = 0;
862
- UInt32 numSubDigests = 0;
863
- UInt32 numFolders = p->NumFolders;
864
- UInt32 numUnpackStreams = numFolders;
865
- UInt32 numUnpackSizesInData = 0;
866
-
867
- for (;;)
868
- {
869
- RINOK(ReadID(sd, &type));
870
- if (type == k7zIdNumUnpackStream)
871
- {
872
- UInt32 i;
873
- ssi->sdNumSubStreams.Data = sd->Data;
874
- numUnpackStreams = 0;
875
- numSubDigests = 0;
876
- for (i = 0; i < numFolders; i++)
877
- {
878
- UInt32 numStreams;
879
- RINOK(SzReadNumber32(sd, &numStreams));
880
- if (numUnpackStreams > numUnpackStreams + numStreams)
881
- return SZ_ERROR_UNSUPPORTED;
882
- numUnpackStreams += numStreams;
883
- if (numStreams != 0)
884
- numUnpackSizesInData += (numStreams - 1);
885
- if (numStreams != 1 || !SzBitWithVals_Check(&p->FolderCRCs, i))
886
- numSubDigests += numStreams;
887
- }
888
- ssi->sdNumSubStreams.Size = sd->Data - ssi->sdNumSubStreams.Data;
889
- continue;
890
- }
891
- if (type == k7zIdCRC || type == k7zIdSize || type == k7zIdEnd)
892
- break;
893
- RINOK(SkipData(sd));
894
- }
895
-
896
- if (!ssi->sdNumSubStreams.Data)
897
- {
898
- numSubDigests = numFolders;
899
- if (p->FolderCRCs.Defs)
900
- numSubDigests = numFolders - CountDefinedBits(p->FolderCRCs.Defs, numFolders);
901
- }
902
-
903
- ssi->NumTotalSubStreams = numUnpackStreams;
904
- ssi->NumSubDigests = numSubDigests;
905
-
906
- if (type == k7zIdSize)
907
- {
908
- ssi->sdSizes.Data = sd->Data;
909
- RINOK(SkipNumbers(sd, numUnpackSizesInData));
910
- ssi->sdSizes.Size = sd->Data - ssi->sdSizes.Data;
911
- RINOK(ReadID(sd, &type));
912
- }
913
-
914
- for (;;)
915
- {
916
- if (type == k7zIdEnd)
917
- return SZ_OK;
918
- if (type == k7zIdCRC)
919
- {
920
- ssi->sdCRCs.Data = sd->Data;
921
- RINOK(SkipBitUi32s(sd, numSubDigests));
922
- ssi->sdCRCs.Size = sd->Data - ssi->sdCRCs.Data;
923
- }
924
- else
925
- {
926
- RINOK(SkipData(sd));
927
- }
928
- RINOK(ReadID(sd, &type));
929
- }
930
- }
931
-
932
- static SRes SzReadStreamsInfo(CSzAr *p,
933
- CSzData *sd,
934
- UInt32 numFoldersMax, const CBuf *tempBufs, UInt32 numTempBufs,
935
- UInt64 *dataOffset,
936
- CSubStreamInfo *ssi,
937
- ISzAllocPtr alloc)
938
- {
939
- UInt64 type;
940
-
941
- SzData_Clear(&ssi->sdSizes);
942
- SzData_Clear(&ssi->sdCRCs);
943
- SzData_Clear(&ssi->sdNumSubStreams);
944
-
945
- *dataOffset = 0;
946
- RINOK(ReadID(sd, &type));
947
- if (type == k7zIdPackInfo)
948
- {
949
- RINOK(ReadNumber(sd, dataOffset));
950
- RINOK(ReadPackInfo(p, sd, alloc));
951
- RINOK(ReadID(sd, &type));
952
- }
953
- if (type == k7zIdUnpackInfo)
954
- {
955
- RINOK(ReadUnpackInfo(p, sd, numFoldersMax, tempBufs, numTempBufs, alloc));
956
- RINOK(ReadID(sd, &type));
957
- }
958
- if (type == k7zIdSubStreamsInfo)
959
- {
960
- RINOK(ReadSubStreamsInfo(p, sd, ssi));
961
- RINOK(ReadID(sd, &type));
962
- }
963
- else
964
- {
965
- ssi->NumTotalSubStreams = p->NumFolders;
966
- // ssi->NumSubDigests = 0;
967
- }
968
-
969
- return (type == k7zIdEnd ? SZ_OK : SZ_ERROR_UNSUPPORTED);
970
- }
971
-
972
- static SRes SzReadAndDecodePackedStreams(
973
- ILookInStream *inStream,
974
- CSzData *sd,
975
- CBuf *tempBufs,
976
- UInt32 numFoldersMax,
977
- UInt64 baseOffset,
978
- CSzAr *p,
979
- ISzAllocPtr allocTemp)
980
- {
981
- UInt64 dataStartPos;
982
- UInt32 fo;
983
- CSubStreamInfo ssi;
984
-
985
- RINOK(SzReadStreamsInfo(p, sd, numFoldersMax, NULL, 0, &dataStartPos, &ssi, allocTemp));
986
-
987
- dataStartPos += baseOffset;
988
- if (p->NumFolders == 0)
989
- return SZ_ERROR_ARCHIVE;
990
-
991
- for (fo = 0; fo < p->NumFolders; fo++)
992
- Buf_Init(tempBufs + fo);
993
-
994
- for (fo = 0; fo < p->NumFolders; fo++)
995
- {
996
- CBuf *tempBuf = tempBufs + fo;
997
- UInt64 unpackSize = SzAr_GetFolderUnpackSize(p, fo);
998
- if ((size_t)unpackSize != unpackSize)
999
- return SZ_ERROR_MEM;
1000
- if (!Buf_Create(tempBuf, (size_t)unpackSize, allocTemp))
1001
- return SZ_ERROR_MEM;
1002
- }
1003
-
1004
- for (fo = 0; fo < p->NumFolders; fo++)
1005
- {
1006
- const CBuf *tempBuf = tempBufs + fo;
1007
- RINOK(LookInStream_SeekTo(inStream, dataStartPos));
1008
- RINOK(SzAr_DecodeFolder(p, fo, inStream, dataStartPos, tempBuf->data, tempBuf->size, allocTemp));
1009
- }
1010
-
1011
- return SZ_OK;
1012
- }
1013
-
1014
- static SRes SzReadFileNames(const Byte *data, size_t size, UInt32 numFiles, size_t *offsets)
1015
- {
1016
- size_t pos = 0;
1017
- *offsets++ = 0;
1018
- if (numFiles == 0)
1019
- return (size == 0) ? SZ_OK : SZ_ERROR_ARCHIVE;
1020
- if (size < 2)
1021
- return SZ_ERROR_ARCHIVE;
1022
- if (data[size - 2] != 0 || data[size - 1] != 0)
1023
- return SZ_ERROR_ARCHIVE;
1024
- do
1025
- {
1026
- const Byte *p;
1027
- if (pos == size)
1028
- return SZ_ERROR_ARCHIVE;
1029
- for (p = data + pos;
1030
- #ifdef _WIN32
1031
- *(const UInt16 *)p != 0
1032
- #else
1033
- p[0] != 0 || p[1] != 0
1034
- #endif
1035
- ; p += 2);
1036
- pos = p - data + 2;
1037
- *offsets++ = (pos >> 1);
1038
- }
1039
- while (--numFiles);
1040
- return (pos == size) ? SZ_OK : SZ_ERROR_ARCHIVE;
1041
- }
1042
-
1043
- static MY_NO_INLINE SRes ReadTime(CSzBitUi64s *p, UInt32 num,
1044
- CSzData *sd2,
1045
- const CBuf *tempBufs, UInt32 numTempBufs,
1046
- ISzAllocPtr alloc)
1047
- {
1048
- CSzData sd;
1049
- UInt32 i;
1050
- CNtfsFileTime *vals;
1051
- Byte *defs;
1052
- Byte external;
1053
-
1054
- RINOK(ReadBitVector(sd2, num, &p->Defs, alloc));
1055
-
1056
- SZ_READ_BYTE_SD(sd2, external);
1057
- if (external == 0)
1058
- sd = *sd2;
1059
- else
1060
- {
1061
- UInt32 index;
1062
- RINOK(SzReadNumber32(sd2, &index));
1063
- if (index >= numTempBufs)
1064
- return SZ_ERROR_ARCHIVE;
1065
- sd.Data = tempBufs[index].data;
1066
- sd.Size = tempBufs[index].size;
1067
- }
1068
-
1069
- MY_ALLOC_ZE(CNtfsFileTime, p->Vals, num, alloc);
1070
- vals = p->Vals;
1071
- defs = p->Defs;
1072
- for (i = 0; i < num; i++)
1073
- if (SzBitArray_Check(defs, i))
1074
- {
1075
- if (sd.Size < 8)
1076
- return SZ_ERROR_ARCHIVE;
1077
- vals[i].Low = GetUi32(sd.Data);
1078
- vals[i].High = GetUi32(sd.Data + 4);
1079
- SKIP_DATA2(sd, 8);
1080
- }
1081
- else
1082
- vals[i].High = vals[i].Low = 0;
1083
-
1084
- if (external == 0)
1085
- *sd2 = sd;
1086
-
1087
- return SZ_OK;
1088
- }
1089
-
1090
-
1091
- #define NUM_ADDITIONAL_STREAMS_MAX 8
1092
-
1093
-
1094
- static SRes SzReadHeader2(
1095
- CSzArEx *p, /* allocMain */
1096
- CSzData *sd,
1097
- ILookInStream *inStream,
1098
- CBuf *tempBufs, UInt32 *numTempBufs,
1099
- ISzAllocPtr allocMain,
1100
- ISzAllocPtr allocTemp
1101
- )
1102
- {
1103
- CSubStreamInfo ssi;
1104
-
1105
- {
1106
- UInt64 type;
1107
-
1108
- SzData_Clear(&ssi.sdSizes);
1109
- SzData_Clear(&ssi.sdCRCs);
1110
- SzData_Clear(&ssi.sdNumSubStreams);
1111
-
1112
- ssi.NumSubDigests = 0;
1113
- ssi.NumTotalSubStreams = 0;
1114
-
1115
- RINOK(ReadID(sd, &type));
1116
-
1117
- if (type == k7zIdArchiveProperties)
1118
- {
1119
- for (;;)
1120
- {
1121
- UInt64 type2;
1122
- RINOK(ReadID(sd, &type2));
1123
- if (type2 == k7zIdEnd)
1124
- break;
1125
- RINOK(SkipData(sd));
1126
- }
1127
- RINOK(ReadID(sd, &type));
1128
- }
1129
-
1130
- if (type == k7zIdAdditionalStreamsInfo)
1131
- {
1132
- CSzAr tempAr;
1133
- SRes res;
1134
-
1135
- SzAr_Init(&tempAr);
1136
- res = SzReadAndDecodePackedStreams(inStream, sd, tempBufs, NUM_ADDITIONAL_STREAMS_MAX,
1137
- p->startPosAfterHeader, &tempAr, allocTemp);
1138
- *numTempBufs = tempAr.NumFolders;
1139
- SzAr_Free(&tempAr, allocTemp);
1140
-
1141
- if (res != SZ_OK)
1142
- return res;
1143
- RINOK(ReadID(sd, &type));
1144
- }
1145
-
1146
- if (type == k7zIdMainStreamsInfo)
1147
- {
1148
- RINOK(SzReadStreamsInfo(&p->db, sd, (UInt32)1 << 30, tempBufs, *numTempBufs,
1149
- &p->dataPos, &ssi, allocMain));
1150
- p->dataPos += p->startPosAfterHeader;
1151
- RINOK(ReadID(sd, &type));
1152
- }
1153
-
1154
- if (type == k7zIdEnd)
1155
- {
1156
- return SZ_OK;
1157
- }
1158
-
1159
- if (type != k7zIdFilesInfo)
1160
- return SZ_ERROR_ARCHIVE;
1161
- }
1162
-
1163
- {
1164
- UInt32 numFiles = 0;
1165
- UInt32 numEmptyStreams = 0;
1166
- const Byte *emptyStreams = NULL;
1167
- const Byte *emptyFiles = NULL;
1168
-
1169
- RINOK(SzReadNumber32(sd, &numFiles));
1170
- p->NumFiles = numFiles;
1171
-
1172
- for (;;)
1173
- {
1174
- UInt64 type;
1175
- UInt64 size;
1176
- RINOK(ReadID(sd, &type));
1177
- if (type == k7zIdEnd)
1178
- break;
1179
- RINOK(ReadNumber(sd, &size));
1180
- if (size > sd->Size)
1181
- return SZ_ERROR_ARCHIVE;
1182
-
1183
- if (type >= ((UInt32)1 << 8))
1184
- {
1185
- SKIP_DATA(sd, size);
1186
- }
1187
- else switch ((unsigned)type)
1188
- {
1189
- case k7zIdName:
1190
- {
1191
- size_t namesSize;
1192
- const Byte *namesData;
1193
- Byte external;
1194
-
1195
- SZ_READ_BYTE(external);
1196
- if (external == 0)
1197
- {
1198
- namesSize = (size_t)size - 1;
1199
- namesData = sd->Data;
1200
- }
1201
- else
1202
- {
1203
- UInt32 index;
1204
- RINOK(SzReadNumber32(sd, &index));
1205
- if (index >= *numTempBufs)
1206
- return SZ_ERROR_ARCHIVE;
1207
- namesData = (tempBufs)[index].data;
1208
- namesSize = (tempBufs)[index].size;
1209
- }
1210
-
1211
- if ((namesSize & 1) != 0)
1212
- return SZ_ERROR_ARCHIVE;
1213
- MY_ALLOC(size_t, p->FileNameOffsets, numFiles + 1, allocMain);
1214
- MY_ALLOC_ZE_AND_CPY(p->FileNames, namesSize, namesData, allocMain);
1215
- RINOK(SzReadFileNames(p->FileNames, namesSize, numFiles, p->FileNameOffsets))
1216
- if (external == 0)
1217
- {
1218
- SKIP_DATA(sd, namesSize);
1219
- }
1220
- break;
1221
- }
1222
- case k7zIdEmptyStream:
1223
- {
1224
- RINOK(RememberBitVector(sd, numFiles, &emptyStreams));
1225
- numEmptyStreams = CountDefinedBits(emptyStreams, numFiles);
1226
- emptyFiles = NULL;
1227
- break;
1228
- }
1229
- case k7zIdEmptyFile:
1230
- {
1231
- RINOK(RememberBitVector(sd, numEmptyStreams, &emptyFiles));
1232
- break;
1233
- }
1234
- case k7zIdWinAttrib:
1235
- {
1236
- Byte external;
1237
- CSzData sdSwitch;
1238
- CSzData *sdPtr;
1239
- SzBitUi32s_Free(&p->Attribs, allocMain);
1240
- RINOK(ReadBitVector(sd, numFiles, &p->Attribs.Defs, allocMain));
1241
-
1242
- SZ_READ_BYTE(external);
1243
- if (external == 0)
1244
- sdPtr = sd;
1245
- else
1246
- {
1247
- UInt32 index;
1248
- RINOK(SzReadNumber32(sd, &index));
1249
- if (index >= *numTempBufs)
1250
- return SZ_ERROR_ARCHIVE;
1251
- sdSwitch.Data = (tempBufs)[index].data;
1252
- sdSwitch.Size = (tempBufs)[index].size;
1253
- sdPtr = &sdSwitch;
1254
- }
1255
- RINOK(ReadUi32s(sdPtr, numFiles, &p->Attribs, allocMain));
1256
- break;
1257
- }
1258
- /*
1259
- case k7zParent:
1260
- {
1261
- SzBitUi32s_Free(&p->Parents, allocMain);
1262
- RINOK(ReadBitVector(sd, numFiles, &p->Parents.Defs, allocMain));
1263
- RINOK(SzReadSwitch(sd));
1264
- RINOK(ReadUi32s(sd, numFiles, &p->Parents, allocMain));
1265
- break;
1266
- }
1267
- */
1268
- case k7zIdMTime: RINOK(ReadTime(&p->MTime, numFiles, sd, tempBufs, *numTempBufs, allocMain)); break;
1269
- case k7zIdCTime: RINOK(ReadTime(&p->CTime, numFiles, sd, tempBufs, *numTempBufs, allocMain)); break;
1270
- default:
1271
- {
1272
- SKIP_DATA(sd, size);
1273
- }
1274
- }
1275
- }
1276
-
1277
- if (numFiles - numEmptyStreams != ssi.NumTotalSubStreams)
1278
- return SZ_ERROR_ARCHIVE;
1279
-
1280
- for (;;)
1281
- {
1282
- UInt64 type;
1283
- RINOK(ReadID(sd, &type));
1284
- if (type == k7zIdEnd)
1285
- break;
1286
- RINOK(SkipData(sd));
1287
- }
1288
-
1289
- {
1290
- UInt32 i;
1291
- UInt32 emptyFileIndex = 0;
1292
- UInt32 folderIndex = 0;
1293
- UInt32 remSubStreams = 0;
1294
- UInt32 numSubStreams = 0;
1295
- UInt64 unpackPos = 0;
1296
- const Byte *digestsDefs = NULL;
1297
- const Byte *digestsVals = NULL;
1298
- UInt32 digestsValsIndex = 0;
1299
- UInt32 digestIndex;
1300
- Byte allDigestsDefined = 0;
1301
- Byte isDirMask = 0;
1302
- Byte crcMask = 0;
1303
- Byte mask = 0x80;
1304
-
1305
- MY_ALLOC(UInt32, p->FolderToFile, p->db.NumFolders + 1, allocMain);
1306
- MY_ALLOC_ZE(UInt32, p->FileToFolder, p->NumFiles, allocMain);
1307
- MY_ALLOC(UInt64, p->UnpackPositions, p->NumFiles + 1, allocMain);
1308
- MY_ALLOC_ZE(Byte, p->IsDirs, (p->NumFiles + 7) >> 3, allocMain);
1309
-
1310
- RINOK(SzBitUi32s_Alloc(&p->CRCs, p->NumFiles, allocMain));
1311
-
1312
- if (ssi.sdCRCs.Size != 0)
1313
- {
1314
- SZ_READ_BYTE_SD(&ssi.sdCRCs, allDigestsDefined);
1315
- if (allDigestsDefined)
1316
- digestsVals = ssi.sdCRCs.Data;
1317
- else
1318
- {
1319
- size_t numBytes = (ssi.NumSubDigests + 7) >> 3;
1320
- digestsDefs = ssi.sdCRCs.Data;
1321
- digestsVals = digestsDefs + numBytes;
1322
- }
1323
- }
1324
-
1325
- digestIndex = 0;
1326
-
1327
- for (i = 0; i < numFiles; i++, mask >>= 1)
1328
- {
1329
- if (mask == 0)
1330
- {
1331
- UInt32 byteIndex = (i - 1) >> 3;
1332
- p->IsDirs[byteIndex] = isDirMask;
1333
- p->CRCs.Defs[byteIndex] = crcMask;
1334
- isDirMask = 0;
1335
- crcMask = 0;
1336
- mask = 0x80;
1337
- }
1338
-
1339
- p->UnpackPositions[i] = unpackPos;
1340
- p->CRCs.Vals[i] = 0;
1341
-
1342
- if (emptyStreams && SzBitArray_Check(emptyStreams, i))
1343
- {
1344
- if (emptyFiles)
1345
- {
1346
- if (!SzBitArray_Check(emptyFiles, emptyFileIndex))
1347
- isDirMask |= mask;
1348
- emptyFileIndex++;
1349
- }
1350
- else
1351
- isDirMask |= mask;
1352
- if (remSubStreams == 0)
1353
- {
1354
- p->FileToFolder[i] = (UInt32)-1;
1355
- continue;
1356
- }
1357
- }
1358
-
1359
- if (remSubStreams == 0)
1360
- {
1361
- for (;;)
1362
- {
1363
- if (folderIndex >= p->db.NumFolders)
1364
- return SZ_ERROR_ARCHIVE;
1365
- p->FolderToFile[folderIndex] = i;
1366
- numSubStreams = 1;
1367
- if (ssi.sdNumSubStreams.Data)
1368
- {
1369
- RINOK(SzReadNumber32(&ssi.sdNumSubStreams, &numSubStreams));
1370
- }
1371
- remSubStreams = numSubStreams;
1372
- if (numSubStreams != 0)
1373
- break;
1374
- {
1375
- UInt64 folderUnpackSize = SzAr_GetFolderUnpackSize(&p->db, folderIndex);
1376
- unpackPos += folderUnpackSize;
1377
- if (unpackPos < folderUnpackSize)
1378
- return SZ_ERROR_ARCHIVE;
1379
- }
1380
-
1381
- folderIndex++;
1382
- }
1383
- }
1384
-
1385
- p->FileToFolder[i] = folderIndex;
1386
-
1387
- if (emptyStreams && SzBitArray_Check(emptyStreams, i))
1388
- continue;
1389
-
1390
- if (--remSubStreams == 0)
1391
- {
1392
- UInt64 folderUnpackSize = SzAr_GetFolderUnpackSize(&p->db, folderIndex);
1393
- UInt64 startFolderUnpackPos = p->UnpackPositions[p->FolderToFile[folderIndex]];
1394
- if (folderUnpackSize < unpackPos - startFolderUnpackPos)
1395
- return SZ_ERROR_ARCHIVE;
1396
- unpackPos = startFolderUnpackPos + folderUnpackSize;
1397
- if (unpackPos < folderUnpackSize)
1398
- return SZ_ERROR_ARCHIVE;
1399
-
1400
- if (numSubStreams == 1 && SzBitWithVals_Check(&p->db.FolderCRCs, i))
1401
- {
1402
- p->CRCs.Vals[i] = p->db.FolderCRCs.Vals[folderIndex];
1403
- crcMask |= mask;
1404
- }
1405
- else if (allDigestsDefined || (digestsDefs && SzBitArray_Check(digestsDefs, digestIndex)))
1406
- {
1407
- p->CRCs.Vals[i] = GetUi32(digestsVals + (size_t)digestsValsIndex * 4);
1408
- digestsValsIndex++;
1409
- crcMask |= mask;
1410
- }
1411
-
1412
- folderIndex++;
1413
- }
1414
- else
1415
- {
1416
- UInt64 v;
1417
- RINOK(ReadNumber(&ssi.sdSizes, &v));
1418
- unpackPos += v;
1419
- if (unpackPos < v)
1420
- return SZ_ERROR_ARCHIVE;
1421
- if (allDigestsDefined || (digestsDefs && SzBitArray_Check(digestsDefs, digestIndex)))
1422
- {
1423
- p->CRCs.Vals[i] = GetUi32(digestsVals + (size_t)digestsValsIndex * 4);
1424
- digestsValsIndex++;
1425
- crcMask |= mask;
1426
- }
1427
- }
1428
- }
1429
-
1430
- if (mask != 0x80)
1431
- {
1432
- UInt32 byteIndex = (i - 1) >> 3;
1433
- p->IsDirs[byteIndex] = isDirMask;
1434
- p->CRCs.Defs[byteIndex] = crcMask;
1435
- }
1436
-
1437
- p->UnpackPositions[i] = unpackPos;
1438
-
1439
- if (remSubStreams != 0)
1440
- return SZ_ERROR_ARCHIVE;
1441
-
1442
- for (;;)
1443
- {
1444
- p->FolderToFile[folderIndex] = i;
1445
- if (folderIndex >= p->db.NumFolders)
1446
- break;
1447
- if (!ssi.sdNumSubStreams.Data)
1448
- return SZ_ERROR_ARCHIVE;
1449
- RINOK(SzReadNumber32(&ssi.sdNumSubStreams, &numSubStreams));
1450
- if (numSubStreams != 0)
1451
- return SZ_ERROR_ARCHIVE;
1452
- /*
1453
- {
1454
- UInt64 folderUnpackSize = SzAr_GetFolderUnpackSize(&p->db, folderIndex);
1455
- unpackPos += folderUnpackSize;
1456
- if (unpackPos < folderUnpackSize)
1457
- return SZ_ERROR_ARCHIVE;
1458
- }
1459
- */
1460
- folderIndex++;
1461
- }
1462
-
1463
- if (ssi.sdNumSubStreams.Data && ssi.sdNumSubStreams.Size != 0)
1464
- return SZ_ERROR_ARCHIVE;
1465
- }
1466
- }
1467
- return SZ_OK;
1468
- }
1469
-
1470
-
1471
- static SRes SzReadHeader(
1472
- CSzArEx *p,
1473
- CSzData *sd,
1474
- ILookInStream *inStream,
1475
- ISzAllocPtr allocMain,
1476
- ISzAllocPtr allocTemp)
1477
- {
1478
- UInt32 i;
1479
- UInt32 numTempBufs = 0;
1480
- SRes res;
1481
- CBuf tempBufs[NUM_ADDITIONAL_STREAMS_MAX];
1482
-
1483
- for (i = 0; i < NUM_ADDITIONAL_STREAMS_MAX; i++)
1484
- Buf_Init(tempBufs + i);
1485
-
1486
- res = SzReadHeader2(p, sd, inStream,
1487
- tempBufs, &numTempBufs,
1488
- allocMain, allocTemp);
1489
-
1490
- for (i = 0; i < NUM_ADDITIONAL_STREAMS_MAX; i++)
1491
- Buf_Free(tempBufs + i, allocTemp);
1492
-
1493
- RINOK(res);
1494
-
1495
- if (sd->Size != 0)
1496
- return SZ_ERROR_FAIL;
1497
-
1498
- return res;
1499
- }
1500
-
1501
- static SRes SzArEx_Open2(
1502
- CSzArEx *p,
1503
- ILookInStream *inStream,
1504
- ISzAllocPtr allocMain,
1505
- ISzAllocPtr allocTemp)
1506
- {
1507
- Byte header[k7zStartHeaderSize];
1508
- Int64 startArcPos;
1509
- UInt64 nextHeaderOffset, nextHeaderSize;
1510
- size_t nextHeaderSizeT;
1511
- UInt32 nextHeaderCRC;
1512
- CBuf buf;
1513
- SRes res;
1514
-
1515
- startArcPos = 0;
1516
- RINOK(ILookInStream_Seek(inStream, &startArcPos, SZ_SEEK_CUR));
1517
-
1518
- RINOK(LookInStream_Read2(inStream, header, k7zStartHeaderSize, SZ_ERROR_NO_ARCHIVE));
1519
-
1520
- if (!TestSignatureCandidate(header))
1521
- return SZ_ERROR_NO_ARCHIVE;
1522
- if (header[6] != k7zMajorVersion)
1523
- return SZ_ERROR_UNSUPPORTED;
1524
-
1525
- nextHeaderOffset = GetUi64(header + 12);
1526
- nextHeaderSize = GetUi64(header + 20);
1527
- nextHeaderCRC = GetUi32(header + 28);
1528
-
1529
- p->startPosAfterHeader = startArcPos + k7zStartHeaderSize;
1530
-
1531
- if (CrcCalc(header + 12, 20) != GetUi32(header + 8))
1532
- return SZ_ERROR_CRC;
1533
-
1534
- nextHeaderSizeT = (size_t)nextHeaderSize;
1535
- if (nextHeaderSizeT != nextHeaderSize)
1536
- return SZ_ERROR_MEM;
1537
- if (nextHeaderSizeT == 0)
1538
- return SZ_OK;
1539
- if (nextHeaderOffset > nextHeaderOffset + nextHeaderSize ||
1540
- nextHeaderOffset > nextHeaderOffset + nextHeaderSize + k7zStartHeaderSize)
1541
- return SZ_ERROR_NO_ARCHIVE;
1542
-
1543
- {
1544
- Int64 pos = 0;
1545
- RINOK(ILookInStream_Seek(inStream, &pos, SZ_SEEK_END));
1546
- if ((UInt64)pos < startArcPos + nextHeaderOffset ||
1547
- (UInt64)pos < startArcPos + k7zStartHeaderSize + nextHeaderOffset ||
1548
- (UInt64)pos < startArcPos + k7zStartHeaderSize + nextHeaderOffset + nextHeaderSize)
1549
- return SZ_ERROR_INPUT_EOF;
1550
- }
1551
-
1552
- RINOK(LookInStream_SeekTo(inStream, startArcPos + k7zStartHeaderSize + nextHeaderOffset));
1553
-
1554
- if (!Buf_Create(&buf, nextHeaderSizeT, allocTemp))
1555
- return SZ_ERROR_MEM;
1556
-
1557
- res = LookInStream_Read(inStream, buf.data, nextHeaderSizeT);
1558
-
1559
- if (res == SZ_OK)
1560
- {
1561
- res = SZ_ERROR_ARCHIVE;
1562
- if (CrcCalc(buf.data, nextHeaderSizeT) == nextHeaderCRC)
1563
- {
1564
- CSzData sd;
1565
- UInt64 type;
1566
- sd.Data = buf.data;
1567
- sd.Size = buf.size;
1568
-
1569
- res = ReadID(&sd, &type);
1570
-
1571
- if (res == SZ_OK && type == k7zIdEncodedHeader)
1572
- {
1573
- CSzAr tempAr;
1574
- CBuf tempBuf;
1575
- Buf_Init(&tempBuf);
1576
-
1577
- SzAr_Init(&tempAr);
1578
- res = SzReadAndDecodePackedStreams(inStream, &sd, &tempBuf, 1, p->startPosAfterHeader, &tempAr, allocTemp);
1579
- SzAr_Free(&tempAr, allocTemp);
1580
-
1581
- if (res != SZ_OK)
1582
- {
1583
- Buf_Free(&tempBuf, allocTemp);
1584
- }
1585
- else
1586
- {
1587
- Buf_Free(&buf, allocTemp);
1588
- buf.data = tempBuf.data;
1589
- buf.size = tempBuf.size;
1590
- sd.Data = buf.data;
1591
- sd.Size = buf.size;
1592
- res = ReadID(&sd, &type);
1593
- }
1594
- }
1595
-
1596
- if (res == SZ_OK)
1597
- {
1598
- if (type == k7zIdHeader)
1599
- {
1600
- /*
1601
- CSzData sd2;
1602
- unsigned ttt;
1603
- for (ttt = 0; ttt < 40000; ttt++)
1604
- {
1605
- SzArEx_Free(p, allocMain);
1606
- sd2 = sd;
1607
- res = SzReadHeader(p, &sd2, inStream, allocMain, allocTemp);
1608
- if (res != SZ_OK)
1609
- break;
1610
- }
1611
- */
1612
- res = SzReadHeader(p, &sd, inStream, allocMain, allocTemp);
1613
- }
1614
- else
1615
- res = SZ_ERROR_UNSUPPORTED;
1616
- }
1617
- }
1618
- }
1619
-
1620
- Buf_Free(&buf, allocTemp);
1621
- return res;
1622
- }
1623
-
1624
-
1625
- SRes SzArEx_Open(CSzArEx *p, ILookInStream *inStream,
1626
- ISzAllocPtr allocMain, ISzAllocPtr allocTemp)
1627
- {
1628
- SRes res = SzArEx_Open2(p, inStream, allocMain, allocTemp);
1629
- if (res != SZ_OK)
1630
- SzArEx_Free(p, allocMain);
1631
- return res;
1632
- }
1633
-
1634
-
1635
- SRes SzArEx_Extract(
1636
- const CSzArEx *p,
1637
- ILookInStream *inStream,
1638
- UInt32 fileIndex,
1639
- UInt32 *blockIndex,
1640
- Byte **tempBuf,
1641
- size_t *outBufferSize,
1642
- size_t *offset,
1643
- size_t *outSizeProcessed,
1644
- ISzAllocPtr allocMain,
1645
- ISzAllocPtr allocTemp)
1646
- {
1647
- UInt32 folderIndex = p->FileToFolder[fileIndex];
1648
- SRes res = SZ_OK;
1649
-
1650
- *offset = 0;
1651
- *outSizeProcessed = 0;
1652
-
1653
- if (folderIndex == (UInt32)-1)
1654
- {
1655
- ISzAlloc_Free(allocMain, *tempBuf);
1656
- *blockIndex = folderIndex;
1657
- *tempBuf = NULL;
1658
- *outBufferSize = 0;
1659
- return SZ_OK;
1660
- }
1661
-
1662
- if (*tempBuf == NULL || *blockIndex != folderIndex)
1663
- {
1664
- UInt64 unpackSizeSpec = SzAr_GetFolderUnpackSize(&p->db, folderIndex);
1665
- /*
1666
- UInt64 unpackSizeSpec =
1667
- p->UnpackPositions[p->FolderToFile[(size_t)folderIndex + 1]] -
1668
- p->UnpackPositions[p->FolderToFile[folderIndex]];
1669
- */
1670
- size_t unpackSize = (size_t)unpackSizeSpec;
1671
-
1672
- if (unpackSize != unpackSizeSpec)
1673
- return SZ_ERROR_MEM;
1674
- *blockIndex = folderIndex;
1675
- ISzAlloc_Free(allocMain, *tempBuf);
1676
- *tempBuf = NULL;
1677
-
1678
- if (res == SZ_OK)
1679
- {
1680
- *outBufferSize = unpackSize;
1681
- if (unpackSize != 0)
1682
- {
1683
- *tempBuf = (Byte *)ISzAlloc_Alloc(allocMain, unpackSize);
1684
- if (*tempBuf == NULL)
1685
- res = SZ_ERROR_MEM;
1686
- }
1687
-
1688
- if (res == SZ_OK)
1689
- {
1690
- res = SzAr_DecodeFolder(&p->db, folderIndex,
1691
- inStream, p->dataPos, *tempBuf, unpackSize, allocTemp);
1692
- }
1693
- }
1694
- }
1695
-
1696
- if (res == SZ_OK)
1697
- {
1698
- UInt64 unpackPos = p->UnpackPositions[fileIndex];
1699
- *offset = (size_t)(unpackPos - p->UnpackPositions[p->FolderToFile[folderIndex]]);
1700
- *outSizeProcessed = (size_t)(p->UnpackPositions[(size_t)fileIndex + 1] - unpackPos);
1701
- if (*offset + *outSizeProcessed > *outBufferSize)
1702
- return SZ_ERROR_FAIL;
1703
- if (SzBitWithVals_Check(&p->CRCs, fileIndex))
1704
- if (CrcCalc(*tempBuf + *offset, *outSizeProcessed) != p->CRCs.Vals[fileIndex])
1705
- res = SZ_ERROR_CRC;
1706
- }
1707
-
1708
- return res;
1709
- }
1710
-
1711
-
1712
- size_t SzArEx_GetFileNameUtf16(const CSzArEx *p, size_t fileIndex, UInt16 *dest)
1713
- {
1714
- size_t offs = p->FileNameOffsets[fileIndex];
1715
- size_t len = p->FileNameOffsets[fileIndex + 1] - offs;
1716
- if (dest != 0)
1717
- {
1718
- size_t i;
1719
- const Byte *src = p->FileNames + offs * 2;
1720
- for (i = 0; i < len; i++)
1721
- dest[i] = GetUi16(src + i * 2);
1722
- }
1723
- return len;
1724
- }
1725
-
1726
- /*
1727
- size_t SzArEx_GetFullNameLen(const CSzArEx *p, size_t fileIndex)
1728
- {
1729
- size_t len;
1730
- if (!p->FileNameOffsets)
1731
- return 1;
1732
- len = 0;
1733
- for (;;)
1734
- {
1735
- UInt32 parent = (UInt32)(Int32)-1;
1736
- len += p->FileNameOffsets[fileIndex + 1] - p->FileNameOffsets[fileIndex];
1737
- if SzBitWithVals_Check(&p->Parents, fileIndex)
1738
- parent = p->Parents.Vals[fileIndex];
1739
- if (parent == (UInt32)(Int32)-1)
1740
- return len;
1741
- fileIndex = parent;
1742
- }
1743
- }
1744
-
1745
- UInt16 *SzArEx_GetFullNameUtf16_Back(const CSzArEx *p, size_t fileIndex, UInt16 *dest)
1746
- {
1747
- BoolInt needSlash;
1748
- if (!p->FileNameOffsets)
1749
- {
1750
- *(--dest) = 0;
1751
- return dest;
1752
- }
1753
- needSlash = False;
1754
- for (;;)
1755
- {
1756
- UInt32 parent = (UInt32)(Int32)-1;
1757
- size_t curLen = p->FileNameOffsets[fileIndex + 1] - p->FileNameOffsets[fileIndex];
1758
- SzArEx_GetFileNameUtf16(p, fileIndex, dest - curLen);
1759
- if (needSlash)
1760
- *(dest - 1) = '/';
1761
- needSlash = True;
1762
- dest -= curLen;
1763
-
1764
- if SzBitWithVals_Check(&p->Parents, fileIndex)
1765
- parent = p->Parents.Vals[fileIndex];
1766
- if (parent == (UInt32)(Int32)-1)
1767
- return dest;
1768
- fileIndex = parent;
1769
- }
1770
- }
1771
- */