seven_zip_ruby 1.0.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 (732) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +25 -0
  3. data/.travis.yml +10 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +39 -0
  6. data/README.md +176 -0
  7. data/Rakefile +47 -0
  8. data/ext/C/Types.h +254 -0
  9. data/ext/CPP/7zip/Archive/IArchive.h +234 -0
  10. data/ext/CPP/7zip/IDecl.h +15 -0
  11. data/ext/CPP/7zip/IPassword.h +24 -0
  12. data/ext/CPP/7zip/IProgress.h +33 -0
  13. data/ext/CPP/7zip/IStream.h +58 -0
  14. data/ext/CPP/7zip/PropID.h +76 -0
  15. data/ext/CPP/Common/MyCom.h +225 -0
  16. data/ext/CPP/Common/MyGuidDef.h +54 -0
  17. data/ext/CPP/Common/MyInitGuid.h +22 -0
  18. data/ext/CPP/Common/MyUnknown.h +13 -0
  19. data/ext/CPP/Common/MyWindows.h +204 -0
  20. data/ext/CPP/Common/Types.h +11 -0
  21. data/ext/CPP/Windows/PropVariant.h +56 -0
  22. data/ext/CPP/include_windows/basetyps.h +19 -0
  23. data/ext/CPP/include_windows/tchar.h +89 -0
  24. data/ext/CPP/include_windows/windows.h +194 -0
  25. data/ext/p7zip/Asm/x64/7zCrcT8U.asm +103 -0
  26. data/ext/p7zip/Asm/x86/7zCrcT8U.asm +101 -0
  27. data/ext/p7zip/C/7zBuf.h +39 -0
  28. data/ext/p7zip/C/7zBuf2.c +45 -0
  29. data/ext/p7zip/C/7zCrc.c +76 -0
  30. data/ext/p7zip/C/7zCrc.h +25 -0
  31. data/ext/p7zip/C/7zCrcOpt.c +34 -0
  32. data/ext/p7zip/C/7zCrcT8.c +43 -0
  33. data/ext/p7zip/C/7zStream.c +169 -0
  34. data/ext/p7zip/C/7zVersion.h +7 -0
  35. data/ext/p7zip/C/Aes.c +284 -0
  36. data/ext/p7zip/C/Aes.h +38 -0
  37. data/ext/p7zip/C/Alloc.back3 +238 -0
  38. data/ext/p7zip/C/Alloc.c +280 -0
  39. data/ext/p7zip/C/Alloc.c.back +243 -0
  40. data/ext/p7zip/C/Alloc.c.back2 +222 -0
  41. data/ext/p7zip/C/Alloc.h +27 -0
  42. data/ext/p7zip/C/Bra.c +133 -0
  43. data/ext/p7zip/C/Bra.h +68 -0
  44. data/ext/p7zip/C/Bra86.c +85 -0
  45. data/ext/p7zip/C/BraIA64.c +67 -0
  46. data/ext/p7zip/C/BwtSort.c +516 -0
  47. data/ext/p7zip/C/BwtSort.h +30 -0
  48. data/ext/p7zip/C/CpuArch.c +168 -0
  49. data/ext/p7zip/C/CpuArch.h +155 -0
  50. data/ext/p7zip/C/Delta.c +62 -0
  51. data/ext/p7zip/C/Delta.h +23 -0
  52. data/ext/p7zip/C/HuffEnc.c +146 -0
  53. data/ext/p7zip/C/HuffEnc.h +27 -0
  54. data/ext/p7zip/C/LzFind.c +761 -0
  55. data/ext/p7zip/C/LzFind.h +115 -0
  56. data/ext/p7zip/C/LzFindMt.c +793 -0
  57. data/ext/p7zip/C/LzFindMt.h +105 -0
  58. data/ext/p7zip/C/LzHash.h +54 -0
  59. data/ext/p7zip/C/Lzma2Dec.c +356 -0
  60. data/ext/p7zip/C/Lzma2Dec.h +84 -0
  61. data/ext/p7zip/C/Lzma2Enc.c +477 -0
  62. data/ext/p7zip/C/Lzma2Enc.h +66 -0
  63. data/ext/p7zip/C/LzmaDec.c +999 -0
  64. data/ext/p7zip/C/LzmaDec.h +231 -0
  65. data/ext/p7zip/C/LzmaEnc.c +2268 -0
  66. data/ext/p7zip/C/LzmaEnc.h +80 -0
  67. data/ext/p7zip/C/LzmaUtil/Lzma86Dec.c +61 -0
  68. data/ext/p7zip/C/LzmaUtil/Lzma86Dec.h +51 -0
  69. data/ext/p7zip/C/LzmaUtil/Lzma86Enc.c +113 -0
  70. data/ext/p7zip/C/LzmaUtil/Lzma86Enc.h +78 -0
  71. data/ext/p7zip/C/MtCoder.c +327 -0
  72. data/ext/p7zip/C/MtCoder.h +98 -0
  73. data/ext/p7zip/C/Ppmd.h +85 -0
  74. data/ext/p7zip/C/Ppmd7.c +708 -0
  75. data/ext/p7zip/C/Ppmd7.h +140 -0
  76. data/ext/p7zip/C/Ppmd7Dec.c +187 -0
  77. data/ext/p7zip/C/Ppmd7Enc.c +185 -0
  78. data/ext/p7zip/C/Ppmd8.c +1120 -0
  79. data/ext/p7zip/C/Ppmd8.h +133 -0
  80. data/ext/p7zip/C/Ppmd8Dec.c +155 -0
  81. data/ext/p7zip/C/Ppmd8Enc.c +161 -0
  82. data/ext/p7zip/C/RotateDefs.h +20 -0
  83. data/ext/p7zip/C/Sha256.c +204 -0
  84. data/ext/p7zip/C/Sha256.h +26 -0
  85. data/ext/p7zip/C/Sort.c +93 -0
  86. data/ext/p7zip/C/Sort.h +20 -0
  87. data/ext/p7zip/C/Threads.c +582 -0
  88. data/ext/p7zip/C/Threads.h +123 -0
  89. data/ext/p7zip/C/Types.h +254 -0
  90. data/ext/p7zip/C/Xz.c +88 -0
  91. data/ext/p7zip/C/Xz.h +252 -0
  92. data/ext/p7zip/C/XzCrc64.c +33 -0
  93. data/ext/p7zip/C/XzCrc64.h +26 -0
  94. data/ext/p7zip/C/XzDec.c +875 -0
  95. data/ext/p7zip/C/XzEnc.c +497 -0
  96. data/ext/p7zip/C/XzEnc.h +25 -0
  97. data/ext/p7zip/C/XzIn.c +306 -0
  98. data/ext/p7zip/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
  99. data/ext/p7zip/CPP/7zip/Archive/7z/7zCompressionMode.h +50 -0
  100. data/ext/p7zip/CPP/7zip/Archive/7z/7zDecode.cpp +332 -0
  101. data/ext/p7zip/CPP/7zip/Archive/7z/7zDecode.h +68 -0
  102. data/ext/p7zip/CPP/7zip/Archive/7z/7zEncode.cpp +444 -0
  103. data/ext/p7zip/CPP/7zip/Archive/7z/7zEncode.h +55 -0
  104. data/ext/p7zip/CPP/7zip/Archive/7z/7zExtract.cpp +270 -0
  105. data/ext/p7zip/CPP/7zip/Archive/7z/7zFolderInStream.cpp +123 -0
  106. data/ext/p7zip/CPP/7zip/Archive/7z/7zFolderInStream.h +58 -0
  107. data/ext/p7zip/CPP/7zip/Archive/7z/7zFolderOutStream.cpp +149 -0
  108. data/ext/p7zip/CPP/7zip/Archive/7z/7zFolderOutStream.h +58 -0
  109. data/ext/p7zip/CPP/7zip/Archive/7z/7zHandler.cpp +482 -0
  110. data/ext/p7zip/CPP/7zip/Archive/7z/7zHandler.h +119 -0
  111. data/ext/p7zip/CPP/7zip/Archive/7z/7zHandlerOut.cpp +483 -0
  112. data/ext/p7zip/CPP/7zip/Archive/7z/7zHeader.cpp +14 -0
  113. data/ext/p7zip/CPP/7zip/Archive/7z/7zHeader.h +97 -0
  114. data/ext/p7zip/CPP/7zip/Archive/7z/7zIn.cpp +1276 -0
  115. data/ext/p7zip/CPP/7zip/Archive/7z/7zIn.h +245 -0
  116. data/ext/p7zip/CPP/7zip/Archive/7z/7zItem.h +268 -0
  117. data/ext/p7zip/CPP/7zip/Archive/7z/7zOut.cpp +866 -0
  118. data/ext/p7zip/CPP/7zip/Archive/7z/7zOut.h +152 -0
  119. data/ext/p7zip/CPP/7zip/Archive/7z/7zProperties.cpp +164 -0
  120. data/ext/p7zip/CPP/7zip/Archive/7z/7zProperties.h +22 -0
  121. data/ext/p7zip/CPP/7zip/Archive/7z/7zRegister.cpp +18 -0
  122. data/ext/p7zip/CPP/7zip/Archive/7z/7zSpecStream.cpp +24 -0
  123. data/ext/p7zip/CPP/7zip/Archive/7z/7zSpecStream.h +35 -0
  124. data/ext/p7zip/CPP/7zip/Archive/7z/7zUpdate.cpp +1216 -0
  125. data/ext/p7zip/CPP/7zip/Archive/7z/7zUpdate.h +88 -0
  126. data/ext/p7zip/CPP/7zip/Archive/ApmHandler.cpp +356 -0
  127. data/ext/p7zip/CPP/7zip/Archive/ArchiveExports.cpp +135 -0
  128. data/ext/p7zip/CPP/7zip/Archive/ArjHandler.cpp +798 -0
  129. data/ext/p7zip/CPP/7zip/Archive/Bz2Handler.cpp +423 -0
  130. data/ext/p7zip/CPP/7zip/Archive/Cab/CabBlockInStream.cpp +189 -0
  131. data/ext/p7zip/CPP/7zip/Archive/Cab/CabBlockInStream.h +44 -0
  132. data/ext/p7zip/CPP/7zip/Archive/Cab/CabHandler.cpp +929 -0
  133. data/ext/p7zip/CPP/7zip/Archive/Cab/CabHandler.h +28 -0
  134. data/ext/p7zip/CPP/7zip/Archive/Cab/CabHeader.cpp +15 -0
  135. data/ext/p7zip/CPP/7zip/Archive/Cab/CabHeader.h +44 -0
  136. data/ext/p7zip/CPP/7zip/Archive/Cab/CabIn.cpp +272 -0
  137. data/ext/p7zip/CPP/7zip/Archive/Cab/CabIn.h +161 -0
  138. data/ext/p7zip/CPP/7zip/Archive/Cab/CabItem.h +63 -0
  139. data/ext/p7zip/CPP/7zip/Archive/Cab/CabRegister.cpp +13 -0
  140. data/ext/p7zip/CPP/7zip/Archive/Chm/ChmHandler.cpp +721 -0
  141. data/ext/p7zip/CPP/7zip/Archive/Chm/ChmHandler.h +29 -0
  142. data/ext/p7zip/CPP/7zip/Archive/Chm/ChmHeader.cpp +24 -0
  143. data/ext/p7zip/CPP/7zip/Archive/Chm/ChmHeader.h +28 -0
  144. data/ext/p7zip/CPP/7zip/Archive/Chm/ChmIn.cpp +937 -0
  145. data/ext/p7zip/CPP/7zip/Archive/Chm/ChmIn.h +244 -0
  146. data/ext/p7zip/CPP/7zip/Archive/Chm/ChmRegister.cpp +13 -0
  147. data/ext/p7zip/CPP/7zip/Archive/Com/ComHandler.cpp +239 -0
  148. data/ext/p7zip/CPP/7zip/Archive/Com/ComHandler.h +28 -0
  149. data/ext/p7zip/CPP/7zip/Archive/Com/ComIn.cpp +389 -0
  150. data/ext/p7zip/CPP/7zip/Archive/Com/ComIn.h +119 -0
  151. data/ext/p7zip/CPP/7zip/Archive/Com/ComRegister.cpp +13 -0
  152. data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2.cpp +121 -0
  153. data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2.h +174 -0
  154. data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2MT.cpp +240 -0
  155. data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2MT.h +80 -0
  156. data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2ST.cpp +239 -0
  157. data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2ST.h +88 -0
  158. data/ext/p7zip/CPP/7zip/Archive/Common/CrossThreadProgress.cpp +15 -0
  159. data/ext/p7zip/CPP/7zip/Archive/Common/CrossThreadProgress.h +37 -0
  160. data/ext/p7zip/CPP/7zip/Archive/Common/DummyOutStream.cpp +22 -0
  161. data/ext/p7zip/CPP/7zip/Archive/Common/DummyOutStream.h +24 -0
  162. data/ext/p7zip/CPP/7zip/Archive/Common/FindSignature.cpp +62 -0
  163. data/ext/p7zip/CPP/7zip/Archive/Common/FindSignature.h +12 -0
  164. data/ext/p7zip/CPP/7zip/Archive/Common/HandlerOut.cpp +623 -0
  165. data/ext/p7zip/CPP/7zip/Archive/Common/HandlerOut.h +87 -0
  166. data/ext/p7zip/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +42 -0
  167. data/ext/p7zip/CPP/7zip/Archive/Common/InStreamWithCRC.h +67 -0
  168. data/ext/p7zip/CPP/7zip/Archive/Common/ItemNameUtils.cpp +61 -0
  169. data/ext/p7zip/CPP/7zip/Archive/Common/ItemNameUtils.h +24 -0
  170. data/ext/p7zip/CPP/7zip/Archive/Common/MultiStream.cpp +190 -0
  171. data/ext/p7zip/CPP/7zip/Archive/Common/MultiStream.h +84 -0
  172. data/ext/p7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
  173. data/ext/p7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.h +36 -0
  174. data/ext/p7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.cpp +18 -0
  175. data/ext/p7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.h +36 -0
  176. data/ext/p7zip/CPP/7zip/Archive/Common/ParseProperties.cpp +177 -0
  177. data/ext/p7zip/CPP/7zip/Archive/Common/ParseProperties.h +18 -0
  178. data/ext/p7zip/CPP/7zip/Archive/CpioHandler.cpp +624 -0
  179. data/ext/p7zip/CPP/7zip/Archive/CramfsHandler.cpp +644 -0
  180. data/ext/p7zip/CPP/7zip/Archive/DebHandler.cpp +413 -0
  181. data/ext/p7zip/CPP/7zip/Archive/DeflateProps.cpp +118 -0
  182. data/ext/p7zip/CPP/7zip/Archive/DeflateProps.h +35 -0
  183. data/ext/p7zip/CPP/7zip/Archive/DllExports2.cpp +76 -0
  184. data/ext/p7zip/CPP/7zip/Archive/DmgHandler.cpp +918 -0
  185. data/ext/p7zip/CPP/7zip/Archive/ElfHandler.cpp +534 -0
  186. data/ext/p7zip/CPP/7zip/Archive/FatHandler.cpp +996 -0
  187. data/ext/p7zip/CPP/7zip/Archive/FlvHandler.cpp +544 -0
  188. data/ext/p7zip/CPP/7zip/Archive/GzHandler.cpp +698 -0
  189. data/ext/p7zip/CPP/7zip/Archive/Hfs/HfsHandler.cpp +243 -0
  190. data/ext/p7zip/CPP/7zip/Archive/Hfs/HfsHandler.h +26 -0
  191. data/ext/p7zip/CPP/7zip/Archive/Hfs/HfsIn.cpp +480 -0
  192. data/ext/p7zip/CPP/7zip/Archive/Hfs/HfsIn.h +154 -0
  193. data/ext/p7zip/CPP/7zip/Archive/Hfs/HfsRegister.cpp +13 -0
  194. data/ext/p7zip/CPP/7zip/Archive/IArchive.h +234 -0
  195. data/ext/p7zip/CPP/7zip/Archive/Iso/IsoHandler.cpp +326 -0
  196. data/ext/p7zip/CPP/7zip/Archive/Iso/IsoHandler.h +30 -0
  197. data/ext/p7zip/CPP/7zip/Archive/Iso/IsoHeader.cpp +21 -0
  198. data/ext/p7zip/CPP/7zip/Archive/Iso/IsoHeader.h +61 -0
  199. data/ext/p7zip/CPP/7zip/Archive/Iso/IsoIn.cpp +453 -0
  200. data/ext/p7zip/CPP/7zip/Archive/Iso/IsoIn.h +315 -0
  201. data/ext/p7zip/CPP/7zip/Archive/Iso/IsoItem.h +141 -0
  202. data/ext/p7zip/CPP/7zip/Archive/Iso/IsoRegister.cpp +13 -0
  203. data/ext/p7zip/CPP/7zip/Archive/LzhHandler.cpp +775 -0
  204. data/ext/p7zip/CPP/7zip/Archive/LzmaHandler.cpp +430 -0
  205. data/ext/p7zip/CPP/7zip/Archive/MachoHandler.cpp +500 -0
  206. data/ext/p7zip/CPP/7zip/Archive/MbrHandler.cpp +507 -0
  207. data/ext/p7zip/CPP/7zip/Archive/MslzHandler.cpp +257 -0
  208. data/ext/p7zip/CPP/7zip/Archive/MubHandler.cpp +266 -0
  209. data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisDecode.cpp +130 -0
  210. data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisDecode.h +47 -0
  211. data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisHandler.cpp +510 -0
  212. data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisHandler.h +43 -0
  213. data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisIn.cpp +1461 -0
  214. data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisIn.h +181 -0
  215. data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisRegister.cpp +13 -0
  216. data/ext/p7zip/CPP/7zip/Archive/NtfsHandler.cpp +1764 -0
  217. data/ext/p7zip/CPP/7zip/Archive/PeHandler.cpp +1752 -0
  218. data/ext/p7zip/CPP/7zip/Archive/PpmdHandler.cpp +456 -0
  219. data/ext/p7zip/CPP/7zip/Archive/Rar/RarHandler.cpp +869 -0
  220. data/ext/p7zip/CPP/7zip/Archive/Rar/RarHandler.h +66 -0
  221. data/ext/p7zip/CPP/7zip/Archive/Rar/RarHeader.cpp +21 -0
  222. data/ext/p7zip/CPP/7zip/Archive/Rar/RarHeader.h +205 -0
  223. data/ext/p7zip/CPP/7zip/Archive/Rar/RarIn.cpp +478 -0
  224. data/ext/p7zip/CPP/7zip/Archive/Rar/RarIn.h +123 -0
  225. data/ext/p7zip/CPP/7zip/Archive/Rar/RarItem.cpp +55 -0
  226. data/ext/p7zip/CPP/7zip/Archive/Rar/RarItem.h +79 -0
  227. data/ext/p7zip/CPP/7zip/Archive/Rar/RarRegister.cpp +13 -0
  228. data/ext/p7zip/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp +78 -0
  229. data/ext/p7zip/CPP/7zip/Archive/Rar/RarVolumeInStream.h +49 -0
  230. data/ext/p7zip/CPP/7zip/Archive/RpmHandler.cpp +292 -0
  231. data/ext/p7zip/CPP/7zip/Archive/SplitHandler.cpp +366 -0
  232. data/ext/p7zip/CPP/7zip/Archive/SquashfsHandler.cpp +2155 -0
  233. data/ext/p7zip/CPP/7zip/Archive/SwfHandler.cpp +706 -0
  234. data/ext/p7zip/CPP/7zip/Archive/Tar/TarHandler.cpp +386 -0
  235. data/ext/p7zip/CPP/7zip/Archive/Tar/TarHandler.h +61 -0
  236. data/ext/p7zip/CPP/7zip/Archive/Tar/TarHandlerOut.cpp +122 -0
  237. data/ext/p7zip/CPP/7zip/Archive/Tar/TarHeader.cpp +25 -0
  238. data/ext/p7zip/CPP/7zip/Archive/Tar/TarHeader.h +108 -0
  239. data/ext/p7zip/CPP/7zip/Archive/Tar/TarIn.cpp +207 -0
  240. data/ext/p7zip/CPP/7zip/Archive/Tar/TarIn.h +17 -0
  241. data/ext/p7zip/CPP/7zip/Archive/Tar/TarItem.h +72 -0
  242. data/ext/p7zip/CPP/7zip/Archive/Tar/TarOut.cpp +187 -0
  243. data/ext/p7zip/CPP/7zip/Archive/Tar/TarOut.h +28 -0
  244. data/ext/p7zip/CPP/7zip/Archive/Tar/TarRegister.cpp +18 -0
  245. data/ext/p7zip/CPP/7zip/Archive/Tar/TarUpdate.cpp +139 -0
  246. data/ext/p7zip/CPP/7zip/Archive/Tar/TarUpdate.h +34 -0
  247. data/ext/p7zip/CPP/7zip/Archive/Udf/UdfHandler.cpp +451 -0
  248. data/ext/p7zip/CPP/7zip/Archive/Udf/UdfHandler.h +37 -0
  249. data/ext/p7zip/CPP/7zip/Archive/Udf/UdfIn.cpp +876 -0
  250. data/ext/p7zip/CPP/7zip/Archive/Udf/UdfIn.h +375 -0
  251. data/ext/p7zip/CPP/7zip/Archive/Udf/UdfRegister.cpp +13 -0
  252. data/ext/p7zip/CPP/7zip/Archive/VhdHandler.cpp +734 -0
  253. data/ext/p7zip/CPP/7zip/Archive/Wim/WimHandler.cpp +660 -0
  254. data/ext/p7zip/CPP/7zip/Archive/Wim/WimHandler.h +77 -0
  255. data/ext/p7zip/CPP/7zip/Archive/Wim/WimHandlerOut.cpp +639 -0
  256. data/ext/p7zip/CPP/7zip/Archive/Wim/WimIn.cpp +855 -0
  257. data/ext/p7zip/CPP/7zip/Archive/Wim/WimIn.h +297 -0
  258. data/ext/p7zip/CPP/7zip/Archive/Wim/WimRegister.cpp +18 -0
  259. data/ext/p7zip/CPP/7zip/Archive/XarHandler.cpp +588 -0
  260. data/ext/p7zip/CPP/7zip/Archive/XzHandler.cpp +707 -0
  261. data/ext/p7zip/CPP/7zip/Archive/ZHandler.cpp +161 -0
  262. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipAddCommon.cpp +379 -0
  263. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipAddCommon.h +56 -0
  264. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipCompressionMode.h +42 -0
  265. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipHandler.cpp +822 -0
  266. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipHandler.h +101 -0
  267. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipHandlerOut.cpp +537 -0
  268. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipHeader.cpp +36 -0
  269. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipHeader.h +284 -0
  270. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipIn.cpp +893 -0
  271. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipIn.h +125 -0
  272. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipItem.cpp +181 -0
  273. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipItem.h +281 -0
  274. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipItemEx.h +34 -0
  275. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipOut.cpp +289 -0
  276. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipOut.h +56 -0
  277. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipRegister.cpp +18 -0
  278. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipUpdate.cpp +1076 -0
  279. data/ext/p7zip/CPP/7zip/Archive/Zip/ZipUpdate.h +58 -0
  280. data/ext/p7zip/CPP/7zip/Bundles/Format7zFree/makefile +328 -0
  281. data/ext/p7zip/CPP/7zip/Bundles/Format7zFree/makefile.depend +4962 -0
  282. data/ext/p7zip/CPP/7zip/Bundles/Format7zFree/makefile.list +265 -0
  283. data/ext/p7zip/CPP/7zip/CMAKE/CMakeLists_7zFM.txt +163 -0
  284. data/ext/p7zip/CPP/7zip/CMAKE/CMakeLists_7zG.txt +131 -0
  285. data/ext/p7zip/CPP/7zip/CMAKE/CMakeLists_7za.txt +253 -0
  286. data/ext/p7zip/CPP/7zip/CMAKE/CMakeLists_ALL.txt +32 -0
  287. data/ext/p7zip/CPP/7zip/CMAKE/CMakeLists_Format7zFree.txt +290 -0
  288. data/ext/p7zip/CPP/7zip/CMAKE/generate.sh +37 -0
  289. data/ext/p7zip/CPP/7zip/CMAKE/generate_xcode.sh +32 -0
  290. data/ext/p7zip/CPP/7zip/Common/CWrappers.cpp +226 -0
  291. data/ext/p7zip/CPP/7zip/Common/CWrappers.h +109 -0
  292. data/ext/p7zip/CPP/7zip/Common/CreateCoder.cpp +293 -0
  293. data/ext/p7zip/CPP/7zip/Common/CreateCoder.h +98 -0
  294. data/ext/p7zip/CPP/7zip/Common/FilePathAutoRename.cpp +55 -0
  295. data/ext/p7zip/CPP/7zip/Common/FilePathAutoRename.h +10 -0
  296. data/ext/p7zip/CPP/7zip/Common/FileStreams.cpp +273 -0
  297. data/ext/p7zip/CPP/7zip/Common/FileStreams.h +134 -0
  298. data/ext/p7zip/CPP/7zip/Common/FilterCoder.cpp +247 -0
  299. data/ext/p7zip/CPP/7zip/Common/FilterCoder.h +128 -0
  300. data/ext/p7zip/CPP/7zip/Common/InBuffer.cpp +83 -0
  301. data/ext/p7zip/CPP/7zip/Common/InBuffer.h +81 -0
  302. data/ext/p7zip/CPP/7zip/Common/InOutTempBuffer.cpp +122 -0
  303. data/ext/p7zip/CPP/7zip/Common/InOutTempBuffer.h +48 -0
  304. data/ext/p7zip/CPP/7zip/Common/LimitedStreams.cpp +154 -0
  305. data/ext/p7zip/CPP/7zip/Common/LimitedStreams.h +125 -0
  306. data/ext/p7zip/CPP/7zip/Common/LockedStream.cpp +23 -0
  307. data/ext/p7zip/CPP/7zip/Common/LockedStream.h +38 -0
  308. data/ext/p7zip/CPP/7zip/Common/MemBlocks.cpp +183 -0
  309. data/ext/p7zip/CPP/7zip/Common/MemBlocks.h +71 -0
  310. data/ext/p7zip/CPP/7zip/Common/MethodId.cpp +27 -0
  311. data/ext/p7zip/CPP/7zip/Common/MethodId.h +10 -0
  312. data/ext/p7zip/CPP/7zip/Common/MethodProps.cpp +99 -0
  313. data/ext/p7zip/CPP/7zip/Common/MethodProps.h +41 -0
  314. data/ext/p7zip/CPP/7zip/Common/OffsetStream.cpp +35 -0
  315. data/ext/p7zip/CPP/7zip/Common/OffsetStream.h +25 -0
  316. data/ext/p7zip/CPP/7zip/Common/OutBuffer.cpp +116 -0
  317. data/ext/p7zip/CPP/7zip/Common/OutBuffer.h +64 -0
  318. data/ext/p7zip/CPP/7zip/Common/OutMemStream.cpp +142 -0
  319. data/ext/p7zip/CPP/7zip/Common/OutMemStream.h +96 -0
  320. data/ext/p7zip/CPP/7zip/Common/ProgressMt.cpp +53 -0
  321. data/ext/p7zip/CPP/7zip/Common/ProgressMt.h +46 -0
  322. data/ext/p7zip/CPP/7zip/Common/ProgressUtils.cpp +42 -0
  323. data/ext/p7zip/CPP/7zip/Common/ProgressUtils.h +34 -0
  324. data/ext/p7zip/CPP/7zip/Common/RegisterArc.h +32 -0
  325. data/ext/p7zip/CPP/7zip/Common/RegisterCodec.h +33 -0
  326. data/ext/p7zip/CPP/7zip/Common/StreamBinder.cpp +152 -0
  327. data/ext/p7zip/CPP/7zip/Common/StreamBinder.h +38 -0
  328. data/ext/p7zip/CPP/7zip/Common/StreamObjects.cpp +221 -0
  329. data/ext/p7zip/CPP/7zip/Common/StreamObjects.h +135 -0
  330. data/ext/p7zip/CPP/7zip/Common/StreamUtils.cpp +56 -0
  331. data/ext/p7zip/CPP/7zip/Common/StreamUtils.h +13 -0
  332. data/ext/p7zip/CPP/7zip/Common/VirtThread.cpp +46 -0
  333. data/ext/p7zip/CPP/7zip/Common/VirtThread.h +23 -0
  334. data/ext/p7zip/CPP/7zip/Compress/ArjDecoder1.cpp +309 -0
  335. data/ext/p7zip/CPP/7zip/Compress/ArjDecoder1.h +98 -0
  336. data/ext/p7zip/CPP/7zip/Compress/ArjDecoder2.cpp +90 -0
  337. data/ext/p7zip/CPP/7zip/Compress/ArjDecoder2.h +59 -0
  338. data/ext/p7zip/CPP/7zip/Compress/BZip2Const.h +54 -0
  339. data/ext/p7zip/CPP/7zip/Compress/BZip2Crc.cpp +26 -0
  340. data/ext/p7zip/CPP/7zip/Compress/BZip2Crc.h +31 -0
  341. data/ext/p7zip/CPP/7zip/Compress/BZip2Decoder.cpp +943 -0
  342. data/ext/p7zip/CPP/7zip/Compress/BZip2Decoder.h +205 -0
  343. data/ext/p7zip/CPP/7zip/Compress/BZip2Encoder.cpp +895 -0
  344. data/ext/p7zip/CPP/7zip/Compress/BZip2Encoder.h +245 -0
  345. data/ext/p7zip/CPP/7zip/Compress/BZip2Register.cpp +20 -0
  346. data/ext/p7zip/CPP/7zip/Compress/Bcj2Coder.cpp +386 -0
  347. data/ext/p7zip/CPP/7zip/Compress/Bcj2Coder.h +115 -0
  348. data/ext/p7zip/CPP/7zip/Compress/Bcj2Register.cpp +19 -0
  349. data/ext/p7zip/CPP/7zip/Compress/BcjCoder.cpp +15 -0
  350. data/ext/p7zip/CPP/7zip/Compress/BcjCoder.h +19 -0
  351. data/ext/p7zip/CPP/7zip/Compress/BcjRegister.cpp +19 -0
  352. data/ext/p7zip/CPP/7zip/Compress/BitlDecoder.cpp +24 -0
  353. data/ext/p7zip/CPP/7zip/Compress/BitlDecoder.h +141 -0
  354. data/ext/p7zip/CPP/7zip/Compress/BitlEncoder.h +57 -0
  355. data/ext/p7zip/CPP/7zip/Compress/BitmDecoder.h +66 -0
  356. data/ext/p7zip/CPP/7zip/Compress/BitmEncoder.h +50 -0
  357. data/ext/p7zip/CPP/7zip/Compress/BranchCoder.cpp +19 -0
  358. data/ext/p7zip/CPP/7zip/Compress/BranchCoder.h +44 -0
  359. data/ext/p7zip/CPP/7zip/Compress/BranchMisc.cpp +37 -0
  360. data/ext/p7zip/CPP/7zip/Compress/BranchMisc.h +14 -0
  361. data/ext/p7zip/CPP/7zip/Compress/BranchRegister.cpp +30 -0
  362. data/ext/p7zip/CPP/7zip/Compress/ByteSwap.cpp +73 -0
  363. data/ext/p7zip/CPP/7zip/Compress/CodecExports.cpp +160 -0
  364. data/ext/p7zip/CPP/7zip/Compress/CopyCoder.cpp +67 -0
  365. data/ext/p7zip/CPP/7zip/Compress/CopyCoder.h +34 -0
  366. data/ext/p7zip/CPP/7zip/Compress/CopyRegister.cpp +14 -0
  367. data/ext/p7zip/CPP/7zip/Compress/Deflate64Register.cpp +20 -0
  368. data/ext/p7zip/CPP/7zip/Compress/DeflateConst.h +134 -0
  369. data/ext/p7zip/CPP/7zip/Compress/DeflateDecoder.cpp +353 -0
  370. data/ext/p7zip/CPP/7zip/Compress/DeflateDecoder.h +157 -0
  371. data/ext/p7zip/CPP/7zip/Compress/DeflateEncoder.cpp +986 -0
  372. data/ext/p7zip/CPP/7zip/Compress/DeflateEncoder.h +211 -0
  373. data/ext/p7zip/CPP/7zip/Compress/DeflateRegister.cpp +21 -0
  374. data/ext/p7zip/CPP/7zip/Compress/DeltaFilter.cpp +112 -0
  375. data/ext/p7zip/CPP/7zip/Compress/DllExports.cpp +39 -0
  376. data/ext/p7zip/CPP/7zip/Compress/DllExports2.cpp +28 -0
  377. data/ext/p7zip/CPP/7zip/Compress/HuffmanDecoder.h +89 -0
  378. data/ext/p7zip/CPP/7zip/Compress/ImplodeDecoder.cpp +219 -0
  379. data/ext/p7zip/CPP/7zip/Compress/ImplodeDecoder.h +57 -0
  380. data/ext/p7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.cpp +89 -0
  381. data/ext/p7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.h +34 -0
  382. data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/LzmaAlone.cpp +531 -0
  383. data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/LzmaBench.cpp +1018 -0
  384. data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/LzmaBench.h +48 -0
  385. data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/LzmaBenchCon.cpp +311 -0
  386. data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/LzmaBenchCon.h +20 -0
  387. data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/makefile +173 -0
  388. data/ext/p7zip/CPP/7zip/Compress/LzOutWindow.cpp +14 -0
  389. data/ext/p7zip/CPP/7zip/Compress/LzOutWindow.h +66 -0
  390. data/ext/p7zip/CPP/7zip/Compress/LzhDecoder.cpp +220 -0
  391. data/ext/p7zip/CPP/7zip/Compress/LzhDecoder.h +106 -0
  392. data/ext/p7zip/CPP/7zip/Compress/Lzma2Decoder.cpp +189 -0
  393. data/ext/p7zip/CPP/7zip/Compress/Lzma2Decoder.h +73 -0
  394. data/ext/p7zip/CPP/7zip/Compress/Lzma2Encoder.cpp +94 -0
  395. data/ext/p7zip/CPP/7zip/Compress/Lzma2Encoder.h +36 -0
  396. data/ext/p7zip/CPP/7zip/Compress/Lzma2Register.cpp +20 -0
  397. data/ext/p7zip/CPP/7zip/Compress/LzmaDecoder.cpp +252 -0
  398. data/ext/p7zip/CPP/7zip/Compress/LzmaDecoder.h +84 -0
  399. data/ext/p7zip/CPP/7zip/Compress/LzmaEncoder.cpp +149 -0
  400. data/ext/p7zip/CPP/7zip/Compress/LzmaEncoder.h +36 -0
  401. data/ext/p7zip/CPP/7zip/Compress/LzmaRegister.cpp +20 -0
  402. data/ext/p7zip/CPP/7zip/Compress/Lzx.h +61 -0
  403. data/ext/p7zip/CPP/7zip/Compress/Lzx86Converter.cpp +90 -0
  404. data/ext/p7zip/CPP/7zip/Compress/Lzx86Converter.h +46 -0
  405. data/ext/p7zip/CPP/7zip/Compress/LzxDecoder.cpp +387 -0
  406. data/ext/p7zip/CPP/7zip/Compress/LzxDecoder.h +159 -0
  407. data/ext/p7zip/CPP/7zip/Compress/Mtf8.h +193 -0
  408. data/ext/p7zip/CPP/7zip/Compress/PpmdDecoder.cpp +167 -0
  409. data/ext/p7zip/CPP/7zip/Compress/PpmdDecoder.h +78 -0
  410. data/ext/p7zip/CPP/7zip/Compress/PpmdEncoder.cpp +119 -0
  411. data/ext/p7zip/CPP/7zip/Compress/PpmdEncoder.h +48 -0
  412. data/ext/p7zip/CPP/7zip/Compress/PpmdRegister.cpp +21 -0
  413. data/ext/p7zip/CPP/7zip/Compress/PpmdZip.cpp +223 -0
  414. data/ext/p7zip/CPP/7zip/Compress/PpmdZip.h +72 -0
  415. data/ext/p7zip/CPP/7zip/Compress/QuantumDecoder.cpp +175 -0
  416. data/ext/p7zip/CPP/7zip/Compress/QuantumDecoder.h +264 -0
  417. data/ext/p7zip/CPP/7zip/Compress/RangeCoder.h +205 -0
  418. data/ext/p7zip/CPP/7zip/Compress/RangeCoderBit.h +114 -0
  419. data/ext/p7zip/CPP/7zip/Compress/Rar/makefile +34 -0
  420. data/ext/p7zip/CPP/7zip/Compress/Rar/makefile.depend +158 -0
  421. data/ext/p7zip/CPP/7zip/Compress/Rar/makefile.list +64 -0
  422. data/ext/p7zip/CPP/7zip/Compress/Rar1Decoder.cpp +480 -0
  423. data/ext/p7zip/CPP/7zip/Compress/Rar1Decoder.h +88 -0
  424. data/ext/p7zip/CPP/7zip/Compress/Rar2Decoder.cpp +391 -0
  425. data/ext/p7zip/CPP/7zip/Compress/Rar2Decoder.h +174 -0
  426. data/ext/p7zip/CPP/7zip/Compress/Rar3Decoder.cpp +897 -0
  427. data/ext/p7zip/CPP/7zip/Compress/Rar3Decoder.h +267 -0
  428. data/ext/p7zip/CPP/7zip/Compress/Rar3Vm.cpp +1091 -0
  429. data/ext/p7zip/CPP/7zip/Compress/Rar3Vm.h +179 -0
  430. data/ext/p7zip/CPP/7zip/Compress/RarCodecsRegister.cpp +26 -0
  431. data/ext/p7zip/CPP/7zip/Compress/ShrinkDecoder.cpp +145 -0
  432. data/ext/p7zip/CPP/7zip/Compress/ShrinkDecoder.h +38 -0
  433. data/ext/p7zip/CPP/7zip/Compress/ZDecoder.cpp +159 -0
  434. data/ext/p7zip/CPP/7zip/Compress/ZDecoder.h +42 -0
  435. data/ext/p7zip/CPP/7zip/Compress/ZlibDecoder.cpp +89 -0
  436. data/ext/p7zip/CPP/7zip/Compress/ZlibDecoder.h +48 -0
  437. data/ext/p7zip/CPP/7zip/Compress/ZlibEncoder.cpp +61 -0
  438. data/ext/p7zip/CPP/7zip/Compress/ZlibEncoder.h +48 -0
  439. data/ext/p7zip/CPP/7zip/Crypto/7zAes.cpp +244 -0
  440. data/ext/p7zip/CPP/7zip/Crypto/7zAes.h +117 -0
  441. data/ext/p7zip/CPP/7zip/Crypto/7zAesRegister.cpp +18 -0
  442. data/ext/p7zip/CPP/7zip/Crypto/HmacSha1.cpp +109 -0
  443. data/ext/p7zip/CPP/7zip/Crypto/HmacSha1.h +39 -0
  444. data/ext/p7zip/CPP/7zip/Crypto/MyAes.cpp +48 -0
  445. data/ext/p7zip/CPP/7zip/Crypto/MyAes.h +38 -0
  446. data/ext/p7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp +83 -0
  447. data/ext/p7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.h +21 -0
  448. data/ext/p7zip/CPP/7zip/Crypto/RandGen.cpp +107 -0
  449. data/ext/p7zip/CPP/7zip/Crypto/RandGen.h +21 -0
  450. data/ext/p7zip/CPP/7zip/Crypto/Rar20Crypto.cpp +133 -0
  451. data/ext/p7zip/CPP/7zip/Crypto/Rar20Crypto.h +50 -0
  452. data/ext/p7zip/CPP/7zip/Crypto/RarAes.cpp +134 -0
  453. data/ext/p7zip/CPP/7zip/Crypto/RarAes.h +47 -0
  454. data/ext/p7zip/CPP/7zip/Crypto/Sha1.cpp +229 -0
  455. data/ext/p7zip/CPP/7zip/Crypto/Sha1.h +68 -0
  456. data/ext/p7zip/CPP/7zip/Crypto/WzAes.cpp +221 -0
  457. data/ext/p7zip/CPP/7zip/Crypto/WzAes.h +125 -0
  458. data/ext/p7zip/CPP/7zip/Crypto/ZipCrypto.cpp +88 -0
  459. data/ext/p7zip/CPP/7zip/Crypto/ZipCrypto.h +56 -0
  460. data/ext/p7zip/CPP/7zip/Crypto/ZipStrong.cpp +164 -0
  461. data/ext/p7zip/CPP/7zip/Crypto/ZipStrong.h +47 -0
  462. data/ext/p7zip/CPP/7zip/Guid.txt +170 -0
  463. data/ext/p7zip/CPP/7zip/ICoder.h +186 -0
  464. data/ext/p7zip/CPP/7zip/IDecl.h +15 -0
  465. data/ext/p7zip/CPP/7zip/IPassword.h +24 -0
  466. data/ext/p7zip/CPP/7zip/IProgress.h +33 -0
  467. data/ext/p7zip/CPP/7zip/IStream.h +58 -0
  468. data/ext/p7zip/CPP/7zip/MyVersion.h +11 -0
  469. data/ext/p7zip/CPP/7zip/PREMAKE/generate.sh +18 -0
  470. data/ext/p7zip/CPP/7zip/PREMAKE/premake4.lua +263 -0
  471. data/ext/p7zip/CPP/7zip/PropID.h +76 -0
  472. data/ext/p7zip/CPP/7zip/QMAKE/7ZA/7ZA.pro +228 -0
  473. data/ext/p7zip/CPP/7zip/QMAKE/7ZA/7ZA_osx.pro +228 -0
  474. data/ext/p7zip/CPP/7zip/QMAKE/test_emul/test_emul.pro +26 -0
  475. data/ext/p7zip/CPP/7zip/TEST/TestUI/TestUI.cpp +560 -0
  476. data/ext/p7zip/CPP/7zip/TEST/TestUI/makefile +33 -0
  477. data/ext/p7zip/CPP/7zip/TEST/TestUI/makefile.depend +577 -0
  478. data/ext/p7zip/CPP/7zip/TEST/TestUI/makefile.list +16 -0
  479. data/ext/p7zip/CPP/Common/AutoPtr.h +35 -0
  480. data/ext/p7zip/CPP/Common/Buffer.h +77 -0
  481. data/ext/p7zip/CPP/Common/CRC.cpp +7 -0
  482. data/ext/p7zip/CPP/Common/C_FileIO.cpp +88 -0
  483. data/ext/p7zip/CPP/Common/C_FileIO.h +47 -0
  484. data/ext/p7zip/CPP/Common/ComTry.h +18 -0
  485. data/ext/p7zip/CPP/Common/CommandLineParser.cpp +230 -0
  486. data/ext/p7zip/CPP/Common/CommandLineParser.h +72 -0
  487. data/ext/p7zip/CPP/Common/Defs.h +20 -0
  488. data/ext/p7zip/CPP/Common/DynamicBuffer.h +50 -0
  489. data/ext/p7zip/CPP/Common/IntToString.cpp +77 -0
  490. data/ext/p7zip/CPP/Common/IntToString.h +19 -0
  491. data/ext/p7zip/CPP/Common/Lang.cpp +130 -0
  492. data/ext/p7zip/CPP/Common/Lang.h +28 -0
  493. data/ext/p7zip/CPP/Common/ListFileUtils.cpp +75 -0
  494. data/ext/p7zip/CPP/Common/ListFileUtils.h +11 -0
  495. data/ext/p7zip/CPP/Common/MyCom.h +225 -0
  496. data/ext/p7zip/CPP/Common/MyException.h +14 -0
  497. data/ext/p7zip/CPP/Common/MyGuidDef.h +54 -0
  498. data/ext/p7zip/CPP/Common/MyInitGuid.h +22 -0
  499. data/ext/p7zip/CPP/Common/MyMap.cpp +140 -0
  500. data/ext/p7zip/CPP/Common/MyMap.h +28 -0
  501. data/ext/p7zip/CPP/Common/MyString.cpp +206 -0
  502. data/ext/p7zip/CPP/Common/MyString.h +601 -0
  503. data/ext/p7zip/CPP/Common/MyUnknown.h +13 -0
  504. data/ext/p7zip/CPP/Common/MyVector.cpp +87 -0
  505. data/ext/p7zip/CPP/Common/MyVector.h +266 -0
  506. data/ext/p7zip/CPP/Common/MyWindows.cpp +111 -0
  507. data/ext/p7zip/CPP/Common/MyWindows.h +218 -0
  508. data/ext/p7zip/CPP/Common/MyXml.cpp +209 -0
  509. data/ext/p7zip/CPP/Common/MyXml.h +40 -0
  510. data/ext/p7zip/CPP/Common/NewHandler.h +16 -0
  511. data/ext/p7zip/CPP/Common/StdInStream.cpp +100 -0
  512. data/ext/p7zip/CPP/Common/StdInStream.h +32 -0
  513. data/ext/p7zip/CPP/Common/StdOutStream.cpp +93 -0
  514. data/ext/p7zip/CPP/Common/StdOutStream.h +35 -0
  515. data/ext/p7zip/CPP/Common/StringConvert.cpp +181 -0
  516. data/ext/p7zip/CPP/Common/StringConvert.h +73 -0
  517. data/ext/p7zip/CPP/Common/StringToInt.cpp +90 -0
  518. data/ext/p7zip/CPP/Common/StringToInt.h +18 -0
  519. data/ext/p7zip/CPP/Common/TextConfig.cpp +138 -0
  520. data/ext/p7zip/CPP/Common/TextConfig.h +22 -0
  521. data/ext/p7zip/CPP/Common/Types.h +11 -0
  522. data/ext/p7zip/CPP/Common/UTFConvert.cpp +145 -0
  523. data/ext/p7zip/CPP/Common/UTFConvert.h +11 -0
  524. data/ext/p7zip/CPP/Common/Wildcard.cpp +462 -0
  525. data/ext/p7zip/CPP/Common/Wildcard.h +80 -0
  526. data/ext/p7zip/CPP/Windows/COM.cpp +37 -0
  527. data/ext/p7zip/CPP/Windows/COM.h +69 -0
  528. data/ext/p7zip/CPP/Windows/Clipboard.cpp +160 -0
  529. data/ext/p7zip/CPP/Windows/Clipboard.h +28 -0
  530. data/ext/p7zip/CPP/Windows/CommonDialog.h +19 -0
  531. data/ext/p7zip/CPP/Windows/Control/ComboBox.h +82 -0
  532. data/ext/p7zip/CPP/Windows/Control/Controls.cpp +515 -0
  533. data/ext/p7zip/CPP/Windows/Control/Dialog.cpp +560 -0
  534. data/ext/p7zip/CPP/Windows/Control/Dialog.h +179 -0
  535. data/ext/p7zip/CPP/Windows/Control/DialogImpl.h +73 -0
  536. data/ext/p7zip/CPP/Windows/Control/Edit.h +24 -0
  537. data/ext/p7zip/CPP/Windows/Control/ListView.h +164 -0
  538. data/ext/p7zip/CPP/Windows/Control/ProgressBar.h +34 -0
  539. data/ext/p7zip/CPP/Windows/Control/Static.h +23 -0
  540. data/ext/p7zip/CPP/Windows/Control/StatusBar.h +56 -0
  541. data/ext/p7zip/CPP/Windows/Control/Window2.cpp +211 -0
  542. data/ext/p7zip/CPP/Windows/Control/Window2.h +111 -0
  543. data/ext/p7zip/CPP/Windows/DLL.cpp +193 -0
  544. data/ext/p7zip/CPP/Windows/DLL.h +48 -0
  545. data/ext/p7zip/CPP/Windows/Defs.h +17 -0
  546. data/ext/p7zip/CPP/Windows/Error.cpp +58 -0
  547. data/ext/p7zip/CPP/Windows/Error.h +33 -0
  548. data/ext/p7zip/CPP/Windows/FileDir.cpp +927 -0
  549. data/ext/p7zip/CPP/Windows/FileDir.h +115 -0
  550. data/ext/p7zip/CPP/Windows/FileFind.cpp +604 -0
  551. data/ext/p7zip/CPP/Windows/FileFind.h +126 -0
  552. data/ext/p7zip/CPP/Windows/FileIO.cpp +475 -0
  553. data/ext/p7zip/CPP/Windows/FileIO.h +110 -0
  554. data/ext/p7zip/CPP/Windows/FileName.cpp +50 -0
  555. data/ext/p7zip/CPP/Windows/FileName.h +27 -0
  556. data/ext/p7zip/CPP/Windows/Menu.h +4 -0
  557. data/ext/p7zip/CPP/Windows/NtCheck.h +44 -0
  558. data/ext/p7zip/CPP/Windows/PropVariant.cpp +243 -0
  559. data/ext/p7zip/CPP/Windows/PropVariant.h +56 -0
  560. data/ext/p7zip/CPP/Windows/PropVariantConversions.cpp +142 -0
  561. data/ext/p7zip/CPP/Windows/PropVariantConversions.h +14 -0
  562. data/ext/p7zip/CPP/Windows/PropVariantUtils.cpp +78 -0
  563. data/ext/p7zip/CPP/Windows/PropVariantUtils.h +28 -0
  564. data/ext/p7zip/CPP/Windows/Registry.cpp +313 -0
  565. data/ext/p7zip/CPP/Windows/Registry.h +113 -0
  566. data/ext/p7zip/CPP/Windows/ResourceString.h +22 -0
  567. data/ext/p7zip/CPP/Windows/Shell.h +21 -0
  568. data/ext/p7zip/CPP/Windows/Synchronization.cpp +157 -0
  569. data/ext/p7zip/CPP/Windows/Synchronization.h +187 -0
  570. data/ext/p7zip/CPP/Windows/Synchronization2.h +218 -0
  571. data/ext/p7zip/CPP/Windows/System.cpp +166 -0
  572. data/ext/p7zip/CPP/Windows/System.h +16 -0
  573. data/ext/p7zip/CPP/Windows/Thread.h +41 -0
  574. data/ext/p7zip/CPP/Windows/Time.cpp +88 -0
  575. data/ext/p7zip/CPP/Windows/Time.h +21 -0
  576. data/ext/p7zip/CPP/Windows/Window.cpp +101 -0
  577. data/ext/p7zip/CPP/Windows/Window.h +43 -0
  578. data/ext/p7zip/CPP/include_windows/basetyps.h +19 -0
  579. data/ext/p7zip/CPP/include_windows/tchar.h +89 -0
  580. data/ext/p7zip/CPP/include_windows/windows.h +194 -0
  581. data/ext/p7zip/CPP/myWindows/StdAfx.h +124 -0
  582. data/ext/p7zip/CPP/myWindows/config.h +67 -0
  583. data/ext/p7zip/CPP/myWindows/initguid.h +4 -0
  584. data/ext/p7zip/CPP/myWindows/makefile +21 -0
  585. data/ext/p7zip/CPP/myWindows/makefile.depend +32 -0
  586. data/ext/p7zip/CPP/myWindows/makefile.list +28 -0
  587. data/ext/p7zip/CPP/myWindows/myAddExeFlag.cpp +20 -0
  588. data/ext/p7zip/CPP/myWindows/myGetTickCount.cpp +8 -0
  589. data/ext/p7zip/CPP/myWindows/myPrivate.h +17 -0
  590. data/ext/p7zip/CPP/myWindows/mySplitCommandLine.cpp +82 -0
  591. data/ext/p7zip/CPP/myWindows/test_emul.cpp +745 -0
  592. data/ext/p7zip/CPP/myWindows/wine_GetXXXDefaultLangID.cpp +741 -0
  593. data/ext/p7zip/CPP/myWindows/wine_date_and_time.cpp +434 -0
  594. data/ext/p7zip/ChangeLog +914 -0
  595. data/ext/p7zip/DOCS/7zC.txt +194 -0
  596. data/ext/p7zip/DOCS/7zFormat.txt +469 -0
  597. data/ext/p7zip/DOCS/License.txt +52 -0
  598. data/ext/p7zip/DOCS/MANUAL/commands/add.htm +87 -0
  599. data/ext/p7zip/DOCS/MANUAL/commands/bench.htm +79 -0
  600. data/ext/p7zip/DOCS/MANUAL/commands/delete.htm +59 -0
  601. data/ext/p7zip/DOCS/MANUAL/commands/extract.htm +91 -0
  602. data/ext/p7zip/DOCS/MANUAL/commands/extract_full.htm +68 -0
  603. data/ext/p7zip/DOCS/MANUAL/commands/index.htm +33 -0
  604. data/ext/p7zip/DOCS/MANUAL/commands/list.htm +77 -0
  605. data/ext/p7zip/DOCS/MANUAL/commands/style.css +232 -0
  606. data/ext/p7zip/DOCS/MANUAL/commands/test.htm +46 -0
  607. data/ext/p7zip/DOCS/MANUAL/commands/update.htm +66 -0
  608. data/ext/p7zip/DOCS/MANUAL/exit_codes.htm +27 -0
  609. data/ext/p7zip/DOCS/MANUAL/index.htm +29 -0
  610. data/ext/p7zip/DOCS/MANUAL/style.css +232 -0
  611. data/ext/p7zip/DOCS/MANUAL/switches/ar_exclude.htm +56 -0
  612. data/ext/p7zip/DOCS/MANUAL/switches/ar_include.htm +83 -0
  613. data/ext/p7zip/DOCS/MANUAL/switches/ar_no.htm +52 -0
  614. data/ext/p7zip/DOCS/MANUAL/switches/charset.htm +49 -0
  615. data/ext/p7zip/DOCS/MANUAL/switches/exclude.htm +60 -0
  616. data/ext/p7zip/DOCS/MANUAL/switches/include.htm +87 -0
  617. data/ext/p7zip/DOCS/MANUAL/switches/index.htm +64 -0
  618. data/ext/p7zip/DOCS/MANUAL/switches/large_pages.htm +50 -0
  619. data/ext/p7zip/DOCS/MANUAL/switches/list_tech.htm +36 -0
  620. data/ext/p7zip/DOCS/MANUAL/switches/method.htm +625 -0
  621. data/ext/p7zip/DOCS/MANUAL/switches/output_dir.htm +53 -0
  622. data/ext/p7zip/DOCS/MANUAL/switches/overwrite.htm +56 -0
  623. data/ext/p7zip/DOCS/MANUAL/switches/password.htm +54 -0
  624. data/ext/p7zip/DOCS/MANUAL/switches/recurse.htm +83 -0
  625. data/ext/p7zip/DOCS/MANUAL/switches/sfx.htm +156 -0
  626. data/ext/p7zip/DOCS/MANUAL/switches/ssc.htm +50 -0
  627. data/ext/p7zip/DOCS/MANUAL/switches/stdin.htm +55 -0
  628. data/ext/p7zip/DOCS/MANUAL/switches/stdout.htm +50 -0
  629. data/ext/p7zip/DOCS/MANUAL/switches/stop_switch.htm +31 -0
  630. data/ext/p7zip/DOCS/MANUAL/switches/style.css +232 -0
  631. data/ext/p7zip/DOCS/MANUAL/switches/type.htm +83 -0
  632. data/ext/p7zip/DOCS/MANUAL/switches/update.htm +176 -0
  633. data/ext/p7zip/DOCS/MANUAL/switches/volume.htm +49 -0
  634. data/ext/p7zip/DOCS/MANUAL/switches/working_dir.htm +55 -0
  635. data/ext/p7zip/DOCS/MANUAL/switches/yes.htm +48 -0
  636. data/ext/p7zip/DOCS/MANUAL/syntax.htm +120 -0
  637. data/ext/p7zip/DOCS/Methods.txt +152 -0
  638. data/ext/p7zip/DOCS/copying.txt +504 -0
  639. data/ext/p7zip/DOCS/history.txt +456 -0
  640. data/ext/p7zip/DOCS/lzma.txt +598 -0
  641. data/ext/p7zip/DOCS/readme.txt +181 -0
  642. data/ext/p7zip/DOCS/unRarLicense.txt +41 -0
  643. data/ext/p7zip/README +358 -0
  644. data/ext/p7zip/TODO +39 -0
  645. data/ext/p7zip/contrib/VirtualFileSystemForMidnightCommander/ChangeLog +41 -0
  646. data/ext/p7zip/contrib/VirtualFileSystemForMidnightCommander/readme +21 -0
  647. data/ext/p7zip/contrib/VirtualFileSystemForMidnightCommander/readme.u7z +30 -0
  648. data/ext/p7zip/contrib/VirtualFileSystemForMidnightCommander/u7z +133 -0
  649. data/ext/p7zip/contrib/gzip-like_CLI_wrapper_for_7z/README +21 -0
  650. data/ext/p7zip/contrib/gzip-like_CLI_wrapper_for_7z/check/check.sh +117 -0
  651. data/ext/p7zip/contrib/gzip-like_CLI_wrapper_for_7z/check/files.tar +0 -0
  652. data/ext/p7zip/contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1 +33 -0
  653. data/ext/p7zip/contrib/gzip-like_CLI_wrapper_for_7z/p7zip +144 -0
  654. data/ext/p7zip/contrib/qnx630sp3/qnx630sp3-shared +14 -0
  655. data/ext/p7zip/contrib/qnx630sp3/qnx630sp3-static +10 -0
  656. data/ext/p7zip/install.sh +206 -0
  657. data/ext/p7zip/install_local_context_menu.sh +18 -0
  658. data/ext/p7zip/integration_context_menu.txt +51 -0
  659. data/ext/p7zip/makefile +181 -0
  660. data/ext/p7zip/makefile.aix_gcc +22 -0
  661. data/ext/p7zip/makefile.beos +18 -0
  662. data/ext/p7zip/makefile.crc32 +8 -0
  663. data/ext/p7zip/makefile.cygwin +20 -0
  664. data/ext/p7zip/makefile.cygwin_asm +21 -0
  665. data/ext/p7zip/makefile.djgpp_old +21 -0
  666. data/ext/p7zip/makefile.djgpp_watt +47 -0
  667. data/ext/p7zip/makefile.freebsd5 +20 -0
  668. data/ext/p7zip/makefile.freebsd6 +20 -0
  669. data/ext/p7zip/makefile.glb +39 -0
  670. data/ext/p7zip/makefile.gprof +18 -0
  671. data/ext/p7zip/makefile.hpux-acc +17 -0
  672. data/ext/p7zip/makefile.hpux-acc_64 +19 -0
  673. data/ext/p7zip/makefile.hpux-gcc +21 -0
  674. data/ext/p7zip/makefile.linux_amd64 +22 -0
  675. data/ext/p7zip/makefile.linux_amd64_asm +24 -0
  676. data/ext/p7zip/makefile.linux_amd64_asm_icc +27 -0
  677. data/ext/p7zip/makefile.linux_any_cpu +22 -0
  678. data/ext/p7zip/makefile.linux_any_cpu_gcc_4.X +24 -0
  679. data/ext/p7zip/makefile.linux_clang_amd64 +22 -0
  680. data/ext/p7zip/makefile.linux_cross_arm +22 -0
  681. data/ext/p7zip/makefile.linux_gcc_2.95_no_need_for_libstdc +20 -0
  682. data/ext/p7zip/makefile.linux_other +23 -0
  683. data/ext/p7zip/makefile.linux_s390x +23 -0
  684. data/ext/p7zip/makefile.linux_x86_asm_gcc_4.X +26 -0
  685. data/ext/p7zip/makefile.linux_x86_asm_gcc_4.X_fltk +26 -0
  686. data/ext/p7zip/makefile.linux_x86_asm_gcc_mudflap_4.X +26 -0
  687. data/ext/p7zip/makefile.linux_x86_asm_icc +25 -0
  688. data/ext/p7zip/makefile.linux_x86_icc +24 -0
  689. data/ext/p7zip/makefile.machine_base +22 -0
  690. data/ext/p7zip/makefile.macosx_32bits +20 -0
  691. data/ext/p7zip/makefile.macosx_32bits_asm +23 -0
  692. data/ext/p7zip/makefile.macosx_32bits_ppc +21 -0
  693. data/ext/p7zip/makefile.macosx_64bits +20 -0
  694. data/ext/p7zip/makefile.macosx_llvm_64bits +20 -0
  695. data/ext/p7zip/makefile.netbsd +21 -0
  696. data/ext/p7zip/makefile.netware_asm_gcc_3.X +41 -0
  697. data/ext/p7zip/makefile.oldmake +174 -0
  698. data/ext/p7zip/makefile.openbsd +20 -0
  699. data/ext/p7zip/makefile.openbsd_no_port +20 -0
  700. data/ext/p7zip/makefile.qnx_shared.bin +21 -0
  701. data/ext/p7zip/makefile.qnx_static +21 -0
  702. data/ext/p7zip/makefile.rules +661 -0
  703. data/ext/p7zip/makefile.solaris_sparc_CC_32 +21 -0
  704. data/ext/p7zip/makefile.solaris_sparc_CC_64 +23 -0
  705. data/ext/p7zip/makefile.solaris_sparc_gcc +21 -0
  706. data/ext/p7zip/makefile.solaris_x86 +19 -0
  707. data/ext/p7zip/makefile.tru64 +22 -0
  708. data/ext/seven_zip_ruby/depend +5 -0
  709. data/ext/seven_zip_ruby/extconf.rb +131 -0
  710. data/ext/seven_zip_ruby/guid_defs.h +29 -0
  711. data/ext/seven_zip_ruby/mutex.h +10 -0
  712. data/ext/seven_zip_ruby/posix/mutex.h +94 -0
  713. data/ext/seven_zip_ruby/seven_zip_archive.cpp +1614 -0
  714. data/ext/seven_zip_ruby/seven_zip_archive.h +515 -0
  715. data/ext/seven_zip_ruby/util_common.h +444 -0
  716. data/ext/seven_zip_ruby/utils.cpp +576 -0
  717. data/ext/seven_zip_ruby/utils.h +25 -0
  718. data/ext/seven_zip_ruby/win32/mutex.h +130 -0
  719. data/lib/seven_zip_ruby.rb +16 -0
  720. data/lib/seven_zip_ruby/7z.dll +0 -0
  721. data/lib/seven_zip_ruby/7z64.dll +0 -0
  722. data/lib/seven_zip_ruby/archive_info.rb +21 -0
  723. data/lib/seven_zip_ruby/entry_info.rb +45 -0
  724. data/lib/seven_zip_ruby/exception.rb +7 -0
  725. data/lib/seven_zip_ruby/seven_zip_reader.rb +180 -0
  726. data/lib/seven_zip_ruby/seven_zip_writer.rb +143 -0
  727. data/lib/seven_zip_ruby/update_info.rb +116 -0
  728. data/lib/seven_zip_ruby/version.rb +3 -0
  729. data/seven_zip_ruby.gemspec +26 -0
  730. data/spec/seven_zip_ruby_spec.rb +490 -0
  731. data/spec/seven_zip_ruby_spec_helper.rb +122 -0
  732. metadata +820 -0
@@ -0,0 +1,434 @@
1
+ /*
2
+ * This library is free software; you can redistribute it and/or
3
+ * modify it under the terms of the GNU Lesser General Public
4
+ * License as published by the Free Software Foundation; either
5
+ * version 2.1 of the License, or (at your option) any later version.
6
+ *
7
+ * This library is distributed in the hope that it will be useful,
8
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
+ * Lesser General Public License for more details.
11
+ *
12
+ * You should have received a copy of the GNU Lesser General Public
13
+ * License along with this library; if not, write to the Free Software
14
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+ *
16
+ */
17
+ #include "config.h"
18
+
19
+ #include <stdio.h>
20
+ #include <stdlib.h>
21
+ #include <sys/types.h>
22
+ #include <sys/stat.h>
23
+ #include <sys/time.h> /* gettimeofday */
24
+ #include <dirent.h>
25
+ #include <unistd.h>
26
+ #include <time.h>
27
+
28
+ #include <windows.h>
29
+
30
+ // #define TRACEN(u) u;
31
+ #define TRACEN(u) /* */
32
+
33
+ typedef LONG NTSTATUS;
34
+ #define STATUS_SUCCESS 0x00000000
35
+
36
+ #define TICKSPERSEC 10000000
37
+ #define TICKSPERMSEC 10000
38
+ #define SECSPERDAY 86400
39
+ #define SECSPERHOUR 3600
40
+ #define SECSPERMIN 60
41
+ #define MINSPERHOUR 60
42
+ #define HOURSPERDAY 24
43
+ #define EPOCHWEEKDAY 1 /* Jan 1, 1601 was Monday */
44
+ #define DAYSPERWEEK 7
45
+ #define EPOCHYEAR 1601
46
+ #define DAYSPERNORMALYEAR 365
47
+ #define DAYSPERLEAPYEAR 366
48
+ #define MONSPERYEAR 12
49
+ #define DAYSPERQUADRICENTENNIUM (365 * 400 + 97)
50
+ #define DAYSPERNORMALCENTURY (365 * 100 + 24)
51
+ #define DAYSPERNORMALQUADRENNIUM (365 * 4 + 1)
52
+
53
+ /* 1601 to 1970 is 369 years plus 89 leap days */
54
+ #define SECS_1601_TO_1970 ((369 * 365 + 89) * (ULONGLONG)SECSPERDAY)
55
+ #define TICKS_1601_TO_1970 (SECS_1601_TO_1970 * TICKSPERSEC)
56
+ /* 1601 to 1980 is 379 years plus 91 leap days */
57
+ #define SECS_1601_TO_1980 ((379 * 365 + 91) * (ULONGLONG)SECSPERDAY)
58
+ #define TICKS_1601_TO_1980 (SECS_1601_TO_1980 * TICKSPERSEC)
59
+ typedef short CSHORT;
60
+
61
+ static LONG TIME_GetBias() {
62
+ time_t utc = time(NULL);
63
+ struct tm *ptm = localtime(&utc);
64
+ int localdaylight = ptm->tm_isdst; /* daylight for local timezone */
65
+ ptm = gmtime(&utc);
66
+ ptm->tm_isdst = localdaylight; /* use local daylight, not that of Greenwich */
67
+ LONG bias = (int)(mktime(ptm)-utc);
68
+ TRACEN((printf("TIME_GetBias %ld\n",(long)bias)))
69
+ return bias;
70
+ }
71
+
72
+ static inline void RtlSystemTimeToLocalTime( const LARGE_INTEGER *SystemTime,
73
+ LARGE_INTEGER *LocalTime ) {
74
+ LONG bias = TIME_GetBias();
75
+ LocalTime->QuadPart = SystemTime->QuadPart - bias * (LONGLONG)TICKSPERSEC;
76
+ }
77
+
78
+ void WINAPI RtlSecondsSince1970ToFileTime( DWORD Seconds, FILETIME * ft ) {
79
+ ULONGLONG secs = Seconds * (ULONGLONG)TICKSPERSEC + TICKS_1601_TO_1970;
80
+ ft->dwLowDateTime = (DWORD)secs;
81
+ ft->dwHighDateTime = (DWORD)(secs >> 32);
82
+ TRACEN((printf("RtlSecondsSince1970ToFileTime %lx => %lx %lx\n",(long)Seconds,(long)ft->dwHighDateTime,(long)ft->dwLowDateTime)))
83
+ }
84
+
85
+ /*
86
+ void WINAPI RtlSecondsSince1970ToTime( DWORD Seconds, LARGE_INTEGER *Time )
87
+ {
88
+ ULONGLONG secs = Seconds * (ULONGLONG)TICKSPERSEC + TICKS_1601_TO_1970;
89
+ // Time->u.LowPart = (DWORD)secs; Time->u.HighPart = (DWORD)(secs >> 32);
90
+ Time->QuadPart = secs;
91
+ }
92
+ */
93
+
94
+ BOOL WINAPI DosDateTimeToFileTime( WORD fatdate, WORD fattime, FILETIME * ft)
95
+ {
96
+ struct tm newtm;
97
+ #ifndef ENV_HAVE_TIMEGM
98
+ struct tm *gtm;
99
+ time_t time1, time2;
100
+ #endif
101
+
102
+ TRACEN((printf("DosDateTimeToFileTime\n")))
103
+
104
+ newtm.tm_sec = (fattime & 0x1f) * 2;
105
+ newtm.tm_min = (fattime >> 5) & 0x3f;
106
+ newtm.tm_hour = (fattime >> 11);
107
+ newtm.tm_mday = (fatdate & 0x1f);
108
+ newtm.tm_mon = ((fatdate >> 5) & 0x0f) - 1;
109
+ newtm.tm_year = (fatdate >> 9) + 80;
110
+ newtm.tm_isdst = -1;
111
+ #ifdef ENV_HAVE_TIMEGM
112
+ RtlSecondsSince1970ToFileTime( timegm(&newtm), ft );
113
+ #else
114
+ newtm.tm_isdst = 0;
115
+ time1 = mktime(&newtm);
116
+ gtm = gmtime(&time1);
117
+ time2 = mktime(gtm);
118
+ RtlSecondsSince1970ToFileTime( 2*time1-time2, ft );
119
+ #endif
120
+ TRACEN((printf("DosDateTimeToFileTime(%ld,%ld) => %lx %lx\n",
121
+ (long)fatdate,(long)fattime,
122
+ (long)ft->dwHighDateTime,(long)ft->dwLowDateTime)))
123
+
124
+ return TRUE;
125
+ }
126
+
127
+ /*
128
+ BOOL WINAPI DosDateTimeToFileTime( WORD fatdate, WORD fattime, FILETIME * ft) {
129
+ struct tm newtm;
130
+
131
+ TRACEN((printf("DosDateTimeToFileTime\n")))
132
+
133
+ memset(&newtm,0,sizeof(newtm));
134
+ newtm.tm_sec = (fattime & 0x1f) * 2;
135
+ newtm.tm_min = (fattime >> 5) & 0x3f;
136
+ newtm.tm_hour = (fattime >> 11);
137
+ newtm.tm_mday = (fatdate & 0x1f);
138
+ newtm.tm_mon = ((fatdate >> 5) & 0x0f) - 1;
139
+ newtm.tm_year = (fatdate >> 9) + 80;
140
+ newtm.tm_isdst = -1;
141
+
142
+ time_t time1 = mktime(&newtm);
143
+ LONG bias = TIME_GetBias();
144
+ RtlSecondsSince1970ToFileTime( time1 - bias, ft );
145
+
146
+
147
+ TRACEN((printf("DosDateTimeToFileTime(%ld,%ld) t1=%ld => %lx %lx\n",
148
+ (long)fatdate,(long)fattime,(long)time1,
149
+ (long)ft->dwHighDateTime,(long)ft->dwLowDateTime)))
150
+
151
+ return TRUE;
152
+ }
153
+ */
154
+
155
+ BOOLEAN WINAPI RtlTimeToSecondsSince1970( const LARGE_INTEGER *Time, DWORD *Seconds ) {
156
+ ULONGLONG tmp = Time->QuadPart;
157
+ TRACEN((printf("RtlTimeToSecondsSince1970-1 %llx\n",tmp)))
158
+ tmp /= TICKSPERSEC;
159
+ tmp -= SECS_1601_TO_1970;
160
+ TRACEN((printf("RtlTimeToSecondsSince1970-2 %llx\n",tmp)))
161
+ if (tmp > 0xffffffff) return FALSE;
162
+ *Seconds = (DWORD)tmp;
163
+ return TRUE;
164
+ }
165
+
166
+ BOOL WINAPI FileTimeToDosDateTime( const FILETIME *ft, WORD *fatdate, WORD *fattime ) {
167
+ LARGE_INTEGER li;
168
+ ULONG t;
169
+ time_t unixtime;
170
+ struct tm* tm;
171
+ WORD fat_d,fat_t;
172
+
173
+ TRACEN((printf("FileTimeToDosDateTime\n")))
174
+ li.QuadPart = ft->dwHighDateTime;
175
+ li.QuadPart = (li.QuadPart << 32) | ft->dwLowDateTime;
176
+ RtlTimeToSecondsSince1970( &li, &t );
177
+ unixtime = t; /* unixtime = t; * FIXME unixtime = t - TIME_GetBias(); */
178
+
179
+ tm = gmtime( &unixtime );
180
+
181
+ fat_t = (tm->tm_hour << 11) + (tm->tm_min << 5) + (tm->tm_sec / 2);
182
+ fat_d = ((tm->tm_year - 80) << 9) + ((tm->tm_mon + 1) << 5) + tm->tm_mday;
183
+ if (fattime)
184
+ *fattime = fat_t;
185
+ if (fatdate)
186
+ *fatdate = fat_d;
187
+
188
+ TRACEN((printf("FileTimeToDosDateTime : %lx %lx => %d %d\n",
189
+ (long)ft->dwHighDateTime,(long)ft->dwLowDateTime,(unsigned)fat_d,(unsigned)fat_t)))
190
+
191
+ return TRUE;
192
+ }
193
+
194
+ BOOL WINAPI FileTimeToLocalFileTime( const FILETIME *utcft, FILETIME * localft ) {
195
+ LARGE_INTEGER local, utc;
196
+
197
+ TRACEN((printf("FileTimeToLocalFileTime\n")))
198
+ utc.QuadPart = utcft->dwHighDateTime;
199
+ utc.QuadPart = (utc.QuadPart << 32) | utcft->dwLowDateTime;
200
+ RtlSystemTimeToLocalTime( &utc, &local );
201
+ localft->dwLowDateTime = (DWORD)local.QuadPart;
202
+ localft->dwHighDateTime = (DWORD)(local.QuadPart >> 32);
203
+
204
+ return TRUE;
205
+ }
206
+
207
+ typedef struct _TIME_FIELDS {
208
+ CSHORT Year;
209
+ CSHORT Month;
210
+ CSHORT Day;
211
+ CSHORT Hour;
212
+ CSHORT Minute;
213
+ CSHORT Second;
214
+ CSHORT Milliseconds;
215
+ CSHORT Weekday;
216
+ } TIME_FIELDS;
217
+
218
+ static const int MonthLengths[2][MONSPERYEAR] =
219
+ {
220
+ { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
221
+ { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
222
+ };
223
+
224
+ static inline int IsLeapYear(int Year) {
225
+ return Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0) ? 1 : 0;
226
+ }
227
+
228
+ static inline VOID WINAPI RtlTimeToTimeFields(
229
+ const LARGE_INTEGER *liTime,
230
+ TIME_FIELDS * TimeFields) {
231
+ int SecondsInDay;
232
+ long int cleaps, years, yearday, months;
233
+ long int Days;
234
+ LONGLONG Time;
235
+
236
+ /* Extract millisecond from time and convert time into seconds */
237
+ TimeFields->Milliseconds =
238
+ (CSHORT) (( liTime->QuadPart % TICKSPERSEC) / TICKSPERMSEC);
239
+ Time = liTime->QuadPart / TICKSPERSEC;
240
+
241
+ /* The native version of RtlTimeToTimeFields does not take leap seconds
242
+ * into account */
243
+
244
+ /* Split the time into days and seconds within the day */
245
+ Days = Time / SECSPERDAY;
246
+ SecondsInDay = Time % SECSPERDAY;
247
+
248
+ /* compute time of day */
249
+ TimeFields->Hour = (CSHORT) (SecondsInDay / SECSPERHOUR);
250
+ SecondsInDay = SecondsInDay % SECSPERHOUR;
251
+ TimeFields->Minute = (CSHORT) (SecondsInDay / SECSPERMIN);
252
+ TimeFields->Second = (CSHORT) (SecondsInDay % SECSPERMIN);
253
+
254
+ /* compute day of week */
255
+ TimeFields->Weekday = (CSHORT) ((EPOCHWEEKDAY + Days) % DAYSPERWEEK);
256
+
257
+ /* compute year, month and day of month. */
258
+ cleaps=( 3 * ((4 * Days + 1227) / DAYSPERQUADRICENTENNIUM) + 3 ) / 4;
259
+ Days += 28188 + cleaps;
260
+ years = (20 * Days - 2442) / (5 * DAYSPERNORMALQUADRENNIUM);
261
+ yearday = Days - (years * DAYSPERNORMALQUADRENNIUM)/4;
262
+ months = (64 * yearday) / 1959;
263
+ /* the result is based on a year starting on March.
264
+ * To convert take 12 from Januari and Februari and
265
+ * increase the year by one. */
266
+ if( months < 14 ) {
267
+ TimeFields->Month = months - 1;
268
+ TimeFields->Year = years + 1524;
269
+ } else {
270
+ TimeFields->Month = months - 13;
271
+ TimeFields->Year = years + 1525;
272
+ }
273
+ /* calculation of day of month is based on the wonderful
274
+ * sequence of INT( n * 30.6): it reproduces the
275
+ * 31-30-31-30-31-31 month lengths exactly for small n's */
276
+ TimeFields->Day = yearday - (1959 * months) / 64 ;
277
+ }
278
+
279
+
280
+ BOOL WINAPI FileTimeToSystemTime( const FILETIME *ft, SYSTEMTIME * syst ) {
281
+ TIME_FIELDS tf;
282
+ LARGE_INTEGER t;
283
+
284
+ TRACEN((printf("FileTimeToSystemTime\n")))
285
+ t.QuadPart = ft->dwHighDateTime;
286
+ t.QuadPart = (t.QuadPart << 32) | ft->dwLowDateTime;
287
+ RtlTimeToTimeFields(&t, &tf);
288
+
289
+ syst->wYear = tf.Year;
290
+ syst->wMonth = tf.Month;
291
+ syst->wDay = tf.Day;
292
+ syst->wHour = tf.Hour;
293
+ syst->wMinute = tf.Minute;
294
+ syst->wSecond = tf.Second;
295
+ syst->wMilliseconds = tf.Milliseconds;
296
+ syst->wDayOfWeek = tf.Weekday;
297
+ return TRUE;
298
+ }
299
+
300
+
301
+ static inline NTSTATUS WINAPI RtlLocalTimeToSystemTime( const LARGE_INTEGER *LocalTime,
302
+ LARGE_INTEGER *SystemTime) {
303
+
304
+ TRACEN((printf("RtlLocalTimeToSystemTime\n")))
305
+ LONG bias = TIME_GetBias();
306
+ SystemTime->QuadPart = LocalTime->QuadPart + bias * (LONGLONG)TICKSPERSEC;
307
+ return STATUS_SUCCESS;
308
+ }
309
+
310
+ BOOL WINAPI LocalFileTimeToFileTime( const FILETIME *localft, FILETIME * utcft ) {
311
+ LARGE_INTEGER local, utc;
312
+
313
+ TRACEN((printf("LocalFileTimeToFileTime\n")))
314
+ local.QuadPart = localft->dwHighDateTime;
315
+ local.QuadPart = (local.QuadPart << 32) | localft->dwLowDateTime;
316
+ RtlLocalTimeToSystemTime( &local, &utc );
317
+ utcft->dwLowDateTime = (DWORD)utc.QuadPart;
318
+ utcft->dwHighDateTime = (DWORD)(utc.QuadPart >> 32);
319
+
320
+ return TRUE;
321
+ }
322
+
323
+ /*********************************************************************
324
+ * GetSystemTime (KERNEL32.@)
325
+ *
326
+ * Get the current system time.
327
+ *
328
+ * RETURNS
329
+ * Nothing.
330
+ */
331
+ VOID WINAPI GetSystemTime(SYSTEMTIME * systime) /* [O] Destination for current time */
332
+ {
333
+ FILETIME ft;
334
+ LARGE_INTEGER t;
335
+
336
+ TRACEN((printf("GetSystemTime\n")))
337
+
338
+ struct timeval now;
339
+ gettimeofday( &now, 0 );
340
+ t.QuadPart = now.tv_sec * (ULONGLONG)TICKSPERSEC + TICKS_1601_TO_1970;
341
+ t.QuadPart += now.tv_usec * 10;
342
+
343
+ ft.dwLowDateTime = (DWORD)(t.QuadPart);
344
+ ft.dwHighDateTime = (DWORD)(t.QuadPart >> 32);
345
+ FileTimeToSystemTime(&ft, systime);
346
+ }
347
+
348
+ /******************************************************************************
349
+ * RtlTimeFieldsToTime [NTDLL.@]
350
+ *
351
+ * Convert a TIME_FIELDS structure into a time.
352
+ *
353
+ * PARAMS
354
+ * ftTimeFields [I] TIME_FIELDS structure to convert.
355
+ * Time [O] Destination for the converted time.
356
+ *
357
+ * RETURNS
358
+ * Success: TRUE.
359
+ * Failure: FALSE.
360
+ */
361
+ static BOOLEAN WINAPI RtlTimeFieldsToTime(
362
+ TIME_FIELDS * tfTimeFields,
363
+ LARGE_INTEGER *Time)
364
+ {
365
+ int month, year, cleaps, day;
366
+
367
+ TRACEN((printf("RtlTimeFieldsToTime\n")))
368
+
369
+ /* FIXME: normalize the TIME_FIELDS structure here */
370
+ /* No, native just returns 0 (error) if the fields are not */
371
+ if( tfTimeFields->Milliseconds< 0 || tfTimeFields->Milliseconds > 999 ||
372
+ tfTimeFields->Second < 0 || tfTimeFields->Second > 59 ||
373
+ tfTimeFields->Minute < 0 || tfTimeFields->Minute > 59 ||
374
+ tfTimeFields->Hour < 0 || tfTimeFields->Hour > 23 ||
375
+ tfTimeFields->Month < 1 || tfTimeFields->Month > 12 ||
376
+ tfTimeFields->Day < 1 ||
377
+ tfTimeFields->Day > MonthLengths
378
+ [ tfTimeFields->Month ==2 || IsLeapYear(tfTimeFields->Year)]
379
+ [ tfTimeFields->Month - 1] ||
380
+ tfTimeFields->Year < 1601 )
381
+ return FALSE;
382
+
383
+ /* now calculate a day count from the date
384
+ * First start counting years from March. This way the leap days
385
+ * are added at the end of the year, not somewhere in the middle.
386
+ * Formula's become so much less complicate that way.
387
+ * To convert: add 12 to the month numbers of Jan and Feb, and
388
+ * take 1 from the year */
389
+ if(tfTimeFields->Month < 3) {
390
+ month = tfTimeFields->Month + 13;
391
+ year = tfTimeFields->Year - 1;
392
+ } else {
393
+ month = tfTimeFields->Month + 1;
394
+ year = tfTimeFields->Year;
395
+ }
396
+ cleaps = (3 * (year / 100) + 3) / 4; /* nr of "century leap years"*/
397
+ day = (36525 * year) / 100 - cleaps + /* year * dayperyr, corrected */
398
+ (1959 * month) / 64 + /* months * daypermonth */
399
+ tfTimeFields->Day - /* day of the month */
400
+ 584817 ; /* zero that on 1601-01-01 */
401
+ /* done */
402
+
403
+ Time->QuadPart = (((((LONGLONG) day * HOURSPERDAY +
404
+ tfTimeFields->Hour) * MINSPERHOUR +
405
+ tfTimeFields->Minute) * SECSPERMIN +
406
+ tfTimeFields->Second ) * 1000 +
407
+ tfTimeFields->Milliseconds ) * TICKSPERMSEC;
408
+
409
+ return TRUE;
410
+ }
411
+
412
+ /*********************************************************************
413
+ * SystemTimeToFileTime (KERNEL32.@)
414
+ */
415
+ BOOL WINAPI SystemTimeToFileTime( const SYSTEMTIME *syst, FILETIME * ft ) {
416
+ TIME_FIELDS tf;
417
+ LARGE_INTEGER t;
418
+
419
+ TRACEN((printf("SystemTimeToFileTime\n")))
420
+
421
+ tf.Year = syst->wYear;
422
+ tf.Month = syst->wMonth;
423
+ tf.Day = syst->wDay;
424
+ tf.Hour = syst->wHour;
425
+ tf.Minute = syst->wMinute;
426
+ tf.Second = syst->wSecond;
427
+ tf.Milliseconds = syst->wMilliseconds;
428
+
429
+ RtlTimeFieldsToTime(&tf, &t);
430
+ ft->dwLowDateTime = (DWORD)t.QuadPart;
431
+ ft->dwHighDateTime = (DWORD)(t.QuadPart>>32);
432
+ return TRUE;
433
+ }
434
+
@@ -0,0 +1,914 @@
1
+
2
+ Version 9.20.1
3
+ ==============
4
+
5
+ - #3211479 "p7zip 9.20 - "unsupported method" with RAR files - " fixed
6
+ "install.sh" installs again "bin/Codecs/Rar29.so"
7
+
8
+ Version 9.20
9
+ ============
10
+
11
+ - From Windows version of 7-zip 9.20, What's new after 7-Zip 4.65 (2009-02-03):
12
+ - 7-Zip now supports LZMA2 compression method.
13
+ - 7-Zip now can update solid .7z archives.
14
+ - 7-Zip now supports XZ archives.
15
+ - 7-Zip now supports PPMd compression in ZIP archives.
16
+ - 7-Zip now can unpack NTFS, FAT, VHD, MBR, APM, SquashFS, CramFS, MSLZ archives.
17
+ - 7-Zip now can unpack GZip, BZip2, LZMA, XZ and TAR archives from stdin.
18
+ - 7-Zip now can unpack some TAR and ISO archives with incorrect headers.
19
+ - 7-Zip now supports files that are larger than 8 GB in TAR archives.
20
+ - NSIS and WIM support was improved.
21
+ - Partial parsing for EXE resources, SWF and FLV.
22
+ - The support for archives in installers was improved.
23
+ - 7-Zip now can stores NTFS file timestamps to ZIP archives.
24
+ - Speed optimizations in PPMd codec.
25
+ - Speed optimizations in CRC calculation code for Intel's Atom CPUs.
26
+ - New -scrc switch to calculate total CRC-32 during extracting / testing.
27
+ - 7-Zip File Manager now doesn't use temp files to open nested archives stored without compression.
28
+ - Disk fragmentation problem for ZIP archives created by 7-Zip was fixed.
29
+ - Some bugs were fixed.
30
+ - New localizations: Hindi, Gujarati, Sanskrit, Tatar, Uyghur, Kazakh.
31
+ - Not in p7zip : Speed optimizations in AES code for Intel's 32nm CPUs.
32
+
33
+
34
+
35
+
36
+ Version 9.18
37
+ ============
38
+ - From Windows version of 7-zip 9.17
39
+ - Disk fragmentation problem for ZIP archives created by 7-Zip was fixed.
40
+ Notes: 7-Zip now uses 4 MB RAM buffer as file cache, when you create ZIP archives.
41
+ It reduces the number of Move_File_Position and Write_to_File operations.
42
+
43
+ - From Windows version of 7-zip 9.18
44
+ - 7-Zip now can unpack SquashFS and CramFS filesystem images.
45
+ - 7-Zip now can unpack some TAR and ISO archives with incorrect headers.
46
+ - Some bugs were fixed.
47
+
48
+ - Some bugs were fixed in 7zG and 7zFM on MacOSX
49
+
50
+
51
+ Version 9.16
52
+ ============
53
+ - From Windows version of 7-zip 9.16
54
+ - 7-Zip now supports files that are larger than 8 GB in TAR archives.
55
+ - NSIS support was improved :
56
+ - 7-Zip now supports BZip2 method in NSIS installers.
57
+ - 7-Zip now can extract identical files from NSIS installers.
58
+ - Some bugs were fixed.
59
+ - New localizations: Hindi, Gujarati, Sanskrit.
60
+
61
+ - From Windows version of 7-zip 9.15
62
+ - Some bugs were fixed.
63
+ - New localization: Tatar
64
+
65
+ - From Windows version of 7-zip 9.14
66
+ - WIM support was improved. 7-Zip now can create WIM archives without compression.
67
+
68
+
69
+ - #3069545 "kSignatureDummy?" fixed
70
+
71
+
72
+
73
+
74
+ Version 9.13
75
+ ============
76
+ - From Windows version of 7-zip 9.12
77
+ - Some bugs were fixed.
78
+
79
+
80
+ - #2863580 "Crash in Rar decoder on a corrupted file" fixed
81
+
82
+ - #2860898 "Dereferencing a zero pointer in cab handler" fixed
83
+
84
+ - #2860679 "Division by zero in cab decoder" fixed
85
+
86
+
87
+
88
+ Version 9.12
89
+ ============
90
+ - From Windows version of 7-zip 9.12
91
+ - ZIP / PPMd compression ratio was improved in Maximum and Ultra modes.
92
+ - The BUG in 7-Zip 9.* beta was fixed: LZMA2 codec didn't work,
93
+ if more than 10 threads were used (or more than 20 threads in some modes).
94
+
95
+ - makefile.openbsd is now compatible with OpenBSD ports tree.
96
+ (thanks to jggimi)
97
+
98
+ - cmake projects added.
99
+
100
+ - 7zFM and 7zG can be built on MacOSX but these ports are in very alpha stage.
101
+ make app to build p7zip.app (p7zip for MacOSX)
102
+
103
+
104
+ Version 9.11 (never published)
105
+ ============
106
+ - From Windows version of 7-zip 9.11
107
+ - 7-Zip now supports PPMd compression in .ZIP archives.
108
+ - Speed optimizations in PPMd codec.
109
+ - The support for archives in installers was improved.
110
+ - Some bugs were fixed.
111
+
112
+
113
+ Version 9.10 (never published)
114
+ ============
115
+
116
+ - From Windows version of 7-zip 9.05 to 9.10
117
+ - 7-Zip now can unpack Apple Partition Map (APM) disk images.
118
+ - 7-Zip now can unpack MSLZ archives.
119
+ - Partial parsing for EXE resources, SWF and FLV.
120
+ - Some bugs were fixed.
121
+
122
+ - p7zip can now use hugetlbfs on Linux (thank to Joachim Henke)
123
+ Like with the Windows large pages, this gives a nice speedup,
124
+ when running memory intensive operations.
125
+
126
+ - p7zip now uses UTF8 (kCFStringNormalizationFormD) On MacOSX
127
+ fixes #2831266 "p7zip can't find NFC Unicode filename in OSX Terminal"
128
+ and #2976169 "German Umlauts Failure"
129
+
130
+
131
+ Version 9.05 (never published)
132
+ ============
133
+
134
+ - p7zip now uses precompiled header with gcc 4
135
+
136
+
137
+ Version 9.04 (Major bugfixes and Major enhancements)
138
+ ============
139
+
140
+ - From Windows version of 7-zip 9.04 :
141
+ - 7-Zip now can update solid .7z archives.
142
+ - 7-Zip now supports LZMA2 compression method.
143
+ - 7-Zip now supports XZ archives.
144
+ - 7-Zip now can unpack NTFS, FAT, VHD and MBR archives.
145
+ - 7-Zip now can unpack GZip, BZip2, LZMA, XZ and TAR archives from stdin.
146
+ - New -scrc switch to calculate total CRC-32 during extracting / testing.
147
+ - Some bugs were fixed.
148
+
149
+ - #2799966 " A newly created 7z archive (by p7zip 4.65) is broken and cannot be unpacked / listed / tested"
150
+ Fixed : now "7za a -mx=9 archive.7z directory" creates a good archive even
151
+ if there are a lot of executable files.
152
+
153
+ - Fixed : the RAM size was reported incorrectly on MacOSX 64bits (with 2Gb+ RAM)
154
+
155
+ - #2798023 "segfault handling very large multivolume .7z file"
156
+ p7zip now displays the following error "Error: Too many open files"
157
+ if you don't have enough rights to open all the splitted files
158
+ ( on Linux : ulimit -n)
159
+
160
+
161
+ Version 4.65
162
+ ============
163
+ - From Windows version of 7-zip 4.62 to 4.65
164
+ - The bug in 7-Zip 4.63 was fixed: 7-Zip could not decrypt .ZIP archives encrypted with WinZip-AES method.
165
+ - 7-Zip now can unpack ZIP archives encrypted with PKWARE-AES.
166
+ - Some bugs were fixed.
167
+
168
+ - Fixed : the RAM size was reported incorrectly on MacOSX 64bits
169
+
170
+ - Fixed : makefile.linux_amd64_asm_icc
171
+
172
+ - DJGPP :
173
+ makefile.djgpp becomes makefile.djgpp_old
174
+ makefile.djgpp_watt added (thank to Rugxulo)
175
+
176
+
177
+ - you can now compile 7za with a cmake project (see README)
178
+ the cmake project can build a codeblock project ;)
179
+ Remark : the kdevelop3 or Eclipse/CDT4 project don't work :(
180
+
181
+ Version 4.61
182
+ ============
183
+ - From Windows version of 7-zip 4.61 :
184
+ - 7-Zip now supports LZMA compression for .ZIP archives.
185
+ - Some bugs were fixed.
186
+
187
+ - #2199036 : Ask for password twice when creating encrypted archive
188
+
189
+ - 7zG added (read GUI/readme.txt)
190
+
191
+
192
+ Version 4.60 (never published)
193
+ ============
194
+
195
+ - From Windows version of 7-zip 4.60 :
196
+ - Some bugs were fixed
197
+
198
+ - p7zip didn't use the BCJ /BCJ2 filters for executables (:
199
+ - makefile.linux_amd64_asm_icc added (tested with Intel Compiler 11 on Ubuntu 8.04 x64)
200
+
201
+
202
+ Version 4.59 (never published)
203
+ ============
204
+
205
+ - From Windows version of 7-zip 4.59 :
206
+ - 7-Zip now can unpack UDF, XAR and DMG/HFS archives.
207
+ - It's allowed to use -t switch for "list" and "extract" commands.
208
+ - Some bugs were fixed.
209
+
210
+ - Bug : wrong timestamp for files extracted from .zip or .rar archives
211
+
212
+
213
+ Version 4.58
214
+ ============
215
+ - From Windows version of 7-zip 4.58 :
216
+ - Some speed optimizations.
217
+ - 7-Zip now can unpack .lzma archives.
218
+ - Unicode (UTF-8) support for filenames in .ZIP archives. Now there are 3 modes:
219
+ 1) Default mode: 7-Zip uses UTF-8, if the local code page doesn't contain required symbols.
220
+ 2) -mcu switch: 7-Zip uses UTF-8, if there are non-ASCII symbols.
221
+ 3) -mcl switch: 7-Zip uses local code page.
222
+ - Now it's possible to store file creation time in 7z and ZIP archives (-mtc switch).
223
+ - 7-Zip now can unpack multivolume RAR archives created with
224
+ "old style volume names" scheme and names *.001, *.002, ...
225
+ - Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on
226
+ - Some bugs were fixed.
227
+
228
+ - Bug #1898410 : Timestamp error in archive listing
229
+ now "7za l .." and "ls -l just_extracted_file" give the same date and time.
230
+
231
+ - Bug #1860938 : unix file rights only 600 instead of 644
232
+
233
+ - Bug #1941574 : gzip files always marked as OS FAT, Now p7zip uses "Unix".
234
+
235
+ - Bug #1947700 : file containing excluded files not read
236
+ When using the -xr <filename> flag to list files not to be included in the
237
+ archive the file <filename> is not read if it is a symbolic link.
238
+
239
+ - Feature Requests #1868080 : add support to compile for NetWare (makefile.netware_asm_gcc_3.X)
240
+
241
+ - Patch #1883893 : Incorrect path ref to docs in man pages (When using the last ($DEST_DIR) argument with install.sh)
242
+
243
+ - now "install.sh" supports filenames with spaces.
244
+
245
+ - some code cleanup (Synchronization)
246
+
247
+ - some minor fix in the BZip2 codec.
248
+
249
+ - fix with the define "__TEXT" for s390
250
+
251
+
252
+ Version 4.57
253
+ ============
254
+ - From Windows version of 7-zip 4.57 :
255
+ - The BUG in command line version was fixed: -up3 switch could work incorrectly.
256
+ - Minor improvement in ZIP compression.
257
+
258
+
259
+ Version 4.56 (never published)
260
+ ============
261
+ - From Windows version of 7-zip 4.56 :
262
+ - Some bugs were fixed
263
+
264
+ - On HPUX : fixed "Can't load '../bin/7z.dll'"
265
+ (Unsatisfied data symbol '_ZTVN10__cxxabiv121__vmi_class_type_infoE' in load module '../bin/7z.so'.)
266
+
267
+ - bug : p7zip used to build a zip file with an "FAT" header instead of "Unix" header
268
+ If LANG was set, "unzip" tried to translate the filenames from "FAT" to locale ...
269
+
270
+ - On AIX : fixed "HugeFiles=off" (thank kuriath)
271
+
272
+ - bug #1800180 : LZMAlone compilation error in COutFile
273
+
274
+ - Patch #1796569 : Fix FreeBSD FTBFS
275
+
276
+ - Patch #1796575 : fix man1/7za.1 man1/7zr.1 man1/7z.1
277
+
278
+
279
+ Version 4.55
280
+ ============
281
+ - From Windows version of 7-zip 4.55 :
282
+ - Some bugs were fixed
283
+
284
+ - fixed #1783007 : when make p7-zip 4.51 under hp-ux 11.11 error
285
+
286
+ - fixed #1789154 : 7z use default or -m0=LZMA runtime error under HP-UX IA11.23
287
+
288
+ - support added for HPUX on Itanium.
289
+ (makefile.hpux-acc and makefile.hpux-acc_64)
290
+
291
+
292
+ Version 4.54 (never published)
293
+ ============
294
+ - From Windows version of 7-zip 4.54 :
295
+ - Decompression speed was increased
296
+
297
+ Version 4.53
298
+ ============
299
+ - From Windows version of 7-zip 4.53 :
300
+ - The bug in 7-Zip 4.48 - 4.52 beta was fixed:
301
+ 7-Zip could create .ZIP archives with broken files.
302
+ - Some bugs were fixed.
303
+
304
+ Version 4.52 (never published)
305
+ ============
306
+ - From Windows version of 7-zip 4.52 :
307
+ - 7z now can unpack Compound files (msi, doc, ...).
308
+ - Some bugs were fixed (CAB decompressing)
309
+
310
+ - lzma (CPP/7zip/Compress/LZMA_Alone) is now multi-threaded.
311
+
312
+ - fixed #632912 : Extracting large directories takes quadratic time
313
+ (this bug was not fully fixed ...)
314
+
315
+ - fixed : "7za x -odirectory archive.7z" now works even if "directory" is a symbolic link.
316
+
317
+ - makefile.linux_s390x added : support for Linux on IBM z/Series Mainframe with s390x CPU
318
+ (thank y_stephen)
319
+
320
+ - fixed crashes on BeOs with the flag "@filename"
321
+
322
+ - cleanup in the makefile : defining LITTLE_ENDIAN or BIG_ENDIAN is not needed anymore
323
+
324
+ - ppmd.exe added (CPP/7zip/Compress/PPMD_Alone)
325
+
326
+ Version 4.51
327
+ ============
328
+ - From Windows version of 7-zip 4.51 :
329
+ - Bug was fixed: 7-Zip 4.50 beta could not open some .7z archives.
330
+
331
+ - fix built of test_emul
332
+
333
+ Version 4.50 (never published)
334
+ ============
335
+ - From Windows version of 7-zip 4.50 :
336
+ - New switch for command line version:
337
+ -ssc[-] enables/disables case-sensitive mode for file names.
338
+ - Speed optimizations for AES encryption.
339
+ - Some bugs were fixed.
340
+
341
+ - contrib/gzip-like_CLI_wrapper_for_7z/p7zip now supports commands like :
342
+ p7zip -- -name
343
+ p7zip "file name"
344
+ p7zip file1 file2 file3
345
+ p7zip -d file1.7z file2.7z file3.7z
346
+
347
+ never published because this version does not pass my tests.
348
+
349
+ Version 4.49
350
+ ============
351
+ - From Windows version of 7-zip 4.49 :
352
+ - 7-Zip (7z) now can unpack WIM archives
353
+
354
+ - fixed : On Sparc Solaris, core dump during "7z a -sfx exe.x dir" with p7zip compiled with makefile.solaris_sparc_CC_32
355
+
356
+ - some code cleanup
357
+
358
+ - On HPUX, p7zip can get the number of CPU and the size of the memory.
359
+
360
+
361
+ Version 4.48
362
+ ============
363
+ - From Windows version of 7-zip 4.48 :
364
+ - Encryption strength for .7z format was increased.
365
+ Now it uses random initialization vectors.
366
+ - Some bugs were fixed.
367
+
368
+ - fixed #1729236 : Makefile infrastructure not safe for parallel compilation
369
+ (if your make command understands -C and -j4, copy makefile.parallel_jobs over makefile)
370
+
371
+ - Now the executables are not built with the PIC (position-independent code) flag.
372
+ 7z.so are still built with the PIC flag.
373
+ 7za and 7zr are now faster than 7z with 7z.so.
374
+ 7za, 7zr and 7r are now smaller.
375
+
376
+ - contrib/gzip-like_CLI_wrapper_for_7z/p7zip now supports spaces in filename
377
+ and use 7za instead of 7z.
378
+
379
+ - contrib/qnx630sp3 added to support QNX built (thank termterm)
380
+
381
+
382
+ Version 4.47
383
+ ============
384
+ - From Windows version of 7-zip 4.47 :
385
+ - Bugs of 7-Zip 4.46 beta were fixed: BZip2 could work incorrectly
386
+
387
+ Version 4.46 (never published)
388
+ ============
389
+
390
+ - From Windows version of 7-zip 4.46 :
391
+ - New fast compression mode for Deflate method in Zip and GZip.
392
+ - Some bugs were fixed.
393
+
394
+ - LZMA Benchmark :
395
+ - cygwin : RAM size detection
396
+ - computation of the CPU %
397
+
398
+ - fixed #1721827 : install.sh now copies 7z.so
399
+
400
+ - Client7z now uses 7z.so instead of 7za.so
401
+
402
+ - new target : cygwin with asm
403
+
404
+ - LZMA SDK added in the source package (CPP/7zip/Compress/LZMA_Alone)
405
+
406
+ - fixed #1716987 : 7zr removed from 4.45 binary distribution
407
+
408
+ - fixed #1706002 : make and install.sh use the same variables in the same order.
409
+
410
+
411
+ Version 4.45
412
+ ============
413
+
414
+ - From Windows version of 7-zip 4.45 :
415
+ - Default dictionary size was increased: Normal: 16 MB, Max: 32 MB.
416
+ - Speed optimizations.
417
+ - Benchmark was improved (new "b" command in command line version).
418
+ - The number of DLL files was reduced.
419
+ - switch -mhcf=off is not supported now.
420
+ - If -t{Type} switch is not specified, 7-Zip now uses extension of archive to detect the type of archive.
421
+ - Some bugs were fixed (BZip2 in multithread)
422
+ - x86 or x86_64 : ASM version of crc32 available
423
+
424
+ - better detection of executable file (scripts do not need BCJ/BCJ2 filter)
425
+
426
+ - default permissions are now :
427
+ - for a file : -rw-------
428
+ - for a directory : drwx------
429
+
430
+ - on MacOSX, locale is always utf8 (because the MacOSX filesystem supports only utf8 filenames)
431
+
432
+ - makefile.qnx_static and makefile.qnx_shared added (Thank to termterm)
433
+
434
+
435
+ Version 4.44
436
+ ============
437
+
438
+ - From Windows version of 7-zip 4.44 :
439
+ - 7za : Cab support
440
+ - Speed optimizations for LZMA, Deflate, BZip2 and unRAR.
441
+ - fix : now, updating a crypted header archive keeps the crypted header
442
+
443
+ - fixes in the help displayed by 7za/7z/7zr.
444
+
445
+ - code cleanup
446
+ - remove of mySetModuleFileNameA (and its memory leak), GetModuleFileName ...
447
+
448
+ - fixed : p7zip for DJGPP can now update an archive (thank stranix)
449
+
450
+ - fixed : in the plugins of 7z, the "Utf16" state was always off.
451
+
452
+ - fixed : support for directory names that are not encoded with the current locale.
453
+ (ex : directory name is in "iso 8859-15" whereas the locale is "utf8")
454
+
455
+ - patch #1581907 : fix for FreeBSD in contrib/gzip-like_CLI_wrapper_for_7z/p7zip
456
+
457
+ - fixed : p7zip can now restore a symbolic link from a Zip archive (archive.zip made with "zip -y")
458
+ remark/todo : p7zip stores, in a zip archive, the linked file instead of the symbolic link
459
+
460
+ - fixed #1630452 : small fix in the output of the script install.sh
461
+
462
+ - fixed #632912 : Extracting large directories takes quadratic time
463
+
464
+ - preliminary support of HP-UX : remove of RTLD_GROUP for dlopen in DLL.cpp
465
+ makefile.hpux-acc should be able to build 7za for HP-UX (thank furiol)
466
+
467
+ - Client7z added.
468
+
469
+ Version 4.43
470
+ ============
471
+ - From Windows version of 7-zip 4.43 :
472
+ - 7-Zip now can use multi-threading mode for compressing to .ZIP archives.
473
+ - ZIP format supporting was improved.
474
+ - 7-Zip now supports WinZip-compatible AES-256 encryption for .ZIP archives.
475
+ - 7-Zip now uses order list (list of extensions) for files sorting for compressing
476
+ to .7z archives. It can slightly increase compression ratio in some cases.
477
+ - 7-Zip now restores modification time of folders during .7z archives extracting.
478
+ - Some bugs were fixed.
479
+
480
+ - fixed : the user can now see the percentage indicator.
481
+
482
+ - fix "Bugs item #1612285" : doesn't preserve directory timestamps
483
+
484
+ - support added for Tru64 / OSF 5.1 (makefile.tru64)
485
+
486
+ - small fix "Bugs item #1533765" in install.sh (7zr install)
487
+
488
+ - fix "Bugs item #1507913" : "make all" now build 7za and 7zCon.sfx
489
+ following the README.
490
+
491
+ - manpage updated "bugs item #1509098" : exit codes added
492
+
493
+ - manpage updated :-mhe=on (Header encryption) added
494
+
495
+ - install.sh now can install the file README, ChangeLog and the directory DOCS
496
+
497
+
498
+ Version 4.42
499
+ ============
500
+ - From Windows version of 7-zip 4.42 :
501
+ - Some bugs were fixed
502
+
503
+ - the binaries provided by p7zip_4.XY_x86_linux_bin.tar.bz2
504
+ can now run on Fedora x86_64,
505
+ and should now run on any 64bits Linux.
506
+
507
+ - patch #1473746 - gzip-like CLI wrapper (for 7z)
508
+ see the directory "contrib/gzip-like_CLI_wrapper_for_7z".
509
+
510
+ - patch #471478 - Support for OPTFLAGS
511
+ This patch allows to use system specific opt flags.
512
+ example : make OPTFLAGS="-O2 -march=athlon-xp"
513
+
514
+ - the djgpp and cygwin makefile now build "7za" with case insensitive filenames
515
+ (Windows filesystem is case insensitive).
516
+
517
+
518
+ Version 4.41
519
+ ============
520
+ - From Windows version of 7-zip 4.41 :
521
+ - Some bugs were fixed
522
+
523
+
524
+ Version 4.40
525
+ ============
526
+
527
+ - From Windows version of 7-zip 4.40 :
528
+ - 7-Zip now can unpack some installers created by NSIS
529
+ - Some bugs were fixed
530
+
531
+ - format LZH/LHA : fixed directory display during listing or extracting
532
+ (a directory does not end with the path separator)
533
+
534
+ - patch #1470817 - Handle 7zr in install.sh
535
+
536
+ - code cleanup
537
+
538
+
539
+ Version 4.39
540
+ ============
541
+
542
+ - From Windows version of 7-zip 4.39 :
543
+ - Bug in versions 4.33:4.38 was fixed:
544
+ 7-Zip could not correctly compress files larger than 2 GB
545
+ to 7z archive in fast/fastest modes (HC4 match finder).
546
+
547
+
548
+ Version 4.38
549
+ ============
550
+
551
+ - From Windows version of 7-zip 4.38 :
552
+ - Some bugs were fixed.
553
+
554
+ - new manpage : 7zr.1
555
+ - update manpages : 7z.1 and 7za.1
556
+ - new switch : --help
557
+
558
+ - patch #1465026 - Patch for install.sh for packagers
559
+
560
+ - DosDateTimeToFileTime fixed (rar format)
561
+
562
+ - contrib/VirtualFileSystemForMidnightCommander/u7z updated
563
+ (thank sgh_punk)
564
+
565
+
566
+ Version 4.37
567
+ ============
568
+ - From Windows version of 7-zip 4.37 :
569
+ - Some bugs were fixed.
570
+
571
+ - fix build for Solaris sparc with CC instead of g++.
572
+
573
+ - fix build for Solaris 9 x86
574
+ - fix build for Solaris 10 x86
575
+ - fix build for OpenBSD
576
+ - p7zip can now be build with djgpp.
577
+ - new target : 7zr (light version of 7za)
578
+ - new machine : IBM AIX
579
+
580
+ Version 4.36
581
+ ============
582
+ - From Windows version of 7-zip 4.36 :
583
+ - 7-zip now can unpack ISO archives
584
+
585
+ - GCC 4.X : add C++ visibility support to reduce the size of the *.so
586
+ (see makefile.linux_x86_ppc_alpha__gcc_4.X)
587
+
588
+ - cygwin now supports '-o/tmp'
589
+
590
+ Version 4.35
591
+ ============
592
+ - From Windows version of 7-zip 4.35 :
593
+ - New switch : -slt ("l" (list) command with -slt shows technical information for archive).
594
+ - Some bugs were fixed.
595
+
596
+ - From Windows version of 7-zip 4.34 :
597
+ - BZip2 compressing / decompressing now can work in multi-threading mode
598
+ - Multi-threading mode now is default for multi-processor systems
599
+
600
+ Version 4.33
601
+ ============
602
+ - From Windows version of 7-zip 4.33 :
603
+ - Compressing speed and Memory requirements were increased.
604
+ Default dictionary size was increased: Fastest: 64 KB, Fast: 1 MB,
605
+ Normal: 4 MB, Max: 16 MB, Ultra: 64 MB.
606
+ - 64-bit version now supports 1 GB dictionary
607
+ - 7z/LZMA now can use only these match finders: HC4, BT2, BT3, BT4
608
+ - Compression ratio in Zip/GZip/Deflate in Ultra mode was increased
609
+ - Some bugs were fixed
610
+
611
+ - fix "Bugs item #1407358" : Passwords entered are not visible on command line
612
+ if the target has the system function "getpass".
613
+
614
+ - fix "BCJ2" : now p7zip uses the "BCJ2" filter when the file has execute permission
615
+ (7-zip uses the "BCJ2" filter when the filename ends with ".dll", ".exe", ".ocx", ".sfx" or ".sys")
616
+
617
+ - patch #1390722 : no new line at end of file
618
+
619
+ - patch #1390716 : allow compiling with gcc-4.1
620
+
621
+ - patch #1425862 : allow other make programs than GNU make
622
+
623
+ - Testing framework added ("make test" and "make test_7z")
624
+
625
+ - fix 'lstat' : p7zip can compile if 'lstat' is not available
626
+
627
+ Version 4.30
628
+ ============
629
+ - From Windows version of 7-zip 4.30 :
630
+ - Speed optimizations in LZMA maximum/ultra compressing.
631
+ - LZMA now supports word size up to 273
632
+ - 7-Zip now reduces dictionary size for LZMA, if you compress files
633
+ smaller than specified dictionary size.
634
+ - Some bugs were fixed
635
+
636
+ - fix minor build trouble with MacOS X
637
+ - fix "Bugs item #1349229" : 7-zip now displays "e: Extract files from archive (without using directory names)"
638
+
639
+ Version 4.29
640
+ ============
641
+
642
+ - fix "Bugs item #1305781" : "7z a -sfx" sets the execute-flag
643
+ and does not add ".exe" extension.
644
+
645
+ - fix "Bugs item #1306783" : "7za a /tmp/t.7z /etc/passwd"
646
+
647
+ - fix "Bugs item #1304797" : @lists don't handle files starting with ./
648
+
649
+ - fix "Bugs item #1309287" : man 7za fails after install
650
+
651
+ Version 4.27
652
+ ============
653
+ - From Windows version of 7-zip 4.27 :
654
+ - new plugin for 7z : 7-Zip can unpack CHM/HXS (MS HTML HELP) archives
655
+ - cab plugin for 7z : 7-Zip can unpack multivolume CAB archives
656
+ - Some bugs were fixed
657
+ - better support for 64bits (PPMD coder/decoder)
658
+
659
+ Version 4.26
660
+ ============
661
+ - From Windows version of 7-zip 4.26 :
662
+ - new plugin for 7z : LZH format support (extracting only)
663
+
664
+ - fix (courtesy from Robert Millan) to make p7zip compile on GNU/kFreeBSD.
665
+
666
+ - fix "Bug item #1273057", now "7z -so -t7z a dummy.7z file >output.7z" does not
667
+ finish with a "Segmentation fault (core dumped)".
668
+
669
+ - fix "Bug item #1221056", now, makefile for p7zip use the flag "-O" to
670
+ support compilers that build invalid programs with the flag "-O2".
671
+
672
+ Version 4.25
673
+ ============
674
+ - From Windows version of 7-zip 4.25 :
675
+ - Some bugs were fixed
676
+ - DOCS/MANUAL/exit_codes.htm added
677
+
678
+ - new plugin for 7z : RAR format support (extracting only)
679
+
680
+ - better dependencies in makefile
681
+
682
+ Version 4.23
683
+ ============
684
+ - From Windows version of 7-zip 4.23 :
685
+ - Some bugs were fixed
686
+
687
+ - manpages for 7za and 7z updated by Mohammed Adnene Trojette.
688
+
689
+ - little fix for the help message of 7za or 7z.
690
+
691
+ - bug #1224304 : Files and directories with \ in name not handled properly.
692
+
693
+ - fix for tar archives that have pax header.
694
+
695
+ Version 4.20
696
+ ============
697
+
698
+ - From Windows version of 7-zip 4.19 and 4.20 :
699
+ - BZip2 code was rewritten. Now it supports 3 modes: Normal, Maximum and
700
+ Ultra. In Normal mode it compresses almost as original BZip2 compressor.
701
+ Compression ratio in Maximum and Ultra modes is 1-3% better for some files,
702
+ but Maximum Mode is about 3 times slower and Ultra Mode is about 8 times
703
+ slower than Normal mode.
704
+ - Console version now prints all messages to stdout by default,
705
+ and if -so switch is specified, 7-Zip prints messages to stderr.
706
+ - Some bugs were fixed
707
+
708
+ - Updating "contrib/VirtualFileSystemForMidnightCommander/" with u7z-4.16beta.tar.bz2
709
+
710
+ - bug #1204993 (does not find broken filenames)
711
+
712
+ - bug #1201244 (Missing files in p7zip_4.18_x86_linux_bin.tar.bz2)
713
+
714
+ - makefile.linux_x86_ppc_alpha : flag "-fPIC" added
715
+
716
+ - flag "-l" added.
717
+ without : p7zip stores symlinks (like p7zip 4.18)
718
+ with "-l" : p7zip stores the files/directories pointed by symlinks (like before p7zip 4.18)
719
+ CAUTION : the scanning stage can never end because of symlinks like ".."
720
+ (ex: ln -s .. ldir)
721
+
722
+ Version 4.18
723
+ ============
724
+
725
+ - From Windows version of 7-zip 4.18 and 4.17 :
726
+ - minor fixes
727
+
728
+ - p7zip can now store and restore :
729
+ - symbolic links,
730
+ - file permission bits
731
+ Remark : for directory, restored_perm = stored_perm | 0700 .
732
+
733
+ - fix in install.sh
734
+
735
+ - On MacOSX, p7zip now restore times of a file.
736
+
737
+ - more detailed errors during scanning stage.
738
+
739
+
740
+ Version 4.16
741
+ ============
742
+
743
+ - From Windows version of 7-zip 4.16 :
744
+ - Speed optimization (5%) for 7z / LZMA
745
+ - 7za now supports .Z archives
746
+ - -r- switch in command line now is default for all commands
747
+ - Some bugs were fixed
748
+ - bug #1119193 (list mode output confusing/wrong)
749
+
750
+ - From Windows version of 7-zip 4.15 :
751
+ - Z format supporting (extracting only)
752
+ - 7-Zip now can extract ZIP archives compressed with "Shrink" method
753
+ - 7-Zip now doesn't interrupt the compressing when it can not open file.
754
+ 7-Zip just skips that file and shows warning.
755
+ - Some bugs were fixed
756
+
757
+ - man pages added (thank Mohammed Adnene Trojette)
758
+ - bug #1112167 fixed (Temporary directory must be on same partition as target)
759
+ p7zip failed moving the temporary file at the end of
760
+ compressing to target file if the directories don't reside
761
+ on the same partition (or network path).
762
+ - bug #1164659 fixed (Invalid file date for "big endian" machine)
763
+ - p7zip now uses ".so" instead of ".dll"
764
+ - p7zip now handles "ctrl-c" and "kill" to cleanup temporary files before exiting
765
+ - p7zip now runs on BeOS.
766
+ - better support of filenames with spaces.
767
+ - some code cleanup
768
+ - "myWindows/myFiles.cpp" is now in "Windows/FileIO.cpp"
769
+ - "myWindows/myFindFile.cpp" is now in "Windows/FileFind.cpp"
770
+ - "myWindows/myDirectoryAndPath.cpp" is now in "Windows/FileDir.cpp"
771
+ - "myWindows/myEvents.cpp" is now in "Windows/Synchronization.cpp"
772
+ - "myWindows/wine_strings.cpp" is now in "Windows/String.cpp"
773
+
774
+
775
+ Version 4.14.01
776
+ ===============
777
+ - huge speed up for multi CPUs machines (Thanks to loderunner - http://sourceforge.net/users/loderunner/).
778
+ - some code cleanup
779
+ - Fix problems with link files or directories.
780
+ - "7z a dummy -tgzip -so Doc.txt > archive.gz" now works.
781
+ - in the messages, the path separator is now '/' instead of '\'.
782
+
783
+ Version 4.14
784
+ ============
785
+
786
+ - From Windows version of 7-zip 4.14 :
787
+ - STL using was reduced
788
+ - 7za now supports Split(001) archives
789
+ - "7za | more" now works
790
+ - Bugs item #1093095 : Usage banner now says "7za" (instead of "7z") when the binary is "7za"
791
+
792
+ - use of AString instead of std::string (no more need of #include <string>")
793
+ - makefile.linux_gcc_2.95_no_need_for_libstdc added to build 7za for the
794
+ p7zip*_bin.tar.bz2 package.
795
+ 7za provided by p7zip*_bin.tar.bz2 is build on Debian 3.0 with gcc 2.95.4
796
+ and should now find the locale on all kinds of Linux (Debian, Fedora, Mandrake, ...).
797
+
798
+ Version 4.13
799
+ ============
800
+ - new port of 7za from the source of 7za 4.13Beta for Windows
801
+
802
+ - From Windows version of 7-zip 4.13 :
803
+ - Switch "--" stops switches parsing
804
+ - Some bugs were fixed
805
+ - User's manual updated (DOCS/MANUAL/index.htm)
806
+
807
+ - makefile.netbsd_x86 added [Bug #1069055].
808
+
809
+ - new method to install 7z and its plugins (the "link" method do no work)
810
+
811
+ - installer added (install.sh).
812
+
813
+ - makefile.macosx_with_fink becomes makefile.macosx
814
+ and makefile.macosx uses c++ instead of CC
815
+ (on some MacOSX, CC is a link to gcc instead of g++)
816
+
817
+ - new flag "-utf16" to enable "utf16" conversion [Bug #1075229].
818
+
819
+ - new logic to automatically enable or disable "utf16" conversion :
820
+ no locale, locale=="C" or locale=="POSIX" implies utf16=off
821
+ else utf16=on
822
+ uses "-utf16" or "-no-utf16" to change this behaviour.
823
+ [Bug #1075229]
824
+
825
+ - 7z (compiled with -O2) works now on Sparc Solaris.
826
+
827
+ Version 4.12
828
+ ============
829
+ - new port of 7za from the source of 7za 4.12Beta for Windows
830
+
831
+ - From Windows version of 7-zip 4.11 and 4.12 :
832
+ - 7-Zip now supports Zip64 extension of ZIP format. So now it's
833
+ possible to compress files bigger than 4 GB to ZIP archives.
834
+ - Some bugs were fixed
835
+
836
+ - fix "7za a archive.7z file" that added all the files and directories
837
+ with filename "file", "FILE", "File" ...
838
+
839
+ - p7zip now displays the locale (ex : en_US.UTF-8) in the banner.
840
+
841
+ - new flag "-no-utf16" to avoid lossly conversion in filenames.
842
+ CAUTION : use this flag when you do not plan to export your archive.
843
+
844
+ - support creation of self extracting archive.
845
+
846
+ - better support of symbolic link (now, an invalid symbolic link
847
+ do not stop archiving but displays a warning).
848
+
849
+ - better support of files that the user cannot read.
850
+ (now this kind of file is not added to the archive, and p7zip displays a warning).
851
+
852
+ - return of 7z and its plugins.
853
+
854
+ - support of listing/testing/extracting files from a splitted archive (only with 7z).
855
+
856
+ - support of MacOX X 10.X.
857
+
858
+ - creation of Gzip/Tar archives didn't work on Linux Alpha.
859
+
860
+ - see "contrib/VirtualFileSystemForMidnightCommander/readme" to use 7za with "mc".
861
+
862
+ Version 4.10
863
+ ============
864
+ - new port of 7za from the source of 7za 4.10Beta for Windows
865
+ => p7zip now work on big endian CPU.
866
+
867
+ - 7z for Unix is not maintain anymore (because as the source of unrar plugin for 7z
868
+ is not available, 7z is unless on Unix).
869
+
870
+ Version 0.91
871
+ ============
872
+ - add support for FreeBSD 5.2.1
873
+ In Windows/Time.h add "#include <time.h>"
874
+ and prototype change for FileTimeToUnixTime()
875
+
876
+ - bug 990684 Corrected : support of filesystem
877
+ that support case sensitive filenames.
878
+ Example, since version 0.91 :
879
+ "7z a glibc -r glibc-2.3.2"
880
+ does not terminate with error :
881
+ Duplicate filename:
882
+ glibc-2.3.2\sysdeps\m88k\m88100\add_n.S
883
+ glibc-2.3.2\sysdeps\m88k\m88100\add_n.s
884
+
885
+ Version 0.90
886
+ ============
887
+ - build of 7z.exe and its DLL.
888
+ 7z.exe support more archive formats than 7za.exe
889
+ thanks to DLL in Formats and Codecs directories
890
+ - "#pragma once" is now in comments
891
+ - mainly For OpenBSD :
892
+ - add #include <wchar.h> in include_windows/winnt.h
893
+ - remove stuff for GUID_SECTION and GUID_SECT in include_windows/basetyps.h
894
+ and include_windows/initguid.h
895
+ - some changes in 7zip/Crypto/aesopt.h because of endian.h
896
+
897
+ Version 0.81
898
+ ============
899
+ - add a copy of the help of 7-zip (see html directory)
900
+ - "7z a -r tmp.7z directory" works as expected.
901
+ no more need for commands like : 7z a -r tmp.7z "directory/*"
902
+ - 7z restores the date of each files (but not directories)
903
+ - 7z supports UNICODE filenames (version 0.80 supports only ASCII/Latin1 filenames)
904
+ - support of gcc 2.95
905
+ - support of gcc 3.4
906
+ - 7z needs no more libgen.h (dirname() and basename())
907
+ - less "Internal Error #7" during arguments parsing
908
+ - minor change in class CThread
909
+
910
+ Version 0.80
911
+ ============
912
+ - First public release
913
+ - support of gcc 3.2 and 3.3
914
+