react-native-update 10.60.0 → 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 (820) hide show
  1. package/README-CN.md +6 -0
  2. package/README.md +8 -0
  3. package/android/jni/Android.mk +2 -0
  4. package/android/jni/Application.mk +3 -1
  5. package/android/lib/arm64-v8a/librnpushy.so +0 -0
  6. package/android/lib/armeabi-v7a/librnpushy.so +0 -0
  7. package/android/lib/x86/librnpushy.so +0 -0
  8. package/android/lib/x86_64/librnpushy.so +0 -0
  9. package/android/src/main/java/cn/reactnative/modules/update/ApkInstaller.java +1 -1
  10. package/android/src/main/java/cn/reactnative/modules/update/ArchiveLimits.java +3 -2
  11. package/android/src/main/java/cn/reactnative/modules/update/BundlePreparationResult.java +2 -0
  12. package/android/src/main/java/cn/reactnative/modules/update/DownloadTask.java +102 -119
  13. package/android/src/main/java/cn/reactnative/modules/update/DownloadTaskParams.java +5 -3
  14. package/android/src/main/java/cn/reactnative/modules/update/ErrorCodes.java +5 -3
  15. package/android/src/main/java/cn/reactnative/modules/update/FlowBridge.java +7 -0
  16. package/android/src/main/java/cn/reactnative/modules/update/HttpUtils.java +0 -34
  17. package/android/src/main/java/cn/reactnative/modules/update/InstallRecord.java +3 -1
  18. package/android/src/main/java/cn/reactnative/modules/update/NativeCore.java +1 -1
  19. package/android/src/main/java/cn/reactnative/modules/update/PushyRuntime.java +23 -4
  20. package/android/src/main/java/cn/reactnative/modules/update/ReactReloadManager.java +1 -1
  21. package/android/src/main/java/cn/reactnative/modules/update/ResumePlan.java +31 -0
  22. package/android/src/main/java/cn/reactnative/modules/update/SyncCoordinator.java +397 -300
  23. package/android/src/main/java/cn/reactnative/modules/update/Texts.java +15 -1
  24. package/android/src/main/java/cn/reactnative/modules/update/Threads.java +9 -0
  25. package/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +24 -15
  26. package/android/src/main/java/cn/reactnative/modules/update/UpdateModule.java +1 -1
  27. package/android/src/main/java/cn/reactnative/modules/update/VersionScopedKeys.java +64 -0
  28. package/android/src/oldarch/cn/reactnative/modules/update/NativePushySpec.java +2 -0
  29. package/cpp/android_jni/jni_log.h +2 -3
  30. package/cpp/android_jni/jni_natives.h +14 -8
  31. package/cpp/android_jni/jni_registration.cpp +13 -0
  32. package/cpp/android_jni/resume_plan_jni.cpp +58 -0
  33. package/cpp/android_jni/update_core_android.cpp +3 -5
  34. package/cpp/android_jni/update_flow_jni.cpp +17 -0
  35. package/cpp/patch_core/archive_limits.h +5 -3
  36. package/cpp/patch_core/archive_patch_core.cpp +2 -3
  37. package/cpp/patch_core/archive_patch_core.h +2 -0
  38. package/cpp/patch_core/error_codes.h +15 -13
  39. package/cpp/patch_core/install_record.h +5 -3
  40. package/cpp/patch_core/native_texts.h +102 -0
  41. package/cpp/patch_core/resume_plan.cpp +226 -0
  42. package/cpp/patch_core/resume_plan.h +88 -0
  43. package/cpp/patch_core/state_ops.h +2 -0
  44. package/cpp/update_flow_core/native_config.cpp +5 -25
  45. package/cpp/update_flow_core/native_round.cpp +9 -14
  46. package/cpp/update_flow_core/native_round.h +7 -3
  47. package/cpp/update_flow_core/round_engine.cpp +456 -0
  48. package/cpp/update_flow_core/round_engine.h +106 -0
  49. package/cpp/update_flow_core/update_flow_core.cpp +5 -14
  50. package/harmony/pushy/src/main/cpp/CMakeLists.txt +2 -0
  51. package/harmony/pushy/src/main/cpp/PushyTurboModule.cpp +22 -20
  52. package/harmony/pushy/src/main/cpp/pushy.cpp +146 -24
  53. package/harmony/pushy/src/main/ets/ArchiveLimits.ts +9 -5
  54. package/harmony/pushy/src/main/ets/DownloadTask.ts +138 -158
  55. package/harmony/pushy/src/main/ets/DownloadTaskParams.ts +5 -3
  56. package/harmony/pushy/src/main/ets/ErrorCodes.ts +3 -2
  57. package/harmony/pushy/src/main/ets/InstallRecord.ts +3 -1
  58. package/harmony/pushy/src/main/ets/NativePatchCore.ts +35 -0
  59. package/harmony/pushy/src/main/ets/PushyFileJSBundleProvider.ets +8 -3
  60. package/harmony/pushy/src/main/ets/SyncCoordinator.ts +256 -309
  61. package/harmony/pushy/src/main/ets/Texts.ts +8 -3
  62. package/harmony/pushy/src/main/ets/UpdateContext.ts +152 -46
  63. package/harmony/pushy.har +0 -0
  64. package/ios/RCTPushy/RCTPushy+Launch.mm +5 -0
  65. package/ios/RCTPushy/RCTPushy.mm +60 -44
  66. package/ios/RCTPushy/RCTPushyCommon.h +0 -6
  67. package/ios/RCTPushy/RCTPushyConfiguration.mm +8 -10
  68. package/ios/RCTPushy/RCTPushyDownloader.mm +112 -161
  69. package/ios/RCTPushy/RCTPushyInstallRecord.mm +42 -2
  70. package/ios/RCTPushy/RCTPushyInstaller.mm +195 -152
  71. package/ios/RCTPushy/RCTPushyInternal.h +41 -0
  72. package/ios/RCTPushy/RCTPushyOrchestrator.mm +233 -265
  73. package/ios/RCTPushy/RCTPushyState.mm +70 -2
  74. package/package.json +23 -4
  75. package/src/client.ts +126 -1543
  76. package/src/clientActivation.ts +324 -0
  77. package/src/clientCheck.ts +405 -0
  78. package/src/clientDownload.ts +448 -0
  79. package/src/clientNativeConfig.ts +171 -0
  80. package/src/clientReporter.ts +398 -0
  81. package/src/clientState.ts +51 -0
  82. package/src/core.ts +4 -2
  83. package/src/endpoint.ts +22 -6
  84. package/src/error.ts +6 -4
  85. package/src/locales/en.ts +1 -1
  86. package/src/locales/zh.ts +1 -1
  87. package/src/provider.tsx +32 -20
  88. package/android/jni/HDiffPatch/.travis.yml +0 -33
  89. package/android/jni/HDiffPatch/CHANGELOG.md +0 -153
  90. package/android/jni/HDiffPatch/Makefile +0 -157
  91. package/android/jni/HDiffPatch/_atosize.h +0 -83
  92. package/android/jni/HDiffPatch/_clock_for_demo.h +0 -47
  93. package/android/jni/HDiffPatch/_dir_ignore.h +0 -191
  94. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +0 -37
  95. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +0 -7
  96. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +0 -1
  97. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +0 -1
  98. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +0 -18
  99. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +0 -20
  100. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +0 -28
  101. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +0 -8
  102. package/android/jni/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +0 -8
  103. package/android/jni/HDiffPatch/builds/codeblocks/HDiffZ.cbp +0 -219
  104. package/android/jni/HDiffPatch/builds/codeblocks/HPatchZ.cbp +0 -156
  105. package/android/jni/HDiffPatch/builds/codeblocks/unitTest.cbp +0 -65
  106. package/android/jni/HDiffPatch/builds/vc/HDiffPatch.sln +0 -105
  107. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj +0 -237
  108. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +0 -3
  109. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj +0 -318
  110. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +0 -3
  111. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj +0 -182
  112. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj.user +0 -3
  113. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +0 -30
  114. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  115. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +0 -408
  116. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  117. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +0 -573
  118. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  119. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  120. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +0 -396
  121. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  122. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +0 -268
  123. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  124. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +0 -361
  125. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  126. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +0 -301
  127. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  128. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  129. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +0 -411
  130. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  131. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +0 -504
  132. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  133. package/android/jni/HDiffPatch/checksum_plugin_demo.h +0 -344
  134. package/android/jni/HDiffPatch/compress_parallel.cpp +0 -166
  135. package/android/jni/HDiffPatch/compress_parallel.h +0 -59
  136. package/android/jni/HDiffPatch/compress_plugin_demo.h +0 -1152
  137. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +0 -797
  138. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +0 -65
  139. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +0 -200
  140. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +0 -178
  141. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +0 -357
  142. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +0 -87
  143. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +0 -151
  144. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +0 -770
  145. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +0 -236
  146. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +0 -47
  147. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +0 -112
  148. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +0 -53
  149. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +0 -331
  150. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +0 -144
  151. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +0 -176
  152. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +0 -84
  153. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +0 -146
  154. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +0 -61
  155. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +0 -152
  156. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +0 -76
  157. package/android/jni/HDiffPatch/hdiffz.cpp +0 -1570
  158. package/android/jni/HDiffPatch/hpatch_dir_listener.h +0 -290
  159. package/android/jni/HDiffPatch/hpatchz.c +0 -1221
  160. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +0 -1025
  161. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.h +0 -116
  162. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +0 -72
  163. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +0 -213
  164. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +0 -63
  165. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +0 -170
  166. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +0 -86
  167. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +0 -89
  168. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +0 -13
  169. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +0 -398
  170. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +0 -194
  171. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +0 -13
  172. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +0 -204
  173. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +0 -207
  174. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +0 -815
  175. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +0 -586
  176. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +0 -381
  177. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +0 -352
  178. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +0 -137
  179. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +0 -137
  180. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +0 -70
  181. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +0 -628
  182. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +0 -87
  183. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +0 -363
  184. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +0 -139
  185. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +0 -68
  186. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +0 -115
  187. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +0 -342
  188. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +0 -94
  189. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +0 -52
  190. package/android/jni/HDiffPatch/libParallel/parallel_channel.cpp +0 -174
  191. package/android/jni/HDiffPatch/libParallel/parallel_channel.h +0 -73
  192. package/android/jni/HDiffPatch/libParallel/parallel_import.cpp +0 -367
  193. package/android/jni/HDiffPatch/libParallel/parallel_import.h +0 -92
  194. package/android/jni/lzma/Asm/arm/7zCrcOpt.asm +0 -100
  195. package/android/jni/lzma/Asm/x86/7zAsm.asm +0 -147
  196. package/android/jni/lzma/Asm/x86/7zCrcOpt.asm +0 -147
  197. package/android/jni/lzma/Asm/x86/AesOpt.asm +0 -237
  198. package/android/jni/lzma/Asm/x86/LzmaDecOpt.asm +0 -1258
  199. package/android/jni/lzma/Asm/x86/XzCrc64Opt.asm +0 -205
  200. package/android/jni/lzma/C/7z.h +0 -202
  201. package/android/jni/lzma/C/7zAlloc.c +0 -80
  202. package/android/jni/lzma/C/7zAlloc.h +0 -19
  203. package/android/jni/lzma/C/7zArcIn.c +0 -1771
  204. package/android/jni/lzma/C/7zBuf.c +0 -36
  205. package/android/jni/lzma/C/7zBuf.h +0 -35
  206. package/android/jni/lzma/C/7zBuf2.c +0 -52
  207. package/android/jni/lzma/C/7zCrc.c +0 -128
  208. package/android/jni/lzma/C/7zCrc.h +0 -25
  209. package/android/jni/lzma/C/7zCrcOpt.c +0 -115
  210. package/android/jni/lzma/C/7zDec.c +0 -591
  211. package/android/jni/lzma/C/7zFile.c +0 -286
  212. package/android/jni/lzma/C/7zFile.h +0 -83
  213. package/android/jni/lzma/C/7zStream.c +0 -176
  214. package/android/jni/lzma/C/7zVersion.h +0 -27
  215. package/android/jni/lzma/C/7zVersion.rc +0 -55
  216. package/android/jni/lzma/C/Aes.c +0 -306
  217. package/android/jni/lzma/C/Aes.h +0 -38
  218. package/android/jni/lzma/C/AesOpt.c +0 -184
  219. package/android/jni/lzma/C/Alloc.c +0 -455
  220. package/android/jni/lzma/C/Alloc.h +0 -51
  221. package/android/jni/lzma/C/Bcj2.c +0 -257
  222. package/android/jni/lzma/C/Bcj2.h +0 -146
  223. package/android/jni/lzma/C/Bcj2Enc.c +0 -311
  224. package/android/jni/lzma/C/Bra.c +0 -230
  225. package/android/jni/lzma/C/Bra.h +0 -64
  226. package/android/jni/lzma/C/Bra86.c +0 -82
  227. package/android/jni/lzma/C/BraIA64.c +0 -53
  228. package/android/jni/lzma/C/CpuArch.c +0 -218
  229. package/android/jni/lzma/C/CpuArch.h +0 -336
  230. package/android/jni/lzma/C/Delta.c +0 -64
  231. package/android/jni/lzma/C/Delta.h +0 -19
  232. package/android/jni/lzma/C/DllSecur.c +0 -108
  233. package/android/jni/lzma/C/DllSecur.h +0 -20
  234. package/android/jni/lzma/C/LzFind.c +0 -1127
  235. package/android/jni/lzma/C/LzFind.h +0 -121
  236. package/android/jni/lzma/C/LzFindMt.c +0 -853
  237. package/android/jni/lzma/C/LzFindMt.h +0 -101
  238. package/android/jni/lzma/C/LzHash.h +0 -57
  239. package/android/jni/lzma/C/Lzma2DecMt.c +0 -1082
  240. package/android/jni/lzma/C/Lzma2DecMt.h +0 -79
  241. package/android/jni/lzma/C/Lzma2Enc.c +0 -803
  242. package/android/jni/lzma/C/Lzma2Enc.h +0 -55
  243. package/android/jni/lzma/C/Lzma86.h +0 -111
  244. package/android/jni/lzma/C/Lzma86Dec.c +0 -54
  245. package/android/jni/lzma/C/Lzma86Enc.c +0 -106
  246. package/android/jni/lzma/C/LzmaEnc.c +0 -2976
  247. package/android/jni/lzma/C/LzmaEnc.h +0 -76
  248. package/android/jni/lzma/C/LzmaLib.c +0 -40
  249. package/android/jni/lzma/C/LzmaLib.h +0 -131
  250. package/android/jni/lzma/C/MtCoder.c +0 -601
  251. package/android/jni/lzma/C/MtCoder.h +0 -141
  252. package/android/jni/lzma/C/MtDec.c +0 -1138
  253. package/android/jni/lzma/C/MtDec.h +0 -201
  254. package/android/jni/lzma/C/Ppmd.h +0 -85
  255. package/android/jni/lzma/C/Ppmd7.c +0 -712
  256. package/android/jni/lzma/C/Ppmd7.h +0 -142
  257. package/android/jni/lzma/C/Ppmd7Dec.c +0 -191
  258. package/android/jni/lzma/C/Ppmd7Enc.c +0 -187
  259. package/android/jni/lzma/C/RotateDefs.h +0 -30
  260. package/android/jni/lzma/C/Sha256.c +0 -248
  261. package/android/jni/lzma/C/Sha256.h +0 -26
  262. package/android/jni/lzma/C/Sort.c +0 -141
  263. package/android/jni/lzma/C/Sort.h +0 -18
  264. package/android/jni/lzma/C/Threads.c +0 -95
  265. package/android/jni/lzma/C/Threads.h +0 -70
  266. package/android/jni/lzma/C/ThreadsP.c +0 -396
  267. package/android/jni/lzma/C/ThreadsP.h +0 -31
  268. package/android/jni/lzma/C/Util/7z/7z.dsp +0 -241
  269. package/android/jni/lzma/C/Util/7z/7z.dsw +0 -29
  270. package/android/jni/lzma/C/Util/7z/7zMain.c +0 -686
  271. package/android/jni/lzma/C/Util/7z/Precomp.c +0 -4
  272. package/android/jni/lzma/C/Util/7z/Precomp.h +0 -10
  273. package/android/jni/lzma/C/Util/7z/makefile +0 -40
  274. package/android/jni/lzma/C/Util/7z/makefile.gcc +0 -75
  275. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.c +0 -258
  276. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsp +0 -168
  277. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsw +0 -29
  278. package/android/jni/lzma/C/Util/Lzma/makefile +0 -28
  279. package/android/jni/lzma/C/Util/Lzma/makefile.gcc +0 -44
  280. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.def +0 -4
  281. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsp +0 -178
  282. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsw +0 -29
  283. package/android/jni/lzma/C/Util/LzmaLib/LzmaLibExports.c +0 -14
  284. package/android/jni/lzma/C/Util/LzmaLib/makefile +0 -34
  285. package/android/jni/lzma/C/Util/LzmaLib/resource.rc +0 -3
  286. package/android/jni/lzma/C/Util/SfxSetup/Precomp.c +0 -4
  287. package/android/jni/lzma/C/Util/SfxSetup/Precomp.h +0 -10
  288. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.c +0 -640
  289. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsp +0 -231
  290. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsw +0 -29
  291. package/android/jni/lzma/C/Util/SfxSetup/makefile +0 -37
  292. package/android/jni/lzma/C/Util/SfxSetup/makefile_con +0 -38
  293. package/android/jni/lzma/C/Util/SfxSetup/resource.rc +0 -5
  294. package/android/jni/lzma/C/Util/SfxSetup/setup.ico +0 -0
  295. package/android/jni/lzma/C/Xz.c +0 -90
  296. package/android/jni/lzma/C/Xz.h +0 -460
  297. package/android/jni/lzma/C/XzCrc64.c +0 -86
  298. package/android/jni/lzma/C/XzCrc64.h +0 -26
  299. package/android/jni/lzma/C/XzCrc64Opt.c +0 -69
  300. package/android/jni/lzma/C/XzDec.c +0 -2766
  301. package/android/jni/lzma/C/XzEnc.c +0 -1329
  302. package/android/jni/lzma/C/XzEnc.h +0 -60
  303. package/android/jni/lzma/C/XzIn.c +0 -319
  304. package/android/jni/lzma/CPP/7zip/7zip.mak +0 -240
  305. package/android/jni/lzma/CPP/7zip/Aes.mak +0 -7
  306. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +0 -3
  307. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +0 -76
  308. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +0 -569
  309. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.h +0 -70
  310. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +0 -678
  311. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.h +0 -92
  312. package/android/jni/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +0 -423
  313. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +0 -139
  314. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +0 -61
  315. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +0 -763
  316. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.h +0 -181
  317. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +0 -942
  318. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +0 -19
  319. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.h +0 -148
  320. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.cpp +0 -1666
  321. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.h +0 -445
  322. package/android/jni/lzma/CPP/7zip/Archive/7z/7zItem.h +0 -202
  323. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.cpp +0 -901
  324. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.h +0 -335
  325. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +0 -174
  326. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.h +0 -22
  327. package/android/jni/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +0 -21
  328. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +0 -22
  329. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +0 -35
  330. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +0 -2500
  331. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.h +0 -139
  332. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +0 -3
  333. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.h +0 -8
  334. package/android/jni/lzma/CPP/7zip/Archive/Archive.def +0 -12
  335. package/android/jni/lzma/CPP/7zip/Archive/Archive2.def +0 -19
  336. package/android/jni/lzma/CPP/7zip/Archive/ArchiveExports.cpp +0 -151
  337. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +0 -1125
  338. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +0 -447
  339. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +0 -17
  340. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +0 -25
  341. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +0 -232
  342. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.h +0 -110
  343. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +0 -46
  344. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +0 -67
  345. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +0 -88
  346. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +0 -28
  347. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +0 -191
  348. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.h +0 -89
  349. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +0 -18
  350. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +0 -37
  351. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +0 -3
  352. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.h +0 -6
  353. package/android/jni/lzma/CPP/7zip/Archive/Common/StdAfx.h +0 -8
  354. package/android/jni/lzma/CPP/7zip/Archive/DllExports2.cpp +0 -122
  355. package/android/jni/lzma/CPP/7zip/Archive/IArchive.h +0 -608
  356. package/android/jni/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  357. package/android/jni/lzma/CPP/7zip/Archive/LzmaHandler.cpp +0 -629
  358. package/android/jni/lzma/CPP/7zip/Archive/SplitHandler.cpp +0 -359
  359. package/android/jni/lzma/CPP/7zip/Archive/StdAfx.h +0 -8
  360. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.cpp +0 -1308
  361. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.h +0 -11
  362. package/android/jni/lzma/CPP/7zip/Asm.mak +0 -9
  363. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +0 -1910
  364. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +0 -29
  365. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +0 -3
  366. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +0 -8
  367. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/makefile +0 -154
  368. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +0 -7
  369. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +0 -3
  370. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +0 -8
  371. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +0 -96
  372. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +0 -5
  373. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +0 -3
  374. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +0 -8
  375. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/makefile +0 -116
  376. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +0 -5
  377. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +0 -799
  378. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +0 -477
  379. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +0 -29
  380. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +0 -3
  381. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +0 -8
  382. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile +0 -59
  383. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +0 -195
  384. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +0 -3
  385. package/android/jni/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +0 -715
  386. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  387. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +0 -912
  388. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +0 -29
  389. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +0 -482
  390. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +0 -3
  391. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +0 -8
  392. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/makefile +0 -134
  393. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +0 -5
  394. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +0 -246
  395. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +0 -86
  396. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +0 -137
  397. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +0 -11
  398. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +0 -803
  399. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +0 -29
  400. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +0 -364
  401. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +0 -3
  402. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +0 -13
  403. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/makefile +0 -117
  404. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +0 -6
  405. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +0 -16
  406. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  407. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  408. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +0 -988
  409. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +0 -29
  410. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +0 -241
  411. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +0 -3
  412. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +0 -14
  413. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/makefile +0 -153
  414. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.h +0 -1
  415. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +0 -50
  416. package/android/jni/lzma/CPP/7zip/Common/CWrappers.cpp +0 -250
  417. package/android/jni/lzma/CPP/7zip/Common/CWrappers.h +0 -120
  418. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.cpp +0 -536
  419. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.h +0 -192
  420. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +0 -46
  421. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.h +0 -10
  422. package/android/jni/lzma/CPP/7zip/Common/FileStreams.cpp +0 -475
  423. package/android/jni/lzma/CPP/7zip/Common/FileStreams.h +0 -166
  424. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.cpp +0 -435
  425. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.h +0 -205
  426. package/android/jni/lzma/CPP/7zip/Common/InBuffer.cpp +0 -163
  427. package/android/jni/lzma/CPP/7zip/Common/InBuffer.h +0 -92
  428. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +0 -127
  429. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.h +0 -48
  430. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.cpp +0 -367
  431. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.h +0 -252
  432. package/android/jni/lzma/CPP/7zip/Common/LockedStream.cpp +0 -3
  433. package/android/jni/lzma/CPP/7zip/Common/LockedStream.h +0 -6
  434. package/android/jni/lzma/CPP/7zip/Common/MethodId.cpp +0 -3
  435. package/android/jni/lzma/CPP/7zip/Common/MethodId.h +0 -10
  436. package/android/jni/lzma/CPP/7zip/Common/MethodProps.cpp +0 -509
  437. package/android/jni/lzma/CPP/7zip/Common/MethodProps.h +0 -264
  438. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.cpp +0 -39
  439. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.h +0 -26
  440. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.cpp +0 -111
  441. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.h +0 -66
  442. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.cpp +0 -51
  443. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.h +0 -35
  444. package/android/jni/lzma/CPP/7zip/Common/PropId.cpp +0 -108
  445. package/android/jni/lzma/CPP/7zip/Common/RegisterArc.h +0 -78
  446. package/android/jni/lzma/CPP/7zip/Common/RegisterCodec.h +0 -106
  447. package/android/jni/lzma/CPP/7zip/Common/StdAfx.h +0 -8
  448. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.cpp +0 -156
  449. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.h +0 -60
  450. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.cpp +0 -285
  451. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.h +0 -157
  452. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.cpp +0 -56
  453. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.h +0 -13
  454. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.cpp +0 -57
  455. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.h +0 -26
  456. package/android/jni/lzma/CPP/7zip/Common/VirtThread.cpp +0 -48
  457. package/android/jni/lzma/CPP/7zip/Common/VirtThread.h +0 -24
  458. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +0 -666
  459. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.h +0 -120
  460. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Register.cpp +0 -24
  461. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.cpp +0 -24
  462. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.h +0 -31
  463. package/android/jni/lzma/CPP/7zip/Compress/BcjRegister.cpp +0 -17
  464. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.cpp +0 -23
  465. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.h +0 -35
  466. package/android/jni/lzma/CPP/7zip/Compress/BranchRegister.cpp +0 -41
  467. package/android/jni/lzma/CPP/7zip/Compress/ByteSwap.cpp +0 -92
  468. package/android/jni/lzma/CPP/7zip/Compress/CodecExports.cpp +0 -344
  469. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.cpp +0 -120
  470. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.h +0 -49
  471. package/android/jni/lzma/CPP/7zip/Compress/CopyRegister.cpp +0 -15
  472. package/android/jni/lzma/CPP/7zip/Compress/DeltaFilter.cpp +0 -128
  473. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +0 -265
  474. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.h +0 -96
  475. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +0 -122
  476. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.h +0 -42
  477. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Register.cpp +0 -22
  478. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +0 -343
  479. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.h +0 -113
  480. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +0 -182
  481. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.h +0 -46
  482. package/android/jni/lzma/CPP/7zip/Compress/LzmaRegister.cpp +0 -22
  483. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +0 -170
  484. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.h +0 -86
  485. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +0 -152
  486. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.h +0 -58
  487. package/android/jni/lzma/CPP/7zip/Compress/PpmdRegister.cpp +0 -22
  488. package/android/jni/lzma/CPP/7zip/Compress/StdAfx.h +0 -8
  489. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.cpp +0 -150
  490. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.h +0 -92
  491. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.cpp +0 -245
  492. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.h +0 -46
  493. package/android/jni/lzma/CPP/7zip/Crc.mak +0 -8
  494. package/android/jni/lzma/CPP/7zip/Crc64.mak +0 -8
  495. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.cpp +0 -280
  496. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.h +0 -118
  497. package/android/jni/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +0 -17
  498. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.cpp +0 -112
  499. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.h +0 -57
  500. package/android/jni/lzma/CPP/7zip/Crypto/MyAesReg.cpp +0 -16
  501. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.cpp +0 -233
  502. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.h +0 -40
  503. package/android/jni/lzma/CPP/7zip/Crypto/StdAfx.h +0 -8
  504. package/android/jni/lzma/CPP/7zip/GuiCommon.rc +0 -84
  505. package/android/jni/lzma/CPP/7zip/Guid.txt +0 -220
  506. package/android/jni/lzma/CPP/7zip/ICoder.h +0 -399
  507. package/android/jni/lzma/CPP/7zip/IDecl.h +0 -28
  508. package/android/jni/lzma/CPP/7zip/IPassword.h +0 -23
  509. package/android/jni/lzma/CPP/7zip/IProgress.h +0 -19
  510. package/android/jni/lzma/CPP/7zip/IStream.h +0 -127
  511. package/android/jni/lzma/CPP/7zip/LzmaDec.mak +0 -5
  512. package/android/jni/lzma/CPP/7zip/MyVersion.h +0 -2
  513. package/android/jni/lzma/CPP/7zip/MyVersionInfo.rc +0 -2
  514. package/android/jni/lzma/CPP/7zip/PropID.h +0 -127
  515. package/android/jni/lzma/CPP/7zip/SubBuild.mak +0 -3
  516. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +0 -993
  517. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +0 -235
  518. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +0 -29
  519. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +0 -3
  520. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.h +0 -8
  521. package/android/jni/lzma/CPP/7zip/UI/Client7z/makefile +0 -28
  522. package/android/jni/lzma/CPP/7zip/UI/Client7z/resource.rc +0 -3
  523. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +0 -1295
  524. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +0 -136
  525. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +0 -1715
  526. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +0 -403
  527. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +0 -155
  528. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.h +0 -10
  529. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +0 -161
  530. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +0 -112
  531. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.cpp +0 -3618
  532. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.h +0 -77
  533. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.cpp +0 -37
  534. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.h +0 -11
  535. package/android/jni/lzma/CPP/7zip/UI/Common/DirItem.h +0 -190
  536. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +0 -1096
  537. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.h +0 -42
  538. package/android/jni/lzma/CPP/7zip/UI/Common/ExitCode.h +0 -27
  539. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.cpp +0 -482
  540. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.h +0 -94
  541. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractMode.h +0 -34
  542. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +0 -280
  543. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +0 -31
  544. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.cpp +0 -347
  545. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.h +0 -110
  546. package/android/jni/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +0 -114
  547. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +0 -1074
  548. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.h +0 -424
  549. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +0 -3553
  550. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.h +0 -436
  551. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +0 -668
  552. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.h +0 -18
  553. package/android/jni/lzma/CPP/7zip/UI/Common/Property.h +0 -14
  554. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.cpp +0 -80
  555. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.h +0 -10
  556. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.cpp +0 -25
  557. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.h +0 -10
  558. package/android/jni/lzma/CPP/7zip/UI/Common/StdAfx.h +0 -8
  559. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.cpp +0 -19
  560. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.h +0 -16
  561. package/android/jni/lzma/CPP/7zip/UI/Common/Update.cpp +0 -1704
  562. package/android/jni/lzma/CPP/7zip/UI/Common/Update.h +0 -200
  563. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +0 -64
  564. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.h +0 -66
  565. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +0 -771
  566. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.h +0 -162
  567. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +0 -233
  568. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.h +0 -27
  569. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +0 -70
  570. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.h +0 -55
  571. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.cpp +0 -94
  572. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.h +0 -26
  573. package/android/jni/lzma/CPP/7zip/UI/Common/ZipRegistry.h +0 -130
  574. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.cpp +0 -41
  575. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.h +0 -14
  576. package/android/jni/lzma/CPP/7zip/UI/Console/Console.mak +0 -43
  577. package/android/jni/lzma/CPP/7zip/UI/Console/Console.manifest +0 -13
  578. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +0 -69
  579. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.h +0 -33
  580. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +0 -825
  581. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +0 -164
  582. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.cpp +0 -367
  583. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.h +0 -48
  584. package/android/jni/lzma/CPP/7zip/UI/Console/List.cpp +0 -1359
  585. package/android/jni/lzma/CPP/7zip/UI/Console/List.h +0 -27
  586. package/android/jni/lzma/CPP/7zip/UI/Console/Main.cpp +0 -1154
  587. package/android/jni/lzma/CPP/7zip/UI/Console/MainAr.cpp +0 -175
  588. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +0 -115
  589. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +0 -66
  590. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +0 -183
  591. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.h +0 -62
  592. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.cpp +0 -3
  593. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.h +0 -8
  594. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +0 -702
  595. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +0 -124
  596. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +0 -110
  597. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.h +0 -27
  598. package/android/jni/lzma/CPP/7zip/UI/Console/makefile +0 -64
  599. package/android/jni/lzma/CPP/7zip/UI/Console/resource.rc +0 -7
  600. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +0 -37
  601. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.h +0 -16
  602. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +0 -1025
  603. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +0 -21
  604. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +0 -9
  605. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +0 -64
  606. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +0 -28
  607. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +0 -4
  608. package/android/jni/lzma/CPP/7zip/UI/FileManager/DialogSize.h +0 -16
  609. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +0 -1037
  610. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +0 -328
  611. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +0 -28
  612. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +0 -14
  613. package/android/jni/lzma/CPP/7zip/UI/FileManager/LangUtils.h +0 -40
  614. package/android/jni/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +0 -76
  615. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +0 -122
  616. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +0 -69
  617. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +0 -91
  618. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +0 -17
  619. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +0 -58
  620. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +0 -28
  621. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +0 -14
  622. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +0 -5
  623. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +0 -196
  624. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +0 -170
  625. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +0 -12
  626. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +0 -1337
  627. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +0 -351
  628. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +0 -40
  629. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +0 -48
  630. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +0 -80
  631. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +0 -3
  632. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +0 -23
  633. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.h +0 -10
  634. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +0 -95
  635. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +0 -255
  636. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +0 -62
  637. package/android/jni/lzma/CPP/7zip/UI/FileManager/resource.h +0 -177
  638. package/android/jni/lzma/CPP/7zip/UI/FileManager/resourceGui.h +0 -15
  639. package/android/jni/lzma/CPP/7zip/UI/GUI/Extract.rc +0 -59
  640. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +0 -418
  641. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +0 -113
  642. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +0 -98
  643. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +0 -24
  644. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +0 -280
  645. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +0 -38
  646. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractRes.h +0 -51
  647. package/android/jni/lzma/CPP/7zip/UI/GUI/HashGUI.h +0 -27
  648. package/android/jni/lzma/CPP/7zip/UI/GUI/resource2.h +0 -2
  649. package/android/jni/lzma/CPP/Build.mak +0 -156
  650. package/android/jni/lzma/CPP/Common/AutoPtr.h +0 -35
  651. package/android/jni/lzma/CPP/Common/CRC.cpp +0 -7
  652. package/android/jni/lzma/CPP/Common/C_FileIO.cpp +0 -92
  653. package/android/jni/lzma/CPP/Common/C_FileIO.h +0 -53
  654. package/android/jni/lzma/CPP/Common/ComTry.h +0 -21
  655. package/android/jni/lzma/CPP/Common/CommandLineParser.cpp +0 -197
  656. package/android/jni/lzma/CPP/Common/CommandLineParser.h +0 -63
  657. package/android/jni/lzma/CPP/Common/Common.h +0 -43
  658. package/android/jni/lzma/CPP/Common/CrcReg.cpp +0 -98
  659. package/android/jni/lzma/CPP/Common/Defs.h +0 -15
  660. package/android/jni/lzma/CPP/Common/DynamicBuffer.h +0 -64
  661. package/android/jni/lzma/CPP/Common/IntToString.cpp +0 -193
  662. package/android/jni/lzma/CPP/Common/IntToString.h +0 -28
  663. package/android/jni/lzma/CPP/Common/Lang.h +0 -23
  664. package/android/jni/lzma/CPP/Common/ListFileUtils.cpp +0 -132
  665. package/android/jni/lzma/CPP/Common/ListFileUtils.h +0 -18
  666. package/android/jni/lzma/CPP/Common/MyBuffer.h +0 -259
  667. package/android/jni/lzma/CPP/Common/MyBuffer2.h +0 -100
  668. package/android/jni/lzma/CPP/Common/MyCom.h +0 -277
  669. package/android/jni/lzma/CPP/Common/MyException.h +0 -14
  670. package/android/jni/lzma/CPP/Common/MyGuidDef.h +0 -54
  671. package/android/jni/lzma/CPP/Common/MyInitGuid.h +0 -45
  672. package/android/jni/lzma/CPP/Common/MyLinux.h +0 -42
  673. package/android/jni/lzma/CPP/Common/MyString.cpp +0 -1659
  674. package/android/jni/lzma/CPP/Common/MyString.h +0 -868
  675. package/android/jni/lzma/CPP/Common/MyTypes.h +0 -35
  676. package/android/jni/lzma/CPP/Common/MyUnknown.h +0 -17
  677. package/android/jni/lzma/CPP/Common/MyVector.cpp +0 -3
  678. package/android/jni/lzma/CPP/Common/MyVector.h +0 -634
  679. package/android/jni/lzma/CPP/Common/MyWindows.cpp +0 -145
  680. package/android/jni/lzma/CPP/Common/MyWindows.h +0 -231
  681. package/android/jni/lzma/CPP/Common/NewHandler.cpp +0 -163
  682. package/android/jni/lzma/CPP/Common/NewHandler.h +0 -88
  683. package/android/jni/lzma/CPP/Common/Sha256Reg.cpp +0 -40
  684. package/android/jni/lzma/CPP/Common/StdAfx.h +0 -8
  685. package/android/jni/lzma/CPP/Common/StdInStream.cpp +0 -89
  686. package/android/jni/lzma/CPP/Common/StdInStream.h +0 -38
  687. package/android/jni/lzma/CPP/Common/StdOutStream.cpp +0 -163
  688. package/android/jni/lzma/CPP/Common/StdOutStream.h +0 -71
  689. package/android/jni/lzma/CPP/Common/StringConvert.cpp +0 -319
  690. package/android/jni/lzma/CPP/Common/StringConvert.h +0 -88
  691. package/android/jni/lzma/CPP/Common/StringToInt.cpp +0 -144
  692. package/android/jni/lzma/CPP/Common/StringToInt.h +0 -21
  693. package/android/jni/lzma/CPP/Common/TextConfig.cpp +0 -124
  694. package/android/jni/lzma/CPP/Common/TextConfig.h +0 -19
  695. package/android/jni/lzma/CPP/Common/UTFConvert.cpp +0 -288
  696. package/android/jni/lzma/CPP/Common/UTFConvert.h +0 -12
  697. package/android/jni/lzma/CPP/Common/Wildcard.cpp +0 -676
  698. package/android/jni/lzma/CPP/Common/Wildcard.h +0 -149
  699. package/android/jni/lzma/CPP/Common/XzCrc64Init.cpp +0 -7
  700. package/android/jni/lzma/CPP/Common/XzCrc64Reg.cpp +0 -42
  701. package/android/jni/lzma/CPP/Windows/COM.h +0 -70
  702. package/android/jni/lzma/CPP/Windows/CommonDialog.cpp +0 -185
  703. package/android/jni/lzma/CPP/Windows/CommonDialog.h +0 -23
  704. package/android/jni/lzma/CPP/Windows/Control/ComboBox.cpp +0 -66
  705. package/android/jni/lzma/CPP/Windows/Control/ComboBox.h +0 -65
  706. package/android/jni/lzma/CPP/Windows/Control/CommandBar.h +0 -52
  707. package/android/jni/lzma/CPP/Windows/Control/Dialog.cpp +0 -251
  708. package/android/jni/lzma/CPP/Windows/Control/Dialog.h +0 -170
  709. package/android/jni/lzma/CPP/Windows/Control/Edit.h +0 -19
  710. package/android/jni/lzma/CPP/Windows/Control/ImageList.cpp +0 -10
  711. package/android/jni/lzma/CPP/Windows/Control/ImageList.h +0 -87
  712. package/android/jni/lzma/CPP/Windows/Control/ListView.cpp +0 -155
  713. package/android/jni/lzma/CPP/Windows/Control/ListView.h +0 -146
  714. package/android/jni/lzma/CPP/Windows/Control/ProgressBar.h +0 -35
  715. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.cpp +0 -143
  716. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.h +0 -50
  717. package/android/jni/lzma/CPP/Windows/Control/ReBar.h +0 -34
  718. package/android/jni/lzma/CPP/Windows/Control/Static.h +0 -28
  719. package/android/jni/lzma/CPP/Windows/Control/StatusBar.h +0 -42
  720. package/android/jni/lzma/CPP/Windows/Control/StdAfx.h +0 -8
  721. package/android/jni/lzma/CPP/Windows/Control/ToolBar.h +0 -43
  722. package/android/jni/lzma/CPP/Windows/Control/Trackbar.h +0 -27
  723. package/android/jni/lzma/CPP/Windows/Control/Window2.cpp +0 -200
  724. package/android/jni/lzma/CPP/Windows/Control/Window2.h +0 -51
  725. package/android/jni/lzma/CPP/Windows/DLL.cpp +0 -109
  726. package/android/jni/lzma/CPP/Windows/DLL.h +0 -58
  727. package/android/jni/lzma/CPP/Windows/Defs.h +0 -17
  728. package/android/jni/lzma/CPP/Windows/ErrorMsg.cpp +0 -66
  729. package/android/jni/lzma/CPP/Windows/ErrorMsg.h +0 -15
  730. package/android/jni/lzma/CPP/Windows/FileDir.cpp +0 -714
  731. package/android/jni/lzma/CPP/Windows/FileDir.h +0 -117
  732. package/android/jni/lzma/CPP/Windows/FileFind.cpp +0 -749
  733. package/android/jni/lzma/CPP/Windows/FileFind.h +0 -161
  734. package/android/jni/lzma/CPP/Windows/FileIO.cpp +0 -432
  735. package/android/jni/lzma/CPP/Windows/FileIO.h +0 -212
  736. package/android/jni/lzma/CPP/Windows/FileLink.cpp +0 -440
  737. package/android/jni/lzma/CPP/Windows/FileMapping.cpp +0 -12
  738. package/android/jni/lzma/CPP/Windows/FileMapping.h +0 -66
  739. package/android/jni/lzma/CPP/Windows/FileName.cpp +0 -839
  740. package/android/jni/lzma/CPP/Windows/FileName.h +0 -115
  741. package/android/jni/lzma/CPP/Windows/FileSystem.cpp +0 -131
  742. package/android/jni/lzma/CPP/Windows/FileSystem.h +0 -27
  743. package/android/jni/lzma/CPP/Windows/Handle.h +0 -37
  744. package/android/jni/lzma/CPP/Windows/MemoryLock.cpp +0 -112
  745. package/android/jni/lzma/CPP/Windows/MemoryLock.h +0 -40
  746. package/android/jni/lzma/CPP/Windows/NtCheck.h +0 -46
  747. package/android/jni/lzma/CPP/Windows/PropVariant.cpp +0 -347
  748. package/android/jni/lzma/CPP/Windows/PropVariant.h +0 -114
  749. package/android/jni/lzma/CPP/Windows/PropVariantConv.cpp +0 -138
  750. package/android/jni/lzma/CPP/Windows/PropVariantConv.h +0 -37
  751. package/android/jni/lzma/CPP/Windows/Registry.cpp +0 -390
  752. package/android/jni/lzma/CPP/Windows/Registry.h +0 -84
  753. package/android/jni/lzma/CPP/Windows/ResourceString.cpp +0 -103
  754. package/android/jni/lzma/CPP/Windows/ResourceString.h +0 -16
  755. package/android/jni/lzma/CPP/Windows/SecurityUtils.cpp +0 -181
  756. package/android/jni/lzma/CPP/Windows/SecurityUtils.h +0 -167
  757. package/android/jni/lzma/CPP/Windows/Shell.cpp +0 -358
  758. package/android/jni/lzma/CPP/Windows/Shell.h +0 -94
  759. package/android/jni/lzma/CPP/Windows/StdAfx.h +0 -8
  760. package/android/jni/lzma/CPP/Windows/Synchronization.cpp +0 -10
  761. package/android/jni/lzma/CPP/Windows/Synchronization.h +0 -164
  762. package/android/jni/lzma/CPP/Windows/System.cpp +0 -142
  763. package/android/jni/lzma/CPP/Windows/System.h +0 -40
  764. package/android/jni/lzma/CPP/Windows/Thread.h +0 -38
  765. package/android/jni/lzma/CPP/Windows/TimeUtils.cpp +0 -213
  766. package/android/jni/lzma/CPP/Windows/TimeUtils.h +0 -32
  767. package/android/jni/lzma/CPP/Windows/Window.cpp +0 -179
  768. package/android/jni/lzma/CPP/Windows/Window.h +0 -284
  769. package/android/jni/lzma/CS/7zip/Common/CRC.cs +0 -55
  770. package/android/jni/lzma/CS/7zip/Common/CommandLineParser.cs +0 -274
  771. package/android/jni/lzma/CS/7zip/Common/InBuffer.cs +0 -72
  772. package/android/jni/lzma/CS/7zip/Common/OutBuffer.cs +0 -47
  773. package/android/jni/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +0 -24
  774. package/android/jni/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +0 -367
  775. package/android/jni/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +0 -132
  776. package/android/jni/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +0 -110
  777. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +0 -76
  778. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +0 -398
  779. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +0 -1480
  780. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +0 -364
  781. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +0 -90
  782. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +0 -20
  783. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +0 -340
  784. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +0 -29
  785. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +0 -70
  786. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +0 -42
  787. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +0 -234
  788. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +0 -117
  789. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +0 -157
  790. package/android/jni/lzma/CS/7zip/ICoder.cs +0 -157
  791. package/android/jni/lzma/DOC/7zC.txt +0 -187
  792. package/android/jni/lzma/DOC/7zFormat.txt +0 -469
  793. package/android/jni/lzma/DOC/Methods.txt +0 -173
  794. package/android/jni/lzma/DOC/installer.txt +0 -166
  795. package/android/jni/lzma/DOC/lzma-history.txt +0 -446
  796. package/android/jni/lzma/DOC/lzma-specification.txt +0 -1176
  797. package/android/jni/lzma/DOC/lzma.txt +0 -328
  798. package/android/jni/lzma/Java/SevenZip/CRC.java +0 -52
  799. package/android/jni/lzma/Java/SevenZip/Compression/LZ/BinTree.java +0 -382
  800. package/android/jni/lzma/Java/SevenZip/Compression/LZ/InWindow.java +0 -131
  801. package/android/jni/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +0 -85
  802. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Base.java +0 -88
  803. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +0 -329
  804. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +0 -1416
  805. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +0 -55
  806. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +0 -99
  807. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +0 -88
  808. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +0 -151
  809. package/android/jni/lzma/Java/SevenZip/ICodeProgress.java +0 -6
  810. package/android/jni/lzma/Java/SevenZip/LzmaAlone.java +0 -253
  811. package/android/jni/lzma/Java/SevenZip/LzmaBench.java +0 -392
  812. package/android/jni/lzma/bin/7zS2.sfx +0 -0
  813. package/android/jni/lzma/bin/7zS2con.sfx +0 -0
  814. package/android/jni/lzma/bin/7zSD.sfx +0 -0
  815. package/android/jni/lzma/bin/7zdec.exe +0 -0
  816. package/android/jni/lzma/bin/7zr.exe +0 -0
  817. package/android/jni/lzma/bin/installer/config.txt +0 -5
  818. package/android/jni/lzma/bin/installer/cr.bat +0 -5
  819. package/android/jni/lzma/bin/lzma.exe +0 -0
  820. package/android/jni/lzma/bin/x64/7zr.exe +0 -0
@@ -1,1715 +0,0 @@
1
- // ArchiveExtractCallback.cpp
2
-
3
- #include "StdAfx.h"
4
-
5
- #undef sprintf
6
- #undef printf
7
-
8
- // #include <stdio.h>
9
- // #include "../../../../C/CpuTicks.h"
10
-
11
- #include "../../../../C/Alloc.h"
12
- #include "../../../../C/CpuArch.h"
13
-
14
-
15
- #include "../../../Common/ComTry.h"
16
- #include "../../../Common/IntToString.h"
17
- #include "../../../Common/StringConvert.h"
18
- #include "../../../Common/Wildcard.h"
19
-
20
- #include "../../../Windows/ErrorMsg.h"
21
- #include "../../../Windows/FileDir.h"
22
- #include "../../../Windows/FileFind.h"
23
- #include "../../../Windows/FileName.h"
24
- #include "../../../Windows/PropVariant.h"
25
- #include "../../../Windows/PropVariantConv.h"
26
-
27
- #if defined(_WIN32) && !defined(UNDER_CE) && !defined(_SFX)
28
- #define _USE_SECURITY_CODE
29
- #include "../../../Windows/SecurityUtils.h"
30
- #endif
31
-
32
- #include "../../Common/FilePathAutoRename.h"
33
- // #include "../../Common/StreamUtils.h"
34
-
35
- #include "../Common/ExtractingFilePath.h"
36
- #include "../Common/PropIDUtils.h"
37
-
38
- #include "ArchiveExtractCallback.h"
39
-
40
- using namespace NWindows;
41
- using namespace NFile;
42
- using namespace NDir;
43
-
44
- static const char * const kCantAutoRename = "Can not create file with auto name";
45
- static const char * const kCantRenameFile = "Can not rename existing file";
46
- static const char * const kCantDeleteOutputFile = "Can not delete output file";
47
- static const char * const kCantDeleteOutputDir = "Can not delete output folder";
48
- static const char * const kCantCreateHardLink = "Can not create hard link";
49
- static const char * const kCantCreateSymLink = "Can not create symbolic link";
50
- static const char * const kCantOpenOutFile = "Can not open output file";
51
- static const char * const kCantSetFileLen = "Can not set length for output file";
52
-
53
-
54
- #ifndef _SFX
55
-
56
- STDMETHODIMP COutStreamWithHash::Write(const void *data, UInt32 size, UInt32 *processedSize)
57
- {
58
- HRESULT result = S_OK;
59
- if (_stream)
60
- result = _stream->Write(data, size, &size);
61
- if (_calculate)
62
- _hash->Update(data, size);
63
- _size += size;
64
- if (processedSize)
65
- *processedSize = size;
66
- return result;
67
- }
68
-
69
- #endif
70
-
71
- #ifdef _USE_SECURITY_CODE
72
- bool InitLocalPrivileges()
73
- {
74
- NSecurity::CAccessToken token;
75
- if (!token.OpenProcessToken(GetCurrentProcess(),
76
- TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES))
77
- return false;
78
-
79
- TOKEN_PRIVILEGES tp;
80
-
81
- tp.PrivilegeCount = 1;
82
- tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
83
-
84
- if (!::LookupPrivilegeValue(NULL, SE_SECURITY_NAME, &tp.Privileges[0].Luid))
85
- return false;
86
- if (!token.AdjustPrivileges(&tp))
87
- return false;
88
- return (GetLastError() == ERROR_SUCCESS);
89
- }
90
- #endif
91
-
92
- #ifdef SUPPORT_LINKS
93
-
94
- int CHardLinkNode::Compare(const CHardLinkNode &a) const
95
- {
96
- if (StreamId < a.StreamId) return -1;
97
- if (StreamId > a.StreamId) return 1;
98
- return MyCompare(INode, a.INode);
99
- }
100
-
101
- static HRESULT Archive_Get_HardLinkNode(IInArchive *archive, UInt32 index, CHardLinkNode &h, bool &defined)
102
- {
103
- h.INode = 0;
104
- h.StreamId = (UInt64)(Int64)-1;
105
- defined = false;
106
- {
107
- NCOM::CPropVariant prop;
108
- RINOK(archive->GetProperty(index, kpidINode, &prop));
109
- if (!ConvertPropVariantToUInt64(prop, h.INode))
110
- return S_OK;
111
- }
112
- {
113
- NCOM::CPropVariant prop;
114
- RINOK(archive->GetProperty(index, kpidStreamId, &prop));
115
- ConvertPropVariantToUInt64(prop, h.StreamId);
116
- }
117
- defined = true;
118
- return S_OK;
119
- }
120
-
121
-
122
- HRESULT CArchiveExtractCallback::PrepareHardLinks(const CRecordVector<UInt32> *realIndices)
123
- {
124
- _hardLinks.Clear();
125
-
126
- if (!_arc->Ask_INode)
127
- return S_OK;
128
-
129
- IInArchive *archive = _arc->Archive;
130
- CRecordVector<CHardLinkNode> &hardIDs = _hardLinks.IDs;
131
-
132
- {
133
- UInt32 numItems;
134
- if (realIndices)
135
- numItems = realIndices->Size();
136
- else
137
- {
138
- RINOK(archive->GetNumberOfItems(&numItems));
139
- }
140
-
141
- for (UInt32 i = 0; i < numItems; i++)
142
- {
143
- CHardLinkNode h;
144
- bool defined;
145
- UInt32 realIndex = realIndices ? (*realIndices)[i] : i;
146
-
147
- RINOK(Archive_Get_HardLinkNode(archive, realIndex, h, defined));
148
- if (defined)
149
- {
150
- bool isAltStream = false;
151
- RINOK(Archive_IsItem_AltStream(archive, realIndex, isAltStream));
152
- if (!isAltStream)
153
- hardIDs.Add(h);
154
- }
155
- }
156
- }
157
-
158
- hardIDs.Sort2();
159
-
160
- {
161
- // wee keep only items that have 2 or more items
162
- unsigned k = 0;
163
- unsigned numSame = 1;
164
- for (unsigned i = 1; i < hardIDs.Size(); i++)
165
- {
166
- if (hardIDs[i].Compare(hardIDs[i - 1]) != 0)
167
- numSame = 1;
168
- else if (++numSame == 2)
169
- {
170
- if (i - 1 != k)
171
- hardIDs[k] = hardIDs[i - 1];
172
- k++;
173
- }
174
- }
175
- hardIDs.DeleteFrom(k);
176
- }
177
-
178
- _hardLinks.PrepareLinks();
179
- return S_OK;
180
- }
181
-
182
- #endif
183
-
184
- CArchiveExtractCallback::CArchiveExtractCallback():
185
- _arc(NULL),
186
- WriteCTime(true),
187
- WriteATime(true),
188
- WriteMTime(true),
189
- _multiArchives(false)
190
- {
191
- LocalProgressSpec = new CLocalProgress();
192
- _localProgress = LocalProgressSpec;
193
-
194
- #ifdef _USE_SECURITY_CODE
195
- _saclEnabled = InitLocalPrivileges();
196
- #endif
197
- }
198
-
199
- void CArchiveExtractCallback::Init(
200
- const CExtractNtOptions &ntOptions,
201
- const NWildcard::CCensorNode *wildcardCensor,
202
- const CArc *arc,
203
- IFolderArchiveExtractCallback *extractCallback2,
204
- bool stdOutMode, bool testMode,
205
- const FString &directoryPath,
206
- const UStringVector &removePathParts, bool removePartsForAltStreams,
207
- UInt64 packSize)
208
- {
209
- ClearExtractedDirsInfo();
210
- _outFileStream.Release();
211
-
212
- #ifdef SUPPORT_LINKS
213
- _hardLinks.Clear();
214
- #endif
215
-
216
- #ifdef SUPPORT_ALT_STREAMS
217
- _renamedFiles.Clear();
218
- #endif
219
-
220
- _ntOptions = ntOptions;
221
- _wildcardCensor = wildcardCensor;
222
-
223
- _stdOutMode = stdOutMode;
224
- _testMode = testMode;
225
-
226
- // _progressTotal = 0;
227
- // _progressTotal_Defined = false;
228
-
229
- _packTotal = packSize;
230
- _progressTotal = packSize;
231
- _progressTotal_Defined = true;
232
-
233
- _extractCallback2 = extractCallback2;
234
- _compressProgress.Release();
235
- _extractCallback2.QueryInterface(IID_ICompressProgressInfo, &_compressProgress);
236
- _extractCallback2.QueryInterface(IID_IArchiveExtractCallbackMessage, &_callbackMessage);
237
- _extractCallback2.QueryInterface(IID_IFolderArchiveExtractCallback2, &_folderArchiveExtractCallback2);
238
-
239
- #ifndef _SFX
240
-
241
- _extractCallback2.QueryInterface(IID_IFolderExtractToStreamCallback, &ExtractToStreamCallback);
242
- if (ExtractToStreamCallback)
243
- {
244
- Int32 useStreams = 0;
245
- if (ExtractToStreamCallback->UseExtractToStream(&useStreams) != S_OK)
246
- useStreams = 0;
247
- if (useStreams == 0)
248
- ExtractToStreamCallback.Release();
249
- }
250
-
251
- #endif
252
-
253
- LocalProgressSpec->Init(extractCallback2, true);
254
- LocalProgressSpec->SendProgress = false;
255
-
256
- _removePathParts = removePathParts;
257
- _removePartsForAltStreams = removePartsForAltStreams;
258
-
259
- #ifndef _SFX
260
- _baseParentFolder = (UInt32)(Int32)-1;
261
- _use_baseParentFolder_mode = false;
262
- #endif
263
-
264
- _arc = arc;
265
- _dirPathPrefix = directoryPath;
266
- _dirPathPrefix_Full = directoryPath;
267
- #if defined(_WIN32) && !defined(UNDER_CE)
268
- if (!NName::IsAltPathPrefix(_dirPathPrefix))
269
- #endif
270
- {
271
- NName::NormalizeDirPathPrefix(_dirPathPrefix);
272
- NDir::MyGetFullPathName(directoryPath, _dirPathPrefix_Full);
273
- NName::NormalizeDirPathPrefix(_dirPathPrefix_Full);
274
- }
275
- }
276
-
277
- STDMETHODIMP CArchiveExtractCallback::SetTotal(UInt64 size)
278
- {
279
- COM_TRY_BEGIN
280
- _progressTotal = size;
281
- _progressTotal_Defined = true;
282
- if (!_multiArchives && _extractCallback2)
283
- return _extractCallback2->SetTotal(size);
284
- return S_OK;
285
- COM_TRY_END
286
- }
287
-
288
- static void NormalizeVals(UInt64 &v1, UInt64 &v2)
289
- {
290
- const UInt64 kMax = (UInt64)1 << 31;
291
- while (v1 > kMax)
292
- {
293
- v1 >>= 1;
294
- v2 >>= 1;
295
- }
296
- }
297
-
298
- static UInt64 MyMultDiv64(UInt64 unpCur, UInt64 unpTotal, UInt64 packTotal)
299
- {
300
- NormalizeVals(packTotal, unpTotal);
301
- NormalizeVals(unpCur, unpTotal);
302
- if (unpTotal == 0)
303
- unpTotal = 1;
304
- return unpCur * packTotal / unpTotal;
305
- }
306
-
307
- STDMETHODIMP CArchiveExtractCallback::SetCompleted(const UInt64 *completeValue)
308
- {
309
- COM_TRY_BEGIN
310
-
311
- if (!_extractCallback2)
312
- return S_OK;
313
-
314
- UInt64 packCur;
315
- if (_multiArchives)
316
- {
317
- packCur = LocalProgressSpec->InSize;
318
- if (completeValue && _progressTotal_Defined)
319
- packCur += MyMultDiv64(*completeValue, _progressTotal, _packTotal);
320
- completeValue = &packCur;
321
- }
322
- return _extractCallback2->SetCompleted(completeValue);
323
-
324
- COM_TRY_END
325
- }
326
-
327
- STDMETHODIMP CArchiveExtractCallback::SetRatioInfo(const UInt64 *inSize, const UInt64 *outSize)
328
- {
329
- COM_TRY_BEGIN
330
- return _localProgress->SetRatioInfo(inSize, outSize);
331
- COM_TRY_END
332
- }
333
-
334
- void CArchiveExtractCallback::CreateComplexDirectory(const UStringVector &dirPathParts, FString &fullPath)
335
- {
336
- bool isAbsPath = false;
337
-
338
- if (!dirPathParts.IsEmpty())
339
- {
340
- const UString &s = dirPathParts[0];
341
- if (s.IsEmpty())
342
- isAbsPath = true;
343
- #if defined(_WIN32) && !defined(UNDER_CE)
344
- else
345
- {
346
- if (NName::IsDrivePath2(s))
347
- isAbsPath = true;
348
- }
349
- #endif
350
- }
351
-
352
- if (_pathMode == NExtract::NPathMode::kAbsPaths && isAbsPath)
353
- fullPath.Empty();
354
- else
355
- fullPath = _dirPathPrefix;
356
-
357
- FOR_VECTOR (i, dirPathParts)
358
- {
359
- if (i != 0)
360
- fullPath.Add_PathSepar();
361
- const UString &s = dirPathParts[i];
362
- fullPath += us2fs(s);
363
- #if defined(_WIN32) && !defined(UNDER_CE)
364
- if (_pathMode == NExtract::NPathMode::kAbsPaths)
365
- if (i == 0 && s.Len() == 2 && NName::IsDrivePath2(s))
366
- continue;
367
- #endif
368
- CreateDir(fullPath);
369
- }
370
- }
371
-
372
- HRESULT CArchiveExtractCallback::GetTime(UInt32 index, PROPID propID, FILETIME &filetime, bool &filetimeIsDefined)
373
- {
374
- filetimeIsDefined = false;
375
- filetime.dwLowDateTime = 0;
376
- filetime.dwHighDateTime = 0;
377
- NCOM::CPropVariant prop;
378
- RINOK(_arc->Archive->GetProperty(index, propID, &prop));
379
- if (prop.vt == VT_FILETIME)
380
- {
381
- filetime = prop.filetime;
382
- filetimeIsDefined = (filetime.dwHighDateTime != 0 || filetime.dwLowDateTime != 0);
383
- }
384
- else if (prop.vt != VT_EMPTY)
385
- return E_FAIL;
386
- return S_OK;
387
- }
388
-
389
- HRESULT CArchiveExtractCallback::GetUnpackSize()
390
- {
391
- return _arc->GetItemSize(_index, _curSize, _curSizeDefined);
392
- }
393
-
394
- static void AddPathToMessage(UString &s, const FString &path)
395
- {
396
- s += " : ";
397
- s += fs2us(path);
398
- }
399
-
400
- HRESULT CArchiveExtractCallback::SendMessageError(const char *message, const FString &path)
401
- {
402
- UString s (message);
403
- AddPathToMessage(s, path);
404
- return _extractCallback2->MessageError(s);
405
- }
406
-
407
- HRESULT CArchiveExtractCallback::SendMessageError_with_LastError(const char *message, const FString &path)
408
- {
409
- DWORD errorCode = GetLastError();
410
- UString s (message);
411
- if (errorCode != 0)
412
- {
413
- s += " : ";
414
- s += NError::MyFormatMessage(errorCode);
415
- }
416
- AddPathToMessage(s, path);
417
- return _extractCallback2->MessageError(s);
418
- }
419
-
420
- HRESULT CArchiveExtractCallback::SendMessageError2(const char *message, const FString &path1, const FString &path2)
421
- {
422
- UString s (message);
423
- AddPathToMessage(s, path1);
424
- AddPathToMessage(s, path2);
425
- return _extractCallback2->MessageError(s);
426
- }
427
-
428
- #ifndef _SFX
429
-
430
- STDMETHODIMP CGetProp::GetProp(PROPID propID, PROPVARIANT *value)
431
- {
432
- /*
433
- if (propID == kpidName)
434
- {
435
- COM_TRY_BEGIN
436
- NCOM::CPropVariant prop = Name;
437
- prop.Detach(value);
438
- return S_OK;
439
- COM_TRY_END
440
- }
441
- */
442
- return Arc->Archive->GetProperty(IndexInArc, propID, value);
443
- }
444
-
445
- #endif
446
-
447
-
448
- #ifdef SUPPORT_LINKS
449
-
450
- static UString GetDirPrefixOf(const UString &src)
451
- {
452
- UString s (src);
453
- if (!s.IsEmpty())
454
- {
455
- if (IsPathSepar(s.Back()))
456
- s.DeleteBack();
457
- int pos = s.ReverseFind_PathSepar();
458
- s.DeleteFrom(pos + 1);
459
- }
460
- return s;
461
- }
462
-
463
- #endif
464
-
465
-
466
- bool IsSafePath(const UString &path)
467
- {
468
- if (NName::IsAbsolutePath(path))
469
- return false;
470
-
471
- UStringVector parts;
472
- SplitPathToParts(path, parts);
473
- unsigned level = 0;
474
-
475
- FOR_VECTOR (i, parts)
476
- {
477
- const UString &s = parts[i];
478
- if (s.IsEmpty())
479
- {
480
- if (i == 0)
481
- return false;
482
- continue;
483
- }
484
- if (s == L".")
485
- continue;
486
- if (s == L"..")
487
- {
488
- if (level == 0)
489
- return false;
490
- level--;
491
- }
492
- else
493
- level++;
494
- }
495
-
496
- return level > 0;
497
- }
498
-
499
-
500
- bool CensorNode_CheckPath2(const NWildcard::CCensorNode &node, const CReadArcItem &item, bool &include)
501
- {
502
- bool found = false;
503
-
504
- if (node.CheckPathVect(item.PathParts, !item.MainIsDir, include))
505
- {
506
- if (!include)
507
- return true;
508
-
509
- #ifdef SUPPORT_ALT_STREAMS
510
- if (!item.IsAltStream)
511
- return true;
512
- #endif
513
-
514
- found = true;
515
- }
516
-
517
- #ifdef SUPPORT_ALT_STREAMS
518
-
519
- if (!item.IsAltStream)
520
- return false;
521
-
522
- UStringVector pathParts2 = item.PathParts;
523
- if (pathParts2.IsEmpty())
524
- pathParts2.AddNew();
525
- UString &back = pathParts2.Back();
526
- back += ':';
527
- back += item.AltStreamName;
528
- bool include2;
529
-
530
- if (node.CheckPathVect(pathParts2,
531
- true, // isFile,
532
- include2))
533
- {
534
- include = include2;
535
- return true;
536
- }
537
-
538
- #endif
539
-
540
- return found;
541
- }
542
-
543
- bool CensorNode_CheckPath(const NWildcard::CCensorNode &node, const CReadArcItem &item)
544
- {
545
- bool include;
546
- if (CensorNode_CheckPath2(node, item, include))
547
- return include;
548
- return false;
549
- }
550
-
551
- static FString MakePath_from_2_Parts(const FString &prefix, const FString &path)
552
- {
553
- FString s (prefix);
554
- #if defined(_WIN32) && !defined(UNDER_CE)
555
- if (!path.IsEmpty() && path[0] == ':' && !prefix.IsEmpty() && IsPathSepar(prefix.Back()))
556
- {
557
- if (!NName::IsDriveRootPath_SuperAllowed(prefix))
558
- s.DeleteBack();
559
- }
560
- #endif
561
- s += path;
562
- return s;
563
- }
564
-
565
-
566
- /*
567
- #ifdef SUPPORT_LINKS
568
-
569
- struct CTempMidBuffer
570
- {
571
- void *Buf;
572
-
573
- CTempMidBuffer(size_t size): Buf(NULL) { Buf = ::MidAlloc(size); }
574
- ~CTempMidBuffer() { ::MidFree(Buf); }
575
- };
576
-
577
- HRESULT CArchiveExtractCallback::MyCopyFile(ISequentialOutStream *outStream)
578
- {
579
- const size_t kBufSize = 1 << 16;
580
- CTempMidBuffer buf(kBufSize);
581
- if (!buf.Buf)
582
- return E_OUTOFMEMORY;
583
-
584
- NIO::CInFile inFile;
585
- NIO::COutFile outFile;
586
-
587
- if (!inFile.Open(_CopyFile_Path))
588
- return SendMessageError_with_LastError("Open error", _CopyFile_Path);
589
-
590
- for (;;)
591
- {
592
- UInt32 num;
593
-
594
- if (!inFile.Read(buf.Buf, kBufSize, num))
595
- return SendMessageError_with_LastError("Read error", _CopyFile_Path);
596
-
597
- if (num == 0)
598
- return S_OK;
599
-
600
-
601
- RINOK(WriteStream(outStream, buf.Buf, num));
602
- }
603
- }
604
-
605
- #endif
606
- */
607
-
608
-
609
- STDMETHODIMP CArchiveExtractCallback::GetStream(UInt32 index, ISequentialOutStream **outStream, Int32 askExtractMode)
610
- {
611
- COM_TRY_BEGIN
612
-
613
- *outStream = NULL;
614
-
615
- #ifndef _SFX
616
- if (_hashStream)
617
- _hashStreamSpec->ReleaseStream();
618
- _hashStreamWasUsed = false;
619
- #endif
620
-
621
- _outFileStream.Release();
622
-
623
- _encrypted = false;
624
- _position = 0;
625
- _isSplit = false;
626
-
627
- _curSize = 0;
628
- _curSizeDefined = false;
629
- _fileLengthWasSet = false;
630
- _index = index;
631
-
632
- _diskFilePath.Empty();
633
-
634
- // _fi.Clear();
635
-
636
- #ifdef SUPPORT_LINKS
637
- // _CopyFile_Path.Empty();
638
- linkPath.Empty();
639
- #endif
640
-
641
- IInArchive *archive = _arc->Archive;
642
-
643
- #ifndef _SFX
644
- _item._use_baseParentFolder_mode = _use_baseParentFolder_mode;
645
- if (_use_baseParentFolder_mode)
646
- {
647
- _item._baseParentFolder = _baseParentFolder;
648
- if (_pathMode == NExtract::NPathMode::kFullPaths ||
649
- _pathMode == NExtract::NPathMode::kAbsPaths)
650
- _item._baseParentFolder = -1;
651
- }
652
- #endif
653
-
654
- #ifdef SUPPORT_ALT_STREAMS
655
- _item.WriteToAltStreamIfColon = _ntOptions.WriteToAltStreamIfColon;
656
- #endif
657
-
658
- RINOK(_arc->GetItem(index, _item));
659
-
660
- {
661
- NCOM::CPropVariant prop;
662
- RINOK(archive->GetProperty(index, kpidPosition, &prop));
663
- if (prop.vt != VT_EMPTY)
664
- {
665
- if (prop.vt != VT_UI8)
666
- return E_FAIL;
667
- _position = prop.uhVal.QuadPart;
668
- _isSplit = true;
669
- }
670
- }
671
-
672
- #ifdef SUPPORT_LINKS
673
-
674
- // bool isCopyLink = false;
675
- bool isHardLink = false;
676
- bool isJunction = false;
677
- bool isRelative = false;
678
-
679
- {
680
- NCOM::CPropVariant prop;
681
- RINOK(archive->GetProperty(index, kpidHardLink, &prop));
682
- if (prop.vt == VT_BSTR)
683
- {
684
- isHardLink = true;
685
- // isCopyLink = false;
686
- isRelative = false; // RAR5, TAR: hard links are from root folder of archive
687
- linkPath.SetFromBstr(prop.bstrVal);
688
- }
689
- else if (prop.vt != VT_EMPTY)
690
- return E_FAIL;
691
- }
692
-
693
- /*
694
- {
695
- NCOM::CPropVariant prop;
696
- RINOK(archive->GetProperty(index, kpidCopyLink, &prop));
697
- if (prop.vt == VT_BSTR)
698
- {
699
- isHardLink = false;
700
- isCopyLink = true;
701
- isRelative = false; // RAR5: copy links are from root folder of archive
702
- linkPath.SetFromBstr(prop.bstrVal);
703
- }
704
- else if (prop.vt != VT_EMPTY)
705
- return E_FAIL;
706
- }
707
- */
708
-
709
- {
710
- NCOM::CPropVariant prop;
711
- RINOK(archive->GetProperty(index, kpidSymLink, &prop));
712
- if (prop.vt == VT_BSTR)
713
- {
714
- isHardLink = false;
715
- // isCopyLink = false;
716
- isRelative = true; // RAR5, TAR: symbolic links can be relative
717
- linkPath.SetFromBstr(prop.bstrVal);
718
- }
719
- else if (prop.vt != VT_EMPTY)
720
- return E_FAIL;
721
- }
722
-
723
-
724
- bool isOkReparse = false;
725
-
726
- if (linkPath.IsEmpty() && _arc->GetRawProps)
727
- {
728
- const void *data;
729
- UInt32 dataSize;
730
- UInt32 propType;
731
-
732
- _arc->GetRawProps->GetRawProp(_index, kpidNtReparse, &data, &dataSize, &propType);
733
-
734
- if (dataSize != 0)
735
- {
736
- if (propType != NPropDataType::kRaw)
737
- return E_FAIL;
738
- UString s;
739
- CReparseAttr reparse;
740
- DWORD errorCode = 0;
741
- isOkReparse = reparse.Parse((const Byte *)data, dataSize, errorCode);
742
- if (isOkReparse)
743
- {
744
- isHardLink = false;
745
- // isCopyLink = false;
746
- linkPath = reparse.GetPath();
747
- isJunction = reparse.IsMountPoint();
748
- isRelative = reparse.IsRelative();
749
- #ifndef _WIN32
750
- linkPath.Replace(L'\\', WCHAR_PATH_SEPARATOR);
751
- #endif
752
- }
753
- }
754
- }
755
-
756
- if (!linkPath.IsEmpty())
757
- {
758
- #ifdef _WIN32
759
- linkPath.Replace(L'/', WCHAR_PATH_SEPARATOR);
760
- #endif
761
-
762
- // rar5 uses "\??\" prefix for absolute links
763
- if (linkPath.IsPrefixedBy(WSTRING_PATH_SEPARATOR L"??" WSTRING_PATH_SEPARATOR))
764
- {
765
- isRelative = false;
766
- linkPath.DeleteFrontal(4);
767
- }
768
-
769
- for (;;)
770
- // while (NName::IsAbsolutePath(linkPath))
771
- {
772
- unsigned n = NName::GetRootPrefixSize(linkPath);
773
- if (n == 0)
774
- break;
775
- isRelative = false;
776
- linkPath.DeleteFrontal(n);
777
- }
778
- }
779
-
780
- if (!linkPath.IsEmpty() && !isRelative && _removePathParts.Size() != 0)
781
- {
782
- UStringVector pathParts;
783
- SplitPathToParts(linkPath, pathParts);
784
- bool badPrefix = false;
785
- FOR_VECTOR (i, _removePathParts)
786
- {
787
- if (CompareFileNames(_removePathParts[i], pathParts[i]) != 0)
788
- {
789
- badPrefix = true;
790
- break;
791
- }
792
- }
793
- if (!badPrefix)
794
- pathParts.DeleteFrontal(_removePathParts.Size());
795
- linkPath = MakePathFromParts(pathParts);
796
- }
797
-
798
- #endif
799
-
800
- RINOK(Archive_GetItemBoolProp(archive, index, kpidEncrypted, _encrypted));
801
-
802
- RINOK(GetUnpackSize());
803
-
804
- #ifdef SUPPORT_ALT_STREAMS
805
-
806
- if (!_ntOptions.AltStreams.Val && _item.IsAltStream)
807
- return S_OK;
808
-
809
- #endif
810
-
811
-
812
- UStringVector &pathParts = _item.PathParts;
813
-
814
- if (_wildcardCensor)
815
- {
816
- if (!CensorNode_CheckPath(*_wildcardCensor, _item))
817
- return S_OK;
818
- }
819
-
820
- #ifndef _SFX
821
- if (_use_baseParentFolder_mode)
822
- {
823
- if (!pathParts.IsEmpty())
824
- {
825
- unsigned numRemovePathParts = 0;
826
-
827
- #ifdef SUPPORT_ALT_STREAMS
828
- if (_pathMode == NExtract::NPathMode::kNoPathsAlt && _item.IsAltStream)
829
- numRemovePathParts = pathParts.Size();
830
- else
831
- #endif
832
- if (_pathMode == NExtract::NPathMode::kNoPaths ||
833
- _pathMode == NExtract::NPathMode::kNoPathsAlt)
834
- numRemovePathParts = pathParts.Size() - 1;
835
- pathParts.DeleteFrontal(numRemovePathParts);
836
- }
837
- }
838
- else
839
- #endif
840
- {
841
- if (pathParts.IsEmpty())
842
- {
843
- if (_item.IsDir)
844
- return S_OK;
845
- /*
846
- #ifdef SUPPORT_ALT_STREAMS
847
- if (!_item.IsAltStream)
848
- #endif
849
- return E_FAIL;
850
- */
851
- }
852
-
853
- unsigned numRemovePathParts = 0;
854
-
855
- switch (_pathMode)
856
- {
857
- case NExtract::NPathMode::kFullPaths:
858
- case NExtract::NPathMode::kCurPaths:
859
- {
860
- if (_removePathParts.IsEmpty())
861
- break;
862
- bool badPrefix = false;
863
-
864
- if (pathParts.Size() < _removePathParts.Size())
865
- badPrefix = true;
866
- else
867
- {
868
- if (pathParts.Size() == _removePathParts.Size())
869
- {
870
- if (_removePartsForAltStreams)
871
- {
872
- #ifdef SUPPORT_ALT_STREAMS
873
- if (!_item.IsAltStream)
874
- #endif
875
- badPrefix = true;
876
- }
877
- else
878
- {
879
- if (!_item.MainIsDir)
880
- badPrefix = true;
881
- }
882
- }
883
-
884
- if (!badPrefix)
885
- FOR_VECTOR (i, _removePathParts)
886
- {
887
- if (CompareFileNames(_removePathParts[i], pathParts[i]) != 0)
888
- {
889
- badPrefix = true;
890
- break;
891
- }
892
- }
893
- }
894
-
895
- if (badPrefix)
896
- {
897
- if (askExtractMode == NArchive::NExtract::NAskMode::kExtract && !_testMode)
898
- return E_FAIL;
899
- }
900
- else
901
- numRemovePathParts = _removePathParts.Size();
902
- break;
903
- }
904
-
905
- case NExtract::NPathMode::kNoPaths:
906
- {
907
- if (!pathParts.IsEmpty())
908
- numRemovePathParts = pathParts.Size() - 1;
909
- break;
910
- }
911
- case NExtract::NPathMode::kNoPathsAlt:
912
- {
913
- #ifdef SUPPORT_ALT_STREAMS
914
- if (_item.IsAltStream)
915
- numRemovePathParts = pathParts.Size();
916
- else
917
- #endif
918
- if (!pathParts.IsEmpty())
919
- numRemovePathParts = pathParts.Size() - 1;
920
- break;
921
- }
922
- /*
923
- case NExtract::NPathMode::kFullPaths:
924
- case NExtract::NPathMode::kAbsPaths:
925
- break;
926
- */
927
- }
928
-
929
- pathParts.DeleteFrontal(numRemovePathParts);
930
- }
931
-
932
- #ifndef _SFX
933
-
934
- if (ExtractToStreamCallback)
935
- {
936
- if (!GetProp)
937
- {
938
- GetProp_Spec = new CGetProp;
939
- GetProp = GetProp_Spec;
940
- }
941
- GetProp_Spec->Arc = _arc;
942
- GetProp_Spec->IndexInArc = index;
943
- UString name (MakePathFromParts(pathParts));
944
-
945
- #ifdef SUPPORT_ALT_STREAMS
946
- if (_item.IsAltStream)
947
- {
948
- if (!pathParts.IsEmpty() || (!_removePartsForAltStreams && _pathMode != NExtract::NPathMode::kNoPathsAlt))
949
- name += ':';
950
- name += _item.AltStreamName;
951
- }
952
- #endif
953
-
954
- return ExtractToStreamCallback->GetStream7(name, BoolToInt(_item.IsDir), outStream, askExtractMode, GetProp);
955
- }
956
-
957
- #endif
958
-
959
- CMyComPtr<ISequentialOutStream> outStreamLoc;
960
-
961
- if (askExtractMode == NArchive::NExtract::NAskMode::kExtract && !_testMode)
962
- {
963
- if (_stdOutMode)
964
- {
965
- outStreamLoc = new CStdOutFileStream;
966
- }
967
- else
968
- {
969
- {
970
- NCOM::CPropVariant prop;
971
- RINOK(archive->GetProperty(index, kpidAttrib, &prop));
972
- if (prop.vt == VT_UI4)
973
- {
974
- _fi.Attrib = prop.ulVal;
975
- _fi.AttribDefined = true;
976
- }
977
- else if (prop.vt == VT_EMPTY)
978
- _fi.AttribDefined = false;
979
- else
980
- return E_FAIL;
981
- }
982
-
983
- RINOK(GetTime(index, kpidCTime, _fi.CTime, _fi.CTimeDefined));
984
- RINOK(GetTime(index, kpidATime, _fi.ATime, _fi.ATimeDefined));
985
- RINOK(GetTime(index, kpidMTime, _fi.MTime, _fi.MTimeDefined));
986
-
987
- bool isAnti = false;
988
- RINOK(_arc->IsItemAnti(index, isAnti));
989
-
990
- #ifdef SUPPORT_ALT_STREAMS
991
- if (!_item.IsAltStream
992
- || !pathParts.IsEmpty()
993
- || !(_removePartsForAltStreams || _pathMode == NExtract::NPathMode::kNoPathsAlt))
994
- #endif
995
- Correct_FsPath(_pathMode == NExtract::NPathMode::kAbsPaths, _keepAndReplaceEmptyDirPrefixes, pathParts, _item.MainIsDir);
996
-
997
- #ifdef SUPPORT_ALT_STREAMS
998
-
999
- if (_item.IsAltStream)
1000
- {
1001
- UString s (_item.AltStreamName);
1002
- Correct_AltStream_Name(s);
1003
- bool needColon = true;
1004
-
1005
- if (pathParts.IsEmpty())
1006
- {
1007
- pathParts.AddNew();
1008
- if (_removePartsForAltStreams || _pathMode == NExtract::NPathMode::kNoPathsAlt)
1009
- needColon = false;
1010
- }
1011
- else if (_pathMode == NExtract::NPathMode::kAbsPaths &&
1012
- NWildcard::GetNumPrefixParts_if_DrivePath(pathParts) == pathParts.Size())
1013
- pathParts.AddNew();
1014
-
1015
- UString &name = pathParts.Back();
1016
- if (needColon)
1017
- name += (char)(_ntOptions.ReplaceColonForAltStream ? '_' : ':');
1018
- name += s;
1019
- }
1020
-
1021
- #endif
1022
-
1023
- UString processedPath (MakePathFromParts(pathParts));
1024
-
1025
- if (!isAnti)
1026
- {
1027
- if (!_item.IsDir)
1028
- {
1029
- if (!pathParts.IsEmpty())
1030
- pathParts.DeleteBack();
1031
- }
1032
-
1033
- if (!pathParts.IsEmpty())
1034
- {
1035
- FString fullPathNew;
1036
- CreateComplexDirectory(pathParts, fullPathNew);
1037
-
1038
- if (_item.IsDir)
1039
- {
1040
- CDirPathTime &pt = _extractedFolders.AddNew();
1041
-
1042
- pt.CTime = _fi.CTime;
1043
- pt.CTimeDefined = (WriteCTime && _fi.CTimeDefined);
1044
-
1045
- pt.ATime = _fi.ATime;
1046
- pt.ATimeDefined = (WriteATime && _fi.ATimeDefined);
1047
-
1048
- pt.MTimeDefined = false;
1049
-
1050
- if (WriteMTime)
1051
- {
1052
- if (_fi.MTimeDefined)
1053
- {
1054
- pt.MTime = _fi.MTime;
1055
- pt.MTimeDefined = true;
1056
- }
1057
- else if (_arc->MTimeDefined)
1058
- {
1059
- pt.MTime = _arc->MTime;
1060
- pt.MTimeDefined = true;
1061
- }
1062
- }
1063
-
1064
- pt.Path = fullPathNew;
1065
-
1066
- pt.SetDirTime();
1067
- }
1068
- }
1069
- }
1070
-
1071
-
1072
- FString fullProcessedPath (us2fs(processedPath));
1073
- if (_pathMode != NExtract::NPathMode::kAbsPaths
1074
- || !NName::IsAbsolutePath(processedPath))
1075
- {
1076
- fullProcessedPath = MakePath_from_2_Parts(_dirPathPrefix, fullProcessedPath);
1077
- }
1078
-
1079
- #ifdef SUPPORT_ALT_STREAMS
1080
-
1081
- if (_item.IsAltStream && _item.ParentIndex != (UInt32)(Int32)-1)
1082
- {
1083
- int renIndex = _renamedFiles.FindInSorted(CIndexToPathPair(_item.ParentIndex));
1084
- if (renIndex >= 0)
1085
- {
1086
- const CIndexToPathPair &pair = _renamedFiles[renIndex];
1087
- fullProcessedPath = pair.Path;
1088
- fullProcessedPath += ':';
1089
- UString s (_item.AltStreamName);
1090
- Correct_AltStream_Name(s);
1091
- fullProcessedPath += us2fs(s);
1092
- }
1093
- }
1094
-
1095
- #endif
1096
-
1097
- bool isRenamed = false;
1098
-
1099
- if (_item.IsDir)
1100
- {
1101
- _diskFilePath = fullProcessedPath;
1102
- if (isAnti)
1103
- RemoveDir(_diskFilePath);
1104
- #ifdef SUPPORT_LINKS
1105
- if (linkPath.IsEmpty())
1106
- #endif
1107
- return S_OK;
1108
- }
1109
- else if (!_isSplit)
1110
- {
1111
-
1112
- // ----- Is file (not split) -----
1113
- NFind::CFileInfo fileInfo;
1114
- if (fileInfo.Find(fullProcessedPath))
1115
- {
1116
- switch (_overwriteMode)
1117
- {
1118
- case NExtract::NOverwriteMode::kSkip:
1119
- return S_OK;
1120
- case NExtract::NOverwriteMode::kAsk:
1121
- {
1122
- int slashPos = fullProcessedPath.ReverseFind_PathSepar();
1123
- FString realFullProcessedPath (fullProcessedPath.Left(slashPos + 1) + fileInfo.Name);
1124
-
1125
- Int32 overwriteResult;
1126
- RINOK(_extractCallback2->AskOverwrite(
1127
- fs2us(realFullProcessedPath), &fileInfo.MTime, &fileInfo.Size, _item.Path,
1128
- _fi.MTimeDefined ? &_fi.MTime : NULL,
1129
- _curSizeDefined ? &_curSize : NULL,
1130
- &overwriteResult))
1131
-
1132
- switch (overwriteResult)
1133
- {
1134
- case NOverwriteAnswer::kCancel: return E_ABORT;
1135
- case NOverwriteAnswer::kNo: return S_OK;
1136
- case NOverwriteAnswer::kNoToAll: _overwriteMode = NExtract::NOverwriteMode::kSkip; return S_OK;
1137
- case NOverwriteAnswer::kYes: break;
1138
- case NOverwriteAnswer::kYesToAll: _overwriteMode = NExtract::NOverwriteMode::kOverwrite; break;
1139
- case NOverwriteAnswer::kAutoRename: _overwriteMode = NExtract::NOverwriteMode::kRename; break;
1140
- default:
1141
- return E_FAIL;
1142
- }
1143
- }
1144
- }
1145
- if (_overwriteMode == NExtract::NOverwriteMode::kRename)
1146
- {
1147
- if (!AutoRenamePath(fullProcessedPath))
1148
- {
1149
- RINOK(SendMessageError(kCantAutoRename, fullProcessedPath));
1150
- return E_FAIL;
1151
- }
1152
- isRenamed = true;
1153
- }
1154
- else if (_overwriteMode == NExtract::NOverwriteMode::kRenameExisting)
1155
- {
1156
- FString existPath (fullProcessedPath);
1157
- if (!AutoRenamePath(existPath))
1158
- {
1159
- RINOK(SendMessageError(kCantAutoRename, fullProcessedPath));
1160
- return E_FAIL;
1161
- }
1162
- // MyMoveFile can raname folders. So it's OK to use it for folders too
1163
- if (!MyMoveFile(fullProcessedPath, existPath))
1164
- {
1165
- RINOK(SendMessageError2(kCantRenameFile, existPath, fullProcessedPath));
1166
- return E_FAIL;
1167
- }
1168
- }
1169
- else
1170
- {
1171
- if (fileInfo.IsDir())
1172
- {
1173
- // do we need to delete all files in folder?
1174
- if (!RemoveDir(fullProcessedPath))
1175
- {
1176
- RINOK(SendMessageError_with_LastError(kCantDeleteOutputDir, fullProcessedPath));
1177
- return S_OK;
1178
- }
1179
- }
1180
- else
1181
- {
1182
- bool needDelete = true;
1183
- if (needDelete)
1184
- {
1185
- if (NFind::DoesFileExist(fullProcessedPath))
1186
- if (!DeleteFileAlways(fullProcessedPath))
1187
- if (GetLastError() != ERROR_FILE_NOT_FOUND)
1188
- {
1189
- RINOK(SendMessageError_with_LastError(kCantDeleteOutputFile, fullProcessedPath));
1190
- return S_OK;
1191
- // return E_FAIL;
1192
- }
1193
- }
1194
- }
1195
- }
1196
- }
1197
- else // not Find(fullProcessedPath)
1198
- {
1199
- // we need to clear READ-ONLY of parent before creating alt stream
1200
- #if defined(_WIN32) && !defined(UNDER_CE)
1201
- int colonPos = NName::FindAltStreamColon(fullProcessedPath);
1202
- if (colonPos >= 0 && fullProcessedPath[(unsigned)colonPos + 1] != 0)
1203
- {
1204
- FString parentFsPath (fullProcessedPath);
1205
- parentFsPath.DeleteFrom(colonPos);
1206
- NFind::CFileInfo parentFi;
1207
- if (parentFi.Find(parentFsPath))
1208
- {
1209
- if (parentFi.IsReadOnly())
1210
- SetFileAttrib(parentFsPath, parentFi.Attrib & ~FILE_ATTRIBUTE_READONLY);
1211
- }
1212
- }
1213
- #endif
1214
- }
1215
- // ----- END of code for Is file (not split) -----
1216
-
1217
- }
1218
- _diskFilePath = fullProcessedPath;
1219
-
1220
-
1221
- if (!isAnti)
1222
- {
1223
- #ifdef SUPPORT_LINKS
1224
-
1225
- if (!linkPath.IsEmpty())
1226
- {
1227
- #ifndef UNDER_CE
1228
-
1229
- UString relatPath;
1230
- if (isRelative)
1231
- relatPath = GetDirPrefixOf(_item.Path);
1232
- relatPath += linkPath;
1233
-
1234
- if (!IsSafePath(relatPath))
1235
- {
1236
- RINOK(SendMessageError("Dangerous link path was ignored", us2fs(relatPath)));
1237
- }
1238
- else
1239
- {
1240
- FString existPath;
1241
- if (isHardLink /* || isCopyLink */ || !isRelative)
1242
- {
1243
- if (!NName::GetFullPath(_dirPathPrefix_Full, us2fs(relatPath), existPath))
1244
- {
1245
- RINOK(SendMessageError("Incorrect path", us2fs(relatPath)));
1246
- }
1247
- }
1248
- else
1249
- {
1250
- existPath = us2fs(linkPath);
1251
- }
1252
-
1253
- if (!existPath.IsEmpty())
1254
- {
1255
- if (isHardLink /* || isCopyLink */)
1256
- {
1257
- // if (isHardLink)
1258
- {
1259
- if (!MyCreateHardLink(fullProcessedPath, existPath))
1260
- {
1261
- RINOK(SendMessageError2(kCantCreateHardLink, fullProcessedPath, existPath));
1262
- // return S_OK;
1263
- }
1264
- }
1265
- /*
1266
- else
1267
- {
1268
- NFind::CFileInfo fi;
1269
- if (!fi.Find(existPath))
1270
- {
1271
- RINOK(SendMessageError2("Can not find the file for copying", existPath, fullProcessedPath));
1272
- }
1273
- else
1274
- {
1275
- if (_curSizeDefined && _curSize == fi.Size)
1276
- _CopyFile_Path = existPath;
1277
- else
1278
- {
1279
- RINOK(SendMessageError2("File size collision for file copying", existPath, fullProcessedPath));
1280
- }
1281
-
1282
- // RINOK(MyCopyFile(existPath, fullProcessedPath));
1283
- }
1284
- }
1285
- */
1286
- }
1287
- else if (_ntOptions.SymLinks.Val)
1288
- {
1289
- // bool isSymLink = true; // = false for junction
1290
- if (_item.IsDir && !isRelative)
1291
- {
1292
- // if it's before Vista we use Junction Point
1293
- // isJunction = true;
1294
- // convertToAbs = true;
1295
- }
1296
-
1297
- CByteBuffer data;
1298
- if (FillLinkData(data, fs2us(existPath), !isJunction))
1299
- {
1300
- CReparseAttr attr;
1301
- DWORD errorCode = 0;
1302
- if (!attr.Parse(data, data.Size(), errorCode))
1303
- {
1304
- RINOK(SendMessageError("Internal error for symbolic link file", us2fs(_item.Path)));
1305
- // return E_FAIL;
1306
- }
1307
- else
1308
- if (!NFile::NIO::SetReparseData(fullProcessedPath, _item.IsDir, data, (DWORD)data.Size()))
1309
- {
1310
- RINOK(SendMessageError_with_LastError(kCantCreateSymLink, fullProcessedPath));
1311
- }
1312
- }
1313
- }
1314
- }
1315
- }
1316
-
1317
- #endif
1318
- }
1319
-
1320
- if (linkPath.IsEmpty() /* || !_CopyFile_Path.IsEmpty() */)
1321
- #endif // SUPPORT_LINKS
1322
- {
1323
- bool needWriteFile = true;
1324
-
1325
- #ifdef SUPPORT_LINKS
1326
- if (!_hardLinks.IDs.IsEmpty() && !_item.IsAltStream)
1327
- {
1328
- CHardLinkNode h;
1329
- bool defined;
1330
- RINOK(Archive_Get_HardLinkNode(archive, index, h, defined));
1331
- if (defined)
1332
- {
1333
- {
1334
- int linkIndex = _hardLinks.IDs.FindInSorted2(h);
1335
- if (linkIndex >= 0)
1336
- {
1337
- FString &hl = _hardLinks.Links[linkIndex];
1338
- if (hl.IsEmpty())
1339
- hl = fullProcessedPath;
1340
- else
1341
- {
1342
- if (!MyCreateHardLink(fullProcessedPath, hl))
1343
- {
1344
- RINOK(SendMessageError2(kCantCreateHardLink, fullProcessedPath, hl));
1345
- return S_OK;
1346
- }
1347
- needWriteFile = false;
1348
- }
1349
- }
1350
- }
1351
- }
1352
- }
1353
- #endif
1354
-
1355
- if (needWriteFile)
1356
- {
1357
- _outFileStreamSpec = new COutFileStream;
1358
- CMyComPtr<ISequentialOutStream> outStreamLoc2(_outFileStreamSpec);
1359
- if (!_outFileStreamSpec->Open(fullProcessedPath, _isSplit ? OPEN_ALWAYS: CREATE_ALWAYS))
1360
- {
1361
- // if (::GetLastError() != ERROR_FILE_EXISTS || !isSplit)
1362
- {
1363
- RINOK(SendMessageError_with_LastError(kCantOpenOutFile, fullProcessedPath));
1364
- return S_OK;
1365
- }
1366
- }
1367
-
1368
- if (_ntOptions.PreAllocateOutFile && !_isSplit && _curSizeDefined && _curSize > (1 << 12))
1369
- {
1370
- // UInt64 ticks = GetCpuTicks();
1371
- bool res = _outFileStreamSpec->File.SetLength(_curSize);
1372
- _fileLengthWasSet = res;
1373
-
1374
- // ticks = GetCpuTicks() - ticks;
1375
- // printf("\nticks = %10d\n", (unsigned)ticks);
1376
- if (!res)
1377
- {
1378
- RINOK(SendMessageError_with_LastError(kCantSetFileLen, fullProcessedPath));
1379
- }
1380
-
1381
- /*
1382
- _outFileStreamSpec->File.Close();
1383
- ticks = GetCpuTicks() - ticks;
1384
- printf("\nticks = %10d\n", (unsigned)ticks);
1385
- return S_FALSE;
1386
- */
1387
-
1388
- /*
1389
- File.SetLength() on FAT (xp64): is fast, but then File.Close() can be slow,
1390
- if we don't write any data.
1391
- File.SetLength() for remote share file (exFAT) can be slow in some cases,
1392
- and the Windows can return "network error" after 1 minute,
1393
- while remote file still can grow.
1394
- We need some way to detect such bad cases and disable PreAllocateOutFile mode.
1395
- */
1396
-
1397
- res = _outFileStreamSpec->File.SeekToBegin();
1398
- if (!res)
1399
- {
1400
- RINOK(SendMessageError_with_LastError("Can not seek to begin of file", fullProcessedPath));
1401
- }
1402
- }
1403
-
1404
- #ifdef SUPPORT_ALT_STREAMS
1405
- if (isRenamed && !_item.IsAltStream)
1406
- {
1407
- CIndexToPathPair pair(index, fullProcessedPath);
1408
- unsigned oldSize = _renamedFiles.Size();
1409
- unsigned insertIndex = _renamedFiles.AddToUniqueSorted(pair);
1410
- if (oldSize == _renamedFiles.Size())
1411
- _renamedFiles[insertIndex].Path = fullProcessedPath;
1412
- }
1413
- #endif
1414
-
1415
- if (_isSplit)
1416
- {
1417
- RINOK(_outFileStreamSpec->Seek(_position, STREAM_SEEK_SET, NULL));
1418
- }
1419
-
1420
- _outFileStream = outStreamLoc2;
1421
- }
1422
- }
1423
- }
1424
-
1425
- outStreamLoc = _outFileStream;
1426
- }
1427
- }
1428
-
1429
- #ifndef _SFX
1430
-
1431
- if (_hashStream)
1432
- {
1433
- if (askExtractMode == NArchive::NExtract::NAskMode::kExtract ||
1434
- askExtractMode == NArchive::NExtract::NAskMode::kTest)
1435
- {
1436
- _hashStreamSpec->SetStream(outStreamLoc);
1437
- outStreamLoc = _hashStream;
1438
- _hashStreamSpec->Init(true);
1439
- _hashStreamWasUsed = true;
1440
- }
1441
- }
1442
-
1443
- #endif
1444
-
1445
-
1446
- if (outStreamLoc)
1447
- {
1448
- /*
1449
- #ifdef SUPPORT_LINKS
1450
-
1451
- if (!_CopyFile_Path.IsEmpty())
1452
- {
1453
- RINOK(PrepareOperation(askExtractMode));
1454
- RINOK(MyCopyFile(outStreamLoc));
1455
- return SetOperationResult(NArchive::NExtract::NOperationResult::kOK);
1456
- }
1457
-
1458
- if (isCopyLink && _testMode)
1459
- return S_OK;
1460
-
1461
- #endif
1462
- */
1463
-
1464
- *outStream = outStreamLoc.Detach();
1465
- }
1466
-
1467
- return S_OK;
1468
-
1469
- COM_TRY_END
1470
- }
1471
-
1472
-
1473
- STDMETHODIMP CArchiveExtractCallback::PrepareOperation(Int32 askExtractMode)
1474
- {
1475
- COM_TRY_BEGIN
1476
-
1477
- #ifndef _SFX
1478
- if (ExtractToStreamCallback)
1479
- return ExtractToStreamCallback->PrepareOperation7(askExtractMode);
1480
- #endif
1481
-
1482
- _extractMode = false;
1483
-
1484
- switch (askExtractMode)
1485
- {
1486
- case NArchive::NExtract::NAskMode::kExtract:
1487
- if (_testMode)
1488
- askExtractMode = NArchive::NExtract::NAskMode::kTest;
1489
- else
1490
- _extractMode = true;
1491
- break;
1492
- };
1493
-
1494
- return _extractCallback2->PrepareOperation(_item.Path, BoolToInt(_item.IsDir),
1495
- askExtractMode, _isSplit ? &_position: 0);
1496
-
1497
- COM_TRY_END
1498
- }
1499
-
1500
-
1501
- HRESULT CArchiveExtractCallback::CloseFile()
1502
- {
1503
- if (!_outFileStream)
1504
- return S_OK;
1505
-
1506
- HRESULT hres = S_OK;
1507
- _outFileStreamSpec->SetTime(
1508
- (WriteCTime && _fi.CTimeDefined) ? &_fi.CTime : NULL,
1509
- (WriteATime && _fi.ATimeDefined) ? &_fi.ATime : NULL,
1510
- (WriteMTime && _fi.MTimeDefined) ? &_fi.MTime : (_arc->MTimeDefined ? &_arc->MTime : NULL));
1511
-
1512
- const UInt64 processedSize = _outFileStreamSpec->ProcessedSize;
1513
- if (_fileLengthWasSet && _curSize > processedSize)
1514
- {
1515
- bool res = _outFileStreamSpec->File.SetLength(processedSize);
1516
- _fileLengthWasSet = res;
1517
- if (!res)
1518
- hres = SendMessageError_with_LastError(kCantSetFileLen, us2fs(_item.Path));
1519
- }
1520
- _curSize = processedSize;
1521
- _curSizeDefined = true;
1522
- RINOK(_outFileStreamSpec->Close());
1523
- _outFileStream.Release();
1524
- return hres;
1525
- }
1526
-
1527
-
1528
- STDMETHODIMP CArchiveExtractCallback::SetOperationResult(Int32 opRes)
1529
- {
1530
- COM_TRY_BEGIN
1531
-
1532
- #ifndef _SFX
1533
- if (ExtractToStreamCallback)
1534
- return ExtractToStreamCallback->SetOperationResult7(opRes, BoolToInt(_encrypted));
1535
- #endif
1536
-
1537
- #ifndef _SFX
1538
-
1539
- if (_hashStreamWasUsed)
1540
- {
1541
- _hashStreamSpec->_hash->Final(_item.IsDir,
1542
- #ifdef SUPPORT_ALT_STREAMS
1543
- _item.IsAltStream
1544
- #else
1545
- false
1546
- #endif
1547
- , _item.Path);
1548
- _curSize = _hashStreamSpec->GetSize();
1549
- _curSizeDefined = true;
1550
- _hashStreamSpec->ReleaseStream();
1551
- _hashStreamWasUsed = false;
1552
- }
1553
-
1554
- #endif
1555
-
1556
- RINOK(CloseFile());
1557
-
1558
- #ifdef _USE_SECURITY_CODE
1559
- if (!_stdOutMode && _extractMode && _ntOptions.NtSecurity.Val && _arc->GetRawProps)
1560
- {
1561
- const void *data;
1562
- UInt32 dataSize;
1563
- UInt32 propType;
1564
- _arc->GetRawProps->GetRawProp(_index, kpidNtSecure, &data, &dataSize, &propType);
1565
- if (dataSize != 0)
1566
- {
1567
- if (propType != NPropDataType::kRaw)
1568
- return E_FAIL;
1569
- if (CheckNtSecure((const Byte *)data, dataSize))
1570
- {
1571
- SECURITY_INFORMATION securInfo = DACL_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | OWNER_SECURITY_INFORMATION;
1572
- if (_saclEnabled)
1573
- securInfo |= SACL_SECURITY_INFORMATION;
1574
- ::SetFileSecurityW(fs2us(_diskFilePath), securInfo, (PSECURITY_DESCRIPTOR)(void *)data);
1575
- }
1576
- }
1577
- }
1578
- #endif
1579
-
1580
- if (!_curSizeDefined)
1581
- GetUnpackSize();
1582
-
1583
- if (_curSizeDefined)
1584
- {
1585
- #ifdef SUPPORT_ALT_STREAMS
1586
- if (_item.IsAltStream)
1587
- AltStreams_UnpackSize += _curSize;
1588
- else
1589
- #endif
1590
- UnpackSize += _curSize;
1591
- }
1592
-
1593
- if (_item.IsDir)
1594
- NumFolders++;
1595
- #ifdef SUPPORT_ALT_STREAMS
1596
- else if (_item.IsAltStream)
1597
- NumAltStreams++;
1598
- #endif
1599
- else
1600
- NumFiles++;
1601
-
1602
- if (!_stdOutMode && _extractMode && _fi.AttribDefined)
1603
- SetFileAttrib_PosixHighDetect(_diskFilePath, _fi.Attrib);
1604
-
1605
- RINOK(_extractCallback2->SetOperationResult(opRes, BoolToInt(_encrypted)));
1606
-
1607
- return S_OK;
1608
-
1609
- COM_TRY_END
1610
- }
1611
-
1612
- STDMETHODIMP CArchiveExtractCallback::ReportExtractResult(UInt32 indexType, UInt32 index, Int32 opRes)
1613
- {
1614
- if (_folderArchiveExtractCallback2)
1615
- {
1616
- bool isEncrypted = false;
1617
- UString s;
1618
-
1619
- if (indexType == NArchive::NEventIndexType::kInArcIndex && index != (UInt32)(Int32)-1)
1620
- {
1621
- CReadArcItem item;
1622
- RINOK(_arc->GetItem(index, item));
1623
- s = item.Path;
1624
- RINOK(Archive_GetItemBoolProp(_arc->Archive, index, kpidEncrypted, isEncrypted));
1625
- }
1626
- else
1627
- {
1628
- s = '#';
1629
- s.Add_UInt32(index);
1630
- // if (indexType == NArchive::NEventIndexType::kBlockIndex) {}
1631
- }
1632
-
1633
- return _folderArchiveExtractCallback2->ReportExtractResult(opRes, isEncrypted, s);
1634
- }
1635
-
1636
- return S_OK;
1637
- }
1638
-
1639
-
1640
- STDMETHODIMP CArchiveExtractCallback::CryptoGetTextPassword(BSTR *password)
1641
- {
1642
- COM_TRY_BEGIN
1643
- if (!_cryptoGetTextPassword)
1644
- {
1645
- RINOK(_extractCallback2.QueryInterface(IID_ICryptoGetTextPassword,
1646
- &_cryptoGetTextPassword));
1647
- }
1648
- return _cryptoGetTextPassword->CryptoGetTextPassword(password);
1649
- COM_TRY_END
1650
- }
1651
-
1652
-
1653
- void CDirPathSortPair::SetNumSlashes(const FChar *s)
1654
- {
1655
- for (unsigned numSlashes = 0;;)
1656
- {
1657
- FChar c = *s++;
1658
- if (c == 0)
1659
- {
1660
- Len = numSlashes;
1661
- return;
1662
- }
1663
- if (IS_PATH_SEPAR(c))
1664
- numSlashes++;
1665
- }
1666
- }
1667
-
1668
-
1669
- bool CDirPathTime::SetDirTime()
1670
- {
1671
- return NDir::SetDirTime(Path,
1672
- CTimeDefined ? &CTime : NULL,
1673
- ATimeDefined ? &ATime : NULL,
1674
- MTimeDefined ? &MTime : NULL);
1675
- }
1676
-
1677
-
1678
- HRESULT CArchiveExtractCallback::SetDirsTimes()
1679
- {
1680
- if (!_arc)
1681
- return S_OK;
1682
-
1683
- CRecordVector<CDirPathSortPair> pairs;
1684
- pairs.ClearAndSetSize(_extractedFolders.Size());
1685
- unsigned i;
1686
-
1687
- for (i = 0; i < _extractedFolders.Size(); i++)
1688
- {
1689
- CDirPathSortPair &pair = pairs[i];
1690
- pair.Index = i;
1691
- pair.SetNumSlashes(_extractedFolders[i].Path);
1692
- }
1693
-
1694
- pairs.Sort2();
1695
-
1696
- for (i = 0; i < pairs.Size(); i++)
1697
- {
1698
- _extractedFolders[pairs[i].Index].SetDirTime();
1699
- // if (!) return GetLastError();
1700
- }
1701
-
1702
- ClearExtractedDirsInfo();
1703
- return S_OK;
1704
- }
1705
-
1706
-
1707
- HRESULT CArchiveExtractCallback::CloseArc()
1708
- {
1709
- HRESULT res = CloseFile();
1710
- HRESULT res2 = SetDirsTimes();
1711
- if (res == S_OK)
1712
- res = res2;
1713
- _arc = NULL;
1714
- return res;
1715
- }