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