ObjFW  History of src/OFTarArchive.m of 9c2f20e736e34964

History of file src/OFTarArchive.m at check-in 9c2f20e736e34964

2024-06-04
23:51
Add OHGamepad file: [0a16baeb97] check-in: [c45b04b1f8] user: js, branch: trunk, size: 11470 [annotate] [blame] [check-ins using] [diff]
2024-04-29
21:42
Properly hide private symbols file: [300800373d] check-in: [f16bccc7b3] user: js, branch: trunk, size: 11480 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [67f03e487e] check-in: [7413a728a7] user: js, branch: trunk, size: 11479 [annotate] [blame] [check-ins using] [diff]
2024-04-02
01:33
OFTarArchive: Fix a memory leak file: [2181e993e8] check-in: [9c7610b3b7] user: js, branch: 1.0, size: 11294 [annotate] [blame] [check-ins using] [diff]
01:33
OFTarArchive: Fix a memory leak file: [4064e91319] check-in: [ea9079b62b] user: js, branch: trunk, size: 11271 [annotate] [blame] [check-ins using] [diff]
2024-03-03
19:42
Rename schemes for archive IRI handlers

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

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

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

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

21:45
OFTarArchive: Fix iterating without reading file: [73f1de6b8e] check-in: [0966f1b371] user: js, branch: trunk, size: 11290 [annotate] [blame] [check-ins using] [diff]
2022-10-11
00:28
+[URIForFile{ -> Path}:inArchive{ -> WithURI}:] file: [8086f04e85] check-in: [a8bc0b31d0] user: js, branch: trunk, size: 10970 [annotate] [blame] [check-ins using] [diff]
2022-10-09
16:33
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. file: [e86038baec] check-in: [9b3cae6cba] user: js, branch: trunk, size: 10967 [annotate] [blame] [check-ins using] [diff]

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

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

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

Still miscompiles things. file: [6889b3aa0d] check-in: [9e9ce6aa1c] user: js, branch: trunk, size: 10497 [annotate] [blame] [check-ins using] [diff]

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

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

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

07:56
OFTarArchive: Allow specifying the encoding file: [969975ba2f] check-in: [9db1965939] user: js, branch: trunk, size: 9736 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [68a00e534e] check-in: [7e5c81e186] user: js, branch: trunk, size: 9604 [annotate] [blame] [check-ins using] [diff]
2017-11-19
11:04
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. file: [247f54af17] check-in: [69749b6a5b] user: js, branch: trunk, size: 9581 [annotate] [blame] [check-ins using] [diff]

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

2017-10-01
18:09
OFTarArchive: Support for star numbers file: [4f6abee812] check-in: [6b6856298d] user: js, branch: trunk, size: 9358 [annotate] [blame] [check-ins using] [diff]
14:05
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. file: [5865d323f0] check-in: [e47c219327] user: js, branch: trunk, size: 9349 [annotate] [blame] [check-ins using] [diff]

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

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

2017-08-06
21:45
OFTarArchiveEntry: Minor refactoring file: [794d54862e] check-in: [a6b87a1a0c] user: js, branch: trunk, size: 8730 [annotate] [blame] [check-ins using] [diff]
20:27
OFZIPArchive: Fix uncompressed + data descriptor file: [d2f44563d3] check-in: [4f04f5be98] user: js, branch: trunk, size: 10512 [annotate] [blame] [check-ins using] [diff]
19:40
OFZIPArchive: Add write and append support file: [3df34606f0] check-in: [4594f434e7] user: js, branch: trunk, size: 10441 [annotate] [blame] [check-ins using] [diff]
2017-08-05
21:39
ofzip: Support for creating / appending tar files file: [4feff55415] check-in: [ddfb995c90] user: js, branch: trunk, size: 10429 [annotate] [blame] [check-ins using] [diff]
18:00
OFZIPArchive: Don't require an OFSeekableStream

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

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

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

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

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

2017-05-21
21:28
Prefix private methods with of_ instead of OF_

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

2017-05-13
22:38
Reduce retain + autorelease file: [a36962d678] check-in: [504e13cf00] user: js, branch: trunk, size: 2367 [annotate] [blame] [check-ins using] [diff]
19:51
Make Apple GCC happy file: [de5a95ce6d] check-in: [7e8ee9b1f9] user: js, branch: trunk, size: 2390 [annotate] [blame] [check-ins using] [diff]
2017-05-08
21:37
Add OF_DESIGNATED_INITIALIZER & OF_METHOD_FAMILY file: [8c89569c12] check-in: [469a496cd2] user: js, branch: trunk, size: 2375 [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
Small code style change

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

2017-01-09
17:36
Update copyright

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

2016-05-22
19:53
Added: Add OFTarArchive

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