ObjFW  History of src/OFTarArchive.m of f5558d09197ccc7f

History of the file that is called src/OFTarArchive.m at check-in f5558d09197ccc7f

2024-04-29
21:42
[300800373d] part of check-in [f16bccc7b3] Properly hide private symbols (check-in: [f16bccc7b3] user: js, branch: trunk, size: 11480) [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
[67f03e487e] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 11479) [annotate] [blame] [check-ins using] [diff]
2024-04-02
01:33
[2181e993e8] part of check-in [9c7610b3b7] OFTarArchive: Fix a memory leak (check-in: [9c7610b3b7] user: js, branch: 1.0, size: 11294) [annotate] [blame] [check-ins using] [diff]
01:33
[4064e91319] part of check-in [ea9079b62b] OFTarArchive: Fix a memory leak (check-in: [ea9079b62b] user: js, branch: trunk, size: 11271) [annotate] [blame] [check-ins using] [diff]
2024-03-03
19:42
[1855b6b9b8] part of check-in [13f0321eff] Rename schemes for archive IRI handlers

Some names are too generic and might cause conflicts (e.g. zoo). (check-in: [13f0321eff] user: js, branch: trunk, size: 11241) [annotate] [blame] [check-ins using] [diff]

2024-02-27
21:07
[1f37604a46] part of check-in [7234d82dff] Add missing imports when using --disable-sockets (check-in: [7234d82dff] user: js, branch: 1.0, size: 11250) [annotate] [blame] [check-ins using] [diff]
21:06
[23e0c065c8] part of check-in [2d14df1979] Add missing imports when using --disable-sockets (check-in: [2d14df1979] user: js, branch: trunk, size: 11227) [annotate] [blame] [check-ins using] [diff]
2024-02-03
11:41
[810fd76094] part of check-in [7324ec8590] Update copyright (check-in: [7324ec8590] user: js, branch: 1.0, size: 11216) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[bbedb2f448] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 11193) [annotate] [blame] [check-ins using] [diff]
2023-10-15
12:32
[1c76370f81] part of check-in [a61e0594b4] Add -[OFStream lowlevelIsAtEndOfStream]

This allows for a much cleaner solution to avoid the internal read
buffer of e.g. a TLS connection never being processed while waiting for
a delimiter. (check-in: [a61e0594b4] user: js, branch: trunk, size: 11193) [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
[0ba99f6e66] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 11216) [annotate] [blame] [check-ins using] [diff]
2022-11-24
00:21
[f6df68ff0d] part of check-in [23272e6d43] Rename OFURI to OFIRI (check-in: [23272e6d43] user: js, branch: trunk, size: 11216) [annotate] [blame] [check-ins using] [diff]
2022-11-23
21:50
[734cc4a931] part of check-in [e520af4113] Remove OFTarArchiveMode from header

It's private anyway. (check-in: [e520af4113] user: js, branch: trunk, size: 11216) [annotate] [blame] [check-ins using] [diff]

21:45
[73f1de6b8e] part of check-in [0966f1b371] OFTarArchive: Fix iterating without reading (check-in: [0966f1b371] user: js, branch: trunk, size: 11290) [annotate] [blame] [check-ins using] [diff]
2022-10-11
00:28
[8086f04e85] part of check-in [a8bc0b31d0] +[URIForFile{ -> Path}:inArchive{ -> WithURI}:] (check-in: [a8bc0b31d0] user: js, branch: trunk, size: 10970) [annotate] [blame] [check-ins using] [diff]
2022-10-09
16:33
[e86038baec] part of check-in [9b3cae6cba] Drop of- prefix from URI schemes

It's generally uncommon to prefix those.

Additionally, it might be worthwhile to try to get those actually
registered, which requires usage. (check-in: [9b3cae6cba] user: js, branch: trunk, size: 10967) [annotate] [blame] [check-ins using] [diff]

2022-10-08
23:47
[4c749d1fe6] part of check-in [55858a10bb] Move all archive URI handling to a single file (check-in: [55858a10bb] user: js, branch: trunk, size: 10970) [annotate] [blame] [check-ins using] [diff]
2022-10-06
23:33
[d33bd24f84] part of check-in [6c08b57605] OFTarArchive: 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
resets to nil in its dealloc. (check-in: [6c08b57605] user: js, branch: trunk, size: 10921) [annotate] [blame] [check-ins using] [diff]

2022-10-04
22:22
[e6e921bda1] part of check-in [519c277156] OF*Archive: Share +[URIForFile:inArchive:] code (check-in: [519c277156] user: js, branch: trunk, size: 10588) [annotate] [blame] [check-ins using] [diff]
21:49
[0dbf94ce58] part of check-in [4f56311b57] Add of-tar: URI handler (check-in: [4f56311b57] user: js, branch: trunk, size: 11124) [annotate] [blame] [check-ins using] [diff]
2022-09-28
21:40
[859f5b3b09] part of check-in [e7ab06503c] Rename OFUR{L -> I} in preparation for URI support (check-in: [e7ab06503c] user: js, branch: trunk, size: 10440) [annotate] [blame] [check-ins using] [diff]
2022-08-27
21:24
[640e7a1648] part of check-in [98c64d0af9] OFTarArchiveEntry: Rename size to uncompressedSize (check-in: [98c64d0af9] user: js, branch: trunk, size: 10440) [annotate] [blame] [check-ins using] [diff]
20:58
[4ba7eaf65d] part of check-in [73f5e3aa84] OFSeekableStream: Add OFSeekWhence enum (check-in: [73f5e3aa84] user: js, branch: trunk, size: 10380) [annotate] [blame] [check-ins using] [diff]
20:42
[acb7a099c2] part of check-in [fc63341028] OFTarArchive: Clean up types (check-in: [fc63341028] user: js, branch: trunk, size: 10368) [annotate] [blame] [check-ins using] [diff]
20:39
[d41a5109d6] part of check-in [51589c6496] Rename OFFileOffset -> OFStreamOffset (check-in: [51589c6496] user: js, branch: trunk, size: 10316) [annotate] [blame] [check-ins using] [diff]
2022-08-15
23:02
[90c0fe7151] part of check-in [fee2316eca] OF{LHA,Tar,ZIP}Archive: Use URL instead of path (check-in: [fee2316eca] user: js, branch: trunk, size: 10305) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[5a61b65e4b] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 10295) [annotate] [blame] [check-ins using] [diff]
2022-01-28
19:34
[2761dfa7b5] part of check-in [d9586ed175] Don't assume EWOULDBLOCK and EAGAIN are the same (check-in: [d9586ed175] user: js, branch: trunk, size: 10295) [annotate] [blame] [check-ins using] [diff]
2021-11-06
17:00
[80091b13c1] part of check-in [0eb7274946] Fix too strict OFEnsure introduced in last checkin (check-in: [0eb7274946] user: js, branch: trunk, size: 10274) [annotate] [blame] [check-ins using] [diff]
15:57
[651ec2f405] part of check-in [d1d36ae522] OFStream: New write API

The old write API made it too easy to lose bytes when a stream is set to
non-blocking mode. The new API always throws when not all bytes were
written, which forces handling the number of bytes being written being
smaller than the number of bytes requested to be written. (check-in: [d1d36ae522] user: js, branch: trunk, size: 10235) [annotate] [blame] [check-ins using] [diff]

2021-04-17
14:19
[6412c1538f] part of check-in [e69db838d9] of_offset_t -> OFFileOffset (check-in: [e69db838d9] user: js, branch: new-naming-convention, size: 10217) [annotate] [blame] [check-ins using] [diff]
05:28
[72e6e59f69] part of check-in [795618c69f] Rename all types in OFTarArchive(Entry).h (check-in: [795618c69f] user: js, branch: new-naming-convention, size: 10215) [annotate] [blame] [check-ins using] [diff]
02:10
[f67573ffd6] part of check-in [255f21fb3d] of_string_encoding_t -> OFStringEncoding (check-in: [255f21fb3d] user: js, branch: new-naming-convention, size: 10274) [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
[0481cd7f61] part of check-in [1b82d3bf4f] *.m: Fold methods into one line where it fits (check-in: [1b82d3bf4f] user: js, branch: trunk, size: 10278) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[a40561e369] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 10408) [annotate] [blame] [check-ins using] [diff]
2020-09-27
03:08
[6889b3aa0d] 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: 10497) [annotate] [blame] [check-ins using] [diff]

2020-06-28
15:03
[22d3bc898d] part of check-in [b6cb3addd0] Use OF_DIRECT(_MEMBERS) where appropriate (check-in: [b6cb3addd0] user: js, branch: trunk, size: 10560) [annotate] [blame] [check-ins using] [diff]
2020-05-06
00:32
[74012ab28d] part of check-in [bc67e98833] Improve names of several properties (check-in: [bc67e98833] user: js, branch: trunk, size: 10524) [annotate] [blame] [check-ins using] [diff]
2020-04-19
14:52
[9fc8cae7a2] part of check-in [e0459c419c] Reduce usage of unions (check-in: [e0459c419c] user: js, branch: trunk, size: 10530) [annotate] [blame] [check-ins using] [diff]
2020-02-16
18:22
[fe80dcdcf2] part of check-in [1d6d3eb61c] OF{LHA,Tar,ZIP}Archive: Gracefully handle close (check-in: [1d6d3eb61c] user: js, branch: trunk, size: 10615) [annotate] [blame] [check-ins using] [diff]
2020-01-14
00:16
[9fd5fb5c63] part of check-in [3b43d51006] More consistent -[close] behavior

This means refusing to close twice, calling -[close] from -[dealloc] and
not calling -[cancelAsyncRequests].

Calling -[cancelAsyncRequests] in -[close] is too dangerous, as -[close]
gets called by -[dealloc]: If the queue is the last reference to the
object, at the point where -[cancelAsyncRequests] removes it from the
queue, the object will start to deallocate and call into
-[cancelAsyncRequests] again, which is still in the middle of removing
it and now finds itself with an inconsistent state. (check-in: [3b43d51006] user: js, branch: trunk, size: 10273) [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
[e1828579de] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 10090) [annotate] [blame] [check-ins using] [diff]
2019-06-17
02:33
[bd5d8687ca] part of check-in [17d57e01ff] Remove underscores from class names (check-in: [17d57e01ff] user: js, branch: trunk, size: 10087) [annotate] [blame] [check-ins using] [diff]
2019-03-09
10:48
[b446679d60] part of check-in [c1e949a8c6] Several minor fixes (check-in: [c1e949a8c6] user: js, branch: trunk, size: 10096) [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
[c1512afd3b] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 10093) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[cfc88dc079] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 9933) [annotate] [blame] [check-ins using] [diff]
2018-07-08
18:00
[641014739a] part of check-in [8333373867] OF{LHA,Tar}Archive: Fix skipping over entries (check-in: [8333373867] user: js, branch: trunk, size: 9927) [annotate] [blame] [check-ins using] [diff]
2018-06-17
02:54
[9cb41be19d] part of check-in [abf95ba35e] Make GCC happy again (check-in: [abf95ba35e] user: js, branch: trunk, size: 9902) [annotate] [blame] [check-ins using] [diff]
01:01
[370be37c72] part of check-in [54fe3999b7] OFLHAArchive: Add write and append support (check-in: [54fe3999b7] user: js, branch: trunk, size: 9891) [annotate] [blame] [check-ins using] [diff]
2018-05-26
23:04
[d5ac892200] part of check-in [790b5344d6] Add OFLHAArchive

This is currently limited to reading uncompressed LHA level 2 files. (check-in: [790b5344d6] user: js, branch: trunk, size: 9874) [annotate] [blame] [check-ins using] [diff]

07:56
[969975ba2f] part of check-in [9db1965939] OFTarArchive: Allow specifying the encoding (check-in: [9db1965939] user: js, branch: trunk, size: 9736) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[68a00e534e] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 9604) [annotate] [blame] [check-ins using] [diff]
2017-11-19
11:04
[247f54af17] part of check-in [69749b6a5b] Do not conform to OFReadyFor*Observing by default

Instead of letting OFStream conform to it, which itself does not really
conform to it, let all the subclasses that actually do conform to it. (check-in: [69749b6a5b] user: js, branch: trunk, size: 9581) [annotate] [blame] [check-ins using] [diff]

2017-10-22
15:05
[72c8a07e42] part of check-in [a06354b42a] Make Apple GCC with -Wshadow happy (check-in: [a06354b42a] user: js, branch: trunk, size: 9448) [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
[deb3b00a60] 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: 9442) [annotate] [blame] [check-ins using] [diff]

2017-10-01
18:09
[4f6abee812] part of check-in [6b6856298d] OFTarArchive: Support for star numbers (check-in: [6b6856298d] user: js, branch: trunk, size: 9358) [annotate] [blame] [check-ins using] [diff]
14:05
[5865d323f0] part of check-in [e47c219327] Disable -Wnullable-to-nonnull-conversion again

It does not work well enough yet: While creating a lot of noise, it
fails to even find many of the obvious cases. Depending on the static
analyzer seems to be the better approach for now. (check-in: [e47c219327] user: js, branch: trunk, size: 9349) [annotate] [blame] [check-ins using] [diff]

2017-09-28
23:02
[0808282283] part of check-in [2de9660312] Enable -Wnullable-to-nonnull-conversion and adjust (check-in: [2de9660312] user: js, branch: trunk, size: 9373) [annotate] [blame] [check-ins using] [diff]
2017-09-24
12:24
[f74f1d447e] part of check-in [481225349f] OFStream: Add support for async writes (check-in: [481225349f] user: js, branch: trunk, size: 9266) [annotate] [blame] [check-ins using] [diff]
2017-08-11
18:14
[6d92ac1a5f] part of check-in [2071d164bb] Fix warnings with 32 bit Clang (check-in: [2071d164bb] user: js, branch: trunk, size: 9194) [annotate] [blame] [check-ins using] [diff]
2017-08-07
00:20
[944c9a1051] part of check-in [29ee511f56] OFTarArchive: More efficient skipping

If the stream is seekable, seek instead of reading to skip. (check-in: [29ee511f56] user: js, branch: trunk, size: 9156) [annotate] [blame] [check-ins using] [diff]

2017-08-06
21:45
[794d54862e] part of check-in [a6b87a1a0c] OFTarArchiveEntry: Minor refactoring (check-in: [a6b87a1a0c] user: js, branch: trunk, size: 8730) [annotate] [blame] [check-ins using] [diff]
20:27
[d2f44563d3] part of check-in [4f04f5be98] OFZIPArchive: Fix uncompressed + data descriptor (check-in: [4f04f5be98] user: js, branch: trunk, size: 10512) [annotate] [blame] [check-ins using] [diff]
19:40
[3df34606f0] part of check-in [4594f434e7] OFZIPArchive: Add write and append support (check-in: [4594f434e7] user: js, branch: trunk, size: 10441) [annotate] [blame] [check-ins using] [diff]
2017-08-05
21:39
[4feff55415] part of check-in [ddfb995c90] ofzip: Support for creating / appending tar files (check-in: [ddfb995c90] user: js, branch: trunk, size: 10429) [annotate] [blame] [check-ins using] [diff]
18:00
[cb4c96888d] 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: 10365) [annotate] [blame] [check-ins using] [diff]

15:22
[69e4750cf1] part of check-in [0c5035dd3f] OFTarArchive: Add write and append support (check-in: [0c5035dd3f] user: js, branch: trunk, size: 10381) [annotate] [blame] [check-ins using] [diff]
12:27
[0db6ddc7de] part of check-in [3f34a360bf] Add OFMutableTarArchiveEntry

This is in preparation for OFTarArchive write support. (check-in: [3f34a360bf] user: js, branch: trunk, size: 4838) [annotate] [blame] [check-ins using] [diff]

2017-08-02
20:11
[8e5558d27e] part of check-in [9104575517] OFTarArchive: Prepare for adding write support (check-in: [9104575517] user: js, branch: trunk, size: 2852) [annotate] [blame] [check-ins using] [diff]
2017-07-22
23:04
[4c3a4649ab] part of check-in [23e57c5040] OFFile: Simplify mode

This removes "b" for binary and always uses binary, as there is no good
reason to not use binary. (check-in: [23e57c5040] user: js, branch: trunk, size: 2366) [annotate] [blame] [check-ins using] [diff]

2017-05-21
21:28
[cd4c802a1e] part of check-in [6b77a5dd8b] Prefix private methods with of_ instead of OF_

This matches Apple's style. (check-in: [6b77a5dd8b] user: js, branch: trunk, size: 2367) [annotate] [blame] [check-ins using] [diff]

2017-05-13
22:38
[a36962d678] part of check-in [504e13cf00] Reduce retain + autorelease (check-in: [504e13cf00] user: js, branch: trunk, size: 2367) [annotate] [blame] [check-ins using] [diff]
19:51
[de5a95ce6d] part of check-in [7e8ee9b1f9] Make Apple GCC happy (check-in: [7e8ee9b1f9] user: js, branch: trunk, size: 2390) [annotate] [blame] [check-ins using] [diff]
2017-05-08
21:37
[8c89569c12] part of check-in [469a496cd2] Add OF_DESIGNATED_INITIALIZER & OF_METHOD_FAMILY (check-in: [469a496cd2] user: js, branch: trunk, size: 2375) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[ef68919153] 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: 2384) [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
[ffe423de16] 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: 2379) [annotate] [blame] [check-ins using] [diff]

2016-05-22
19:53
Added: [370eb5f8c8] part of check-in [7ecdc71677] Add OFTarArchive

This only implements the UNIX v7 format for now. (check-in: [7ecdc71677] user: js, branch: trunk, size: 2373) [annotate] [blame] [check-ins using]