1539 Commits
Author SHA1 Message Date
Timofey Solomko f4786d0cba Parse files' properties 2017-07-28 18:59:30 +03:00
Timofey Solomko b8ca1f5e29 Extract packed header processing code into initializer 2017-07-25 22:17:19 +03:00
Timofey Solomko 27ca50ecfb Correctly unpack LZMA/LZMA2 packed headers 2017-07-25 22:03:33 +03:00
Timofey Solomko c608d2b48f Add ability to specify lzma properties for LZMADecoder externally 2017-07-25 22:02:56 +03:00
Timofey Solomko af5b4402e9 Some small improvements to LZMADecoder code 2017-07-25 21:17:51 +03:00
Timofey Solomko 0287bd4443 Make 7zCoder equatable; add packed header processing 2017-07-25 21:17:36 +03:00
Timofey Solomko 133d2325fc Another iteration of 7zip implementation
Extracted 7zProperty into a separate file; converted all structs to classes (to eliminates cows); replaced switches with ifs to ensure correct order of structures; overall completed implementation of structures (except fileinfo properties and packed header); codec renamed to coder.
2017-07-25 17:35:03 +03:00
Timofey Solomko 2f75d9b53b Fix szMbd typo 2017-07-25 14:09:56 +03:00
Timofey Solomko 0b3d8523bd Numerous changes to 7z code
Added correct verion of DWP.multiByteDecode for 7-zip; added detection of packed headers, as well as reading of their streaminfos; added SevenZipProperty struct which used as ArchiveProperties in header and as Properties in FilesInfo (for now, until parsing of these properties is added).
2017-07-25 13:58:25 +03:00
Timofey Solomko adf55c3d64 Revert "Extract multiByteDecode for use in 7z"
This reverts commit e390e582b1.
2017-07-25 13:42:20 +03:00
Timofey Solomko 097aaf7b24 Complete 7zip structures implementations
Though some questions, problems and opportunities for improvements are remaining.
2017-07-25 00:35:57 +03:00
Timofey Solomko f76c2b575a More 7z progress 2017-07-18 23:28:17 +03:00
Timofey Solomko 507db69ddb Add a lot of 7z related files for structures 2017-07-18 21:06:37 +03:00
Timofey Solomko e390e582b1 Extract multiByteDecode for use in 7z 2017-07-18 21:06:22 +03:00
Timofey Solomko dbb876dec4 Add some structures and code for 7z 2017-07-18 20:25:42 +03:00
Timofey Solomko b5c0032f38 First steps in 7z development 2017-07-18 18:50:27 +03:00
Timofey Solomko 5219240cb7 Prepare for 3.2.0 2017-07-16 11:07:58 +03:00
Timofey Solomko ffe8be6d37 Set correct offset to the beginning of end of CD record 2017-07-16 10:59:49 +03:00
Timofey Solomko dbfdcb5c58 Zip cdEntry.fileName is now let again 2017-07-16 10:53:07 +03:00
Timofey Solomko 4f64d9cde8 Mention creationDate in comments of tarentry entryattributes 2017-07-16 10:34:56 +03:00
Timofey Solomko 83849ce616 Swiftlint autocorrect 2017-07-16 00:16:42 +03:00
Timofey Solomko 61c3db34cc Fix linux compatibility issues in Zip
Swift on Linux requires explicitly include CoreFoundation; there are some problems with CFStringEncodings enum and you have to use raw constants; CFStringEncoding is different type than raw constant of encoding number.
2017-07-16 00:13:54 +03:00
Timofey Solomko 070af415f6 Add tar creation time to entryAttributes 2017-07-15 22:10:23 +03:00
Timofey Solomko 0b611edbea Fix problem with repeated access to zip entry's data 2017-07-15 22:08:33 +03:00
Timofey Solomko 32394d66c0 Prepare for test release 2017-07-15 21:09:17 +03:00
Timofey Solomko e2bc619832 Support creation time in TarEntry 2017-07-15 20:59:10 +03:00
Timofey Solomko f91908689b Use entryAttributes in ZipEntry.isDirectory 2017-07-15 20:57:12 +03:00
Timofey Solomko 6e2ddefbb5 Move tar long names parsing from entry to container 2017-07-15 20:47:57 +03:00
Timofey Solomko 7ba077aab7 Extract some common code for ZIP 2017-07-15 20:03:25 +03:00
Timofey Solomko fad0e5c83a Add support for ZIP standard cp437 encoding
This encoding is used by ZIP standard. We fallback to UTF-8 encoding if CP437 encoding is unavailable on the platform or it is detected that the text is actually in UTF-8 encoding. The latter is needed because files created by Info-ZIP with UTF-8 names doesn't actually have bit flag which is required (again, according to standard) for UTF-8.
2017-07-14 18:11:00 +03:00
Timofey Solomko 81e1d1cee0 Write checksum tables in hex 2017-07-14 15:23:15 +03:00
Timofey Solomko e78f67aa0b Use overflow operators 2017-07-13 23:22:39 +03:00
Timofey Solomko 228e499287 Use bitReader in ZIP only when necessary 2017-07-13 23:18:15 +03:00
Timofey Solomko 8b8fc3f3c8 Fix problem with decompressing bzip2 in zip files
This problem appeared because bzip2 uses "straight" bit order instead of reversed.
2017-07-09 13:55:20 +03:00
Timofey Solomko 73e739135e Add function to BitReader which returns another BitReader with opposite bitOrder
It will be used in Zip bzip2 decompression.
2017-07-09 13:54:30 +03:00
Timofey Solomko a9cdb50e85 Remove intFromAlignedBytes function
Also changes were made to adopt this removal. This was done to improve behavior in some corner cases as well as enforce intentional usage of particular integer types.
2017-07-09 13:29:33 +03:00
Timofey Solomko 9a4e1d6219 Add several toInt extensions to number types 2017-07-09 13:26:48 +03:00
Timofey Solomko eeefa31be0 Rename BitToByteWriter to BitWriter 2017-07-09 13:06:25 +03:00
Timofey Solomko ab931aa031 Rename DWP's prevAlignedByte to previousByte 2017-07-09 13:05:14 +03:00
Timofey Solomko cec206e672 Improve usage of DWP functions in some places 2017-07-09 13:04:09 +03:00
Timofey Solomko 6cd86a9aef Add uint16 function to DWP and BitReader 2017-07-09 13:03:47 +03:00
Timofey Solomko 98383f2bed Fix problem with reading zip64 data descriptor 2017-07-09 13:02:53 +03:00
Timofey Solomko cd6b748adb Fix problems with reading zip64 end of CD locator 2017-07-09 12:58:27 +03:00
Timofey Solomko 6bd66e4717 Reduce size of DWP functions' names
Also provide default values for count argmunets in uint32 and uint64 functions.
2017-07-09 12:44:03 +03:00
Timofey Solomko 369da20c16 Adopted DWP-BitReader split everywhere
I've also removed a most occurrences of inout keyword because DWP (and BitReader) are classes and they are already passed by reference in arguments.
2017-07-08 22:02:32 +03:00
Timofey Solomko 6eb62fc087 Adopted new BitOrder location for BitToByteWriter 2017-07-08 22:02:32 +03:00
Timofey Solomko af90da9eba Fix misaligned bytes from BitReader
Added overrides of DWP functions which call skipUntilNextByte() before calling superclass functions therefore restoring old behavior.
2017-07-08 22:02:32 +03:00
Timofey Solomko a4cd339fc4 Separated byte and bit reading parts of DWP into distinct class 2017-07-08 22:02:26 +03:00
Timofey Solomko dc49484cd5 Remove unnecessary pointerData arguments and properties from some internal LZMA classes 2017-07-08 17:26:32 +03:00
Timofey Solomko 850b82f49d Update copyright header in LZMA sources 2017-07-08 17:06:22 +03:00