ObjFW  History of src/OFZIPArchive.h of 6334474ec09e3628

History of the file that is called src/OFZIPArchive.h at check-in 6334474ec09e3628

2024-04-29
21:42
[e571bce84b] part of check-in [f16bccc7b3] Properly hide private symbols (check-in: [f16bccc7b3] user: js, branch: trunk, size: 9104) [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
[f4b92af793] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 9060) [annotate] [blame] [check-ins using] [diff]
2024-02-27
20:21
[29f3ae5f0c] part of check-in [402b0a26e6] Minor documentation fix (check-in: [402b0a26e6] user: js, branch: trunk, size: 8852) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[0e8d7ea161] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 8854) [annotate] [blame] [check-ins using] [diff]
2023-07-25
21:21
[a8992114f0] part of check-in [d6f5e2abc5] OFZIPArchive: Handle files spanning multiple parts (check-in: [d6f5e2abc5] user: js, branch: trunk, size: 8854) [annotate] [blame] [check-ins using] [diff]
2023-07-23
23:35
[11e4bf42cf] part of check-in [630ea6bc5a] OFZIPArchive: Initial support for split archives

This cannot yet extract a file from the archive if the file spans
multiple parts. However, for a multipart archive with multiple files,
all files that only span a single part can be extracted. (check-in: [630ea6bc5a] user: js, branch: trunk, size: 8844) [annotate] [blame] [check-ins using] [diff]

2023-03-18
22:43
[82b11667ec] part of check-in [89a51dab69] OFZIPArchive: Only use data descriptor if needed (check-in: [89a51dab69] user: js, branch: trunk, size: 7844) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[3c9f652c27] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 7832) [annotate] [blame] [check-ins using] [diff]
2022-12-04
11:11
[a6ac88ccb1] part of check-in [b76008cee0] Fix several Doxygen warnings (check-in: [b76008cee0] user: js, branch: trunk, size: 7832) [annotate] [blame] [check-ins using] [diff]
2022-11-24
00:21
[4188dbeefa] part of check-in [23272e6d43] Rename OFURI to OFIRI (check-in: [23272e6d43] user: js, branch: trunk, size: 7776) [annotate] [blame] [check-ins using] [diff]
2022-10-20
13:16
[b8f3f259b0] part of check-in [9cc462339e] Document more exceptions (check-in: [9cc462339e] user: js, branch: trunk, size: 7774) [annotate] [blame] [check-ins using] [diff]
2022-10-11
00:28
[f20f6f1fc0] part of check-in [a8bc0b31d0] +[URIForFile{ -> Path}:inArchive{ -> WithURI}:] (check-in: [a8bc0b31d0] user: js, branch: trunk, size: 6508) [annotate] [blame] [check-ins using] [diff]
2022-10-09
16:19
[2297e4dbb2] part of check-in [6527c97d03] OFZIPArchive: Make returned streams retain archive

In order to not create a retain cycle, this changes the reference to the
last returned stream to an unsafe unretained one that the stream itself
needs to reset to nil in its dealloc.

Since when closing a stream for writing the archive needs to be updated,
the code for that was moved out of OFZIPArchive and into the stream
writer, since it now has a reference to the archive anyway. (check-in: [6527c97d03] user: js, branch: trunk, size: 6505) [annotate] [blame] [check-ins using] [diff]

2022-10-04
21:33
[e88e9d721e] part of check-in [19bbbbd95d] Add +[OFZIPArchive URIForFile:inArchive:]

This allows constructing a URI to access a file within an archive. (check-in: [19bbbbd95d] user: js, branch: trunk, size: 6416) [annotate] [blame] [check-ins using] [diff]

2022-09-28
21:40
[56eecfe29a] part of check-in [e7ab06503c] Rename OFUR{L -> I} in preparation for URI support (check-in: [e7ab06503c] user: js, branch: trunk, size: 6052) [annotate] [blame] [check-ins using] [diff]
2022-08-15
23:02
[b2dd9ca588] part of check-in [fee2316eca] OF{LHA,Tar,ZIP}Archive: Use URL instead of path (check-in: [fee2316eca] user: js, branch: trunk, size: 6052) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[cd08e80056] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 6122) [annotate] [blame] [check-ins using] [diff]
2021-04-28
20:56
[3dde37049e] part of check-in [fc4697adbf] OF{LHA,ZIP}Archive: Make mode enum private (check-in: [fc4697adbf] user: js, branch: trunk, size: 6122) [annotate] [blame] [check-ins using] [diff]
2021-04-18
22:56
[35e140687b] part of check-in [e73c65a849] Rename all symbols marked extern (check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 6192) [annotate] [blame] [check-ins using] [diff]
2021-04-17
18:36
[12eebcf96b] part of check-in [aa74e85220] Rename all remaining enums (check-in: [aa74e85220] user: js, branch: new-naming-convention, size: 5924) [annotate] [blame] [check-ins using] [diff]
2021-03-07
15:07
[6e903727fb] part of check-in [1948e7e972] *.h: Fold methods into one line where it fits (check-in: [1948e7e972] user: js, branch: trunk, size: 5936) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[c179867587] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 5953) [annotate] [blame] [check-ins using] [diff]
2020-10-03
11:35
[e60923cb94] part of check-in [163a4a5a2e] Use /** */ instead of /*! */ for documentation (check-in: [163a4a5a2e] user: js, branch: trunk, size: 6042) [annotate] [blame] [check-ins using] [diff]
2020-09-27
03:08
[2ca7bfb5c8] part of check-in [9e9ce6aa1c] Work around bugs in Apple GCC 4.0.1

Still miscompiles things. (check-in: [9e9ce6aa1c] user: js, branch: trunk, size: 6042) [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
[3f137fd732] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 5804) [annotate] [blame] [check-ins using] [diff]
2019-09-29
19:35
[f47223fd79] part of check-in [496695d778] Either restrict subclassing or reserve ivar space

This allows ABI stability with the fragile ABI. (check-in: [496695d778] user: js, branch: trunk, size: 5801) [annotate] [blame] [check-ins using] [diff]

2019-03-08
00:35
[4b0bcbe6e5] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 5775) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[56b243376c] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 5809) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[81199c3891] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 5803) [annotate] [blame] [check-ins using] [diff]
2017-11-18
18:50
[5fa883d497] part of check-in [cc3ad3ddd3] Documentation: Use @brief for all properties (check-in: [cc3ad3ddd3] user: js, branch: trunk, size: 5780) [annotate] [blame] [check-ins using] [diff]
2017-10-29
21:58
[29c18aa319] part of check-in [f3ccf14461] Convert methods to properties where appropriate

This improves Swift compatibility. (check-in: [f3ccf14461] user: js, branch: trunk, size: 5764) [annotate] [blame] [check-ins using] [diff]

2017-10-17
00:33
[f753feb424] part of check-in [2f4e0df8be] Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. (check-in: [2f4e0df8be] user: js, branch: trunk, size: 5828) [annotate] [blame] [check-ins using] [diff]

2017-09-26
22:01
[c1d40e93ed] part of check-in [319709fff1] Many nullability fixes (check-in: [319709fff1] user: js, branch: 0.90, size: 3626) [annotate] [blame] [check-ins using] [diff]
21:53
[8859760d81] part of check-in [52011fbfd6] Many nullability fixes (check-in: [52011fbfd6] user: js, branch: trunk, size: 5786) [annotate] [blame] [check-ins using] [diff]
2017-08-11
22:26
[0c8af20565] part of check-in [9db36c14b5] Always have retain / copy before nonatomic (check-in: [9db36c14b5] user: js, branch: trunk, size: 5766) [annotate] [blame] [check-ins using] [diff]
2017-08-06
19:40
[d9e0114a00] part of check-in [4594f434e7] OFZIPArchive: Add write and append support (check-in: [4594f434e7] user: js, branch: trunk, size: 5766) [annotate] [blame] [check-ins using] [diff]
2017-08-05
18:00
[b0cecbd912] part of check-in [c404c33cf1] OFZIPArchive: Don't require an OFSeekableStream

This is now only necessary for reading and appending. (check-in: [c404c33cf1] user: js, branch: trunk, size: 4634) [annotate] [blame] [check-ins using] [diff]

15:22
[fba8310c32] part of check-in [0c5035dd3f] OFTarArchive: Add write and append support (check-in: [0c5035dd3f] user: js, branch: trunk, size: 4563) [annotate] [blame] [check-ins using] [diff]
2017-08-02
20:04
[86ef82b330] part of check-in [22a6ad346c] OFZIPArchive: Prepare for adding write support (check-in: [22a6ad346c] user: js, branch: trunk, size: 4551) [annotate] [blame] [check-ins using] [diff]
2017-06-05
18:56
[b61ed08fb0] part of check-in [4b6dfe02f2] Doxyfile: Add missing defines (check-in: [4b6dfe02f2] user: js, branch: trunk, size: 3606) [annotate] [blame] [check-ins using] [diff]
2017-05-08
21:37
[e7781533c2] part of check-in [469a496cd2] Add OF_DESIGNATED_INITIALIZER & OF_METHOD_FAMILY (check-in: [469a496cd2] user: js, branch: trunk, size: 3629) [annotate] [blame] [check-ins using] [diff]
2017-05-07
23:14
[dcc2238569] part of check-in [16c05e87e1] Add OF_UNAVAILABLE (check-in: [16c05e87e1] user: js, branch: trunk, size: 3603) [annotate] [blame] [check-ins using] [diff]
20:10
[490d5f93ce] part of check-in [4af49a13c3] Small code style change

Casts are now written like types in variable declarations. (check-in: [4af49a13c3] user: js, branch: trunk, size: 3579) [annotate] [blame] [check-ins using] [diff]

2017-04-30
13:35
[f0d277203d] part of check-in [0a73af49f0] Use nonatomic for properties and clean up

This changes retaining behavior, meaning properties are not returned
retained and autoreleased anymore, so a property returned from a getter
now needs to be manually retained and autoreleased before calling the
setter. However, this is rarely the case and not using atomic improves
performance. (check-in: [0a73af49f0] user: js, branch: trunk, size: 3568) [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
[5949a379de] part of check-in [44f45c2e35] Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. (check-in: [44f45c2e35] user: js, branch: trunk, size: 3563) [annotate] [blame] [check-ins using] [diff]

2016-05-22
13:45
[d7df6eb922] part of check-in [080eb2f31b] Build OFZIPArchive even with --disable-files

OFZIPArchive only needs an OFSeekableStream. (check-in: [080eb2f31b] user: js, branch: trunk, size: 3557) [annotate] [blame] [check-ins using] [diff]

2016-05-06
20:39
[6e5b0f1086] part of check-in [2a2e17d8d0] Enable -Wsign-compare (check-in: [2a2e17d8d0] user: js, branch: trunk, size: 3501) [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:43
[004e0f83a8] part of check-in [cec0f072f8] Update copyright

While at it, also update the mail address. (check-in: [cec0f072f8] user: js, branch: 0.8, size: 3680) [annotate] [blame] [check-ins using] [diff]

00:41
[b06c2b3997] part of check-in [2a27cf3000] Update copyright

While at it, also update the mail address. (check-in: [2a27cf3000] user: js, branch: trunk, size: 3492) [annotate] [blame] [check-ins using] [diff]

2015-11-29
11:43
[7e5e23797a] part of check-in [48980f2297] Make properties a requirement and clean up code

This increases the required GCC version from 4.0 to 4.6 (exception:
Apple GCC, which already supports this with >= 4.0 starting with OS X
10.5). Since even GCC 4.6 is really old by now, there is no point in
still supporting something even older and making the code ugly because
of that. While some hardware and OS support was dropped from GCC 4.6
compared to GCC 4.0, there is nothing in there that would be an
interesting target with the exception of BeOS maybe - but a port to BeOS
can also be achieved using the Haiku support. The other dropped OSes are
mostly old versions of OSes while newer ones are still being supported
(and those newer versions of those OSes still support the same
hardware). (check-in: [48980f2297] user: js, branch: trunk, size: 3488) [annotate] [blame] [check-ins using] [diff]

2015-06-13
22:26
[d2c0dfdef8] part of check-in [9e76144ef8] Add support for and use the new nullability (check-in: [9e76144ef8] user: js, branch: trunk, size: 3676) [annotate] [blame] [check-ins using] [diff]
2015-06-12
23:59
[3ce281f546] part of check-in [5329fe7c1a] Add support for and use the new ObjC generics (check-in: [5329fe7c1a] user: js, branch: trunk, size: 3628) [annotate] [blame] [check-ins using] [diff]
2015-05-09
21:29
[54dc543184] part of check-in [aa1bb213e0] OFZIPArchive: Remove OFFile requirement

Every OFSeekableStream can be used now. (check-in: [aa1bb213e0] user: js, branch: trunk, size: 3357) [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
[6f0db8ecd4] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 2535) [annotate] [blame] [check-ins using] [diff]
2014-02-18
18:50
[cbea88e7e9] part of check-in [246cfe0807] Documentation: Show correct imports (check-in: [246cfe0807] user: js, branch: trunk, size: 2529) [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
[675837bb30] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 2467) [annotate] [blame] [check-ins using] [diff]
2013-11-06
20:58
[471313a18b] part of check-in [be628bbb84] OFZIPArchive: Do not sort -[entries].

While sorting -[entries] reduces hard disk seeks, it allows a denial of
service by creating an archive with a huge central directory without
actual files. As usually the order in the central directory matches the
order of the actual files, this minor speed increase is not worth the
attack vector. (check-in: [be628bbb84] user: js, branch: trunk, size: 2461) [annotate] [blame] [check-ins using] [diff]

11:36
[321e6d1503] part of check-in [7d11e6e4e6] OFZIPArchive: Add support for ZIP64. (check-in: [7d11e6e4e6] user: js, branch: trunk, size: 2502) [annotate] [blame] [check-ins using] [diff]
2013-10-30
17:06
[71d41cfc2a] part of check-in [95f6035588] OFZIPArchive: Return entries in a sorted array. (check-in: [95f6035588] user: js, branch: trunk, size: 2502) [annotate] [blame] [check-ins using] [diff]
2013-10-10
13:36
[ae45487a3e] part of check-in [53e46a8326] OFZIPArchive: Add support for deflate.

Also adds support for data descriptors. (check-in: [53e46a8326] user: js, branch: trunk, size: 2282) [annotate] [blame] [check-ins using] [diff]

2013-08-15
19:00
[2b8cc476e1] part of check-in [1d7a1cbca0] Move private methods into private headers. (check-in: [1d7a1cbca0] user: js, branch: trunk, size: 2282) [annotate] [blame] [check-ins using] [diff]
2013-08-14
19:30
[da67b3e3b1] part of check-in [81f3ac43a6] Rename +[archiveWithFile:] to +[archiveWithPath:]. (check-in: [81f3ac43a6] user: js, branch: trunk, size: 2331) [annotate] [blame] [check-ins using] [diff]
13:18
[2c343cc625] part of check-in [2168071f36] OFZIPArchive: Make meta data of files available. (check-in: [2168071f36] user: js, branch: trunk, size: 2331) [annotate] [blame] [check-ins using] [diff]
2013-08-12
21:59
Added: [58ddf733c1] part of check-in [1c78b3a4db] OFZIPArchive: Initial implementation.

Still a lot to do, see list of FIXMEs in the source. (check-in: [1c78b3a4db] user: js, branch: trunk, size: 2271) [annotate] [blame] [check-ins using]