ObjFW  History of src/OFIRI.m of e2a818c0b5b0332a

History of the file that is called src/OFIRI.m at check-in e2a818c0b5b0332a

2024-04-03
02:16
[8ff2bb9721] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 31680) [annotate] [blame] [check-ins using] [diff]
2024-03-10
18:44
[a3a7757ab9] part of check-in [0ca94307e6] OFIRI: Add methods for path extension (check-in: [0ca94307e6] user: js, branch: trunk, size: 31472) [annotate] [blame] [check-ins using] [diff]
16:23
[f981acd3b0] part of check-in [e832f884e6] OFIRI: Add -[IRIByDeletingLastPathComponent] (check-in: [e832f884e6] user: js, branch: trunk, size: 30662) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[0bb8a821c7] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 30493) [annotate] [blame] [check-ins using] [diff]
2023-08-09
09:08
[bb77525714] part of check-in [36310f6263] Add OF_SINGLETON_METHODS (check-in: [36310f6263] user: js, branch: trunk, size: 30493) [annotate] [blame] [check-ins using] [diff]
2023-04-10
19:22
[fdb5d156bf] part of check-in [6ce0093f8d] Remove OFSerialization

While the idea sounds nice that the tag name is the class, this means the
serialization includes whether something is mutable or immutable. This means
doing as much as making something immutable changes the serialization, which
can then cause issues after being deserialized. (check-in: [6ce0093f8d] user: js, branch: trunk, size: 30640) [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
[ee22df9601] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 31475) [annotate] [blame] [check-ins using] [diff]
2022-11-25
23:15
[1f73fdc5dd] part of check-in [f77acec498] -[IRIByAddingPercentEncodingForUnicodeCharacters] (check-in: [f77acec498] user: js, branch: trunk, size: 31475) [annotate] [blame] [check-ins using] [diff]
2022-11-24
01:15
[f780c28ebe] part of check-in [52344ad8bf] OFIRI: Disallow a few Unicode characters (check-in: [52344ad8bf] user: js, branch: trunk, size: 30462) [annotate] [blame] [check-ins using] [diff]
00:21
Renamed src/OFURI.m → src/OFIRI.m. [24180b8108] part of check-in [23272e6d43] Rename OFURI to OFIRI (check-in: [23272e6d43] user: js, branch: trunk, size: 29274) [annotate] [blame] [check-ins using] [diff]
2022-11-23
23:33
[55c91c5cfd] part of check-in [03cb622525] OFURI: Accept IRIs (check-in: [03cb622525] user: js, branch: trunk, size: 29282) [annotate] [blame] [check-ins using] [diff]
2022-10-11
19:27
[fd812a6a57] part of check-in [3e455c4839] OFURI: Make scheme and path nonnull

This is as per the RFC, which says the scheme and path can never be
missing, while the path can be empty. (check-in: [3e455c4839] user: js, branch: trunk, size: 28143) [annotate] [blame] [check-ins using] [diff]

00:18
[57bba32cb0] part of check-in [13ead1212f] OFURI: Remove percentEncodedScheme

The scheme does not allow percent encoding. (check-in: [13ead1212f] user: js, branch: trunk, size: 28245) [annotate] [blame] [check-ins using] [diff]

2022-10-10
23:50
[2fc8b40e3d] part of check-in [3b2697b2a7] Make relative URIs behave as per RFC 3986 (check-in: [3b2697b2a7] user: js, branch: trunk, size: 28457) [annotate] [blame] [check-ins using] [diff]
19:22
[d2aca0a264] part of check-in [12d95e15ae] OFURI: Enforce scheme starts with a letter (check-in: [12d95e15ae] user: js, branch: trunk, size: 27705) [annotate] [blame] [check-ins using] [diff]
2022-10-08
23:47
[213596bf3e] part of check-in [55858a10bb] Move all archive URI handling to a single file (check-in: [55858a10bb] user: js, branch: trunk, size: 27639) [annotate] [blame] [check-ins using] [diff]
2022-10-04
22:22
[e7dba343a1] part of check-in [519c277156] OF*Archive: Share +[URIForFile:inArchive:] code (check-in: [519c277156] user: js, branch: trunk, size: 29530) [annotate] [blame] [check-ins using] [diff]
21:33
[a82a35d7aa] 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: 29020) [annotate] [blame] [check-ins using] [diff]

2022-10-03
19:10
[f265de725c] part of check-in [88765bceeb] OFURI: Always parse query and fragment (check-in: [88765bceeb] user: js, branch: trunk, size: 27639) [annotate] [blame] [check-ins using] [diff]
00:39
[91ee9c8850] part of check-in [c75059a52f] OFURI: Rewrite parser to support URIs (check-in: [c75059a52f] user: js, branch: trunk, size: 27897) [annotate] [blame] [check-ins using] [diff]
2022-09-29
21:53
[bd23469364] part of check-in [bd6dd6dd00] OFURI: Make query items an array of pairs

With a dictionary the order is lost and keys cannot exist more than
once. (check-in: [bd6dd6dd00] user: js, branch: trunk, size: 27532) [annotate] [blame] [check-ins using] [diff]

2022-09-28
21:40
Renamed src/OFURL.m → src/OFURI.m. [f31f144d07] part of check-in [e7ab06503c] Rename OFUR{L -> I} in preparation for URI support (check-in: [e7ab06503c] user: js, branch: trunk, size: 27443) [annotate] [blame] [check-ins using] [diff]
2022-08-30
00:48
[5340bb2772] part of check-in [4ad0c363f3] OFObject: Small API change (check-in: [4ad0c363f3] user: js, branch: trunk, size: 26582) [annotate] [blame] [check-ins using] [diff]
2022-08-01
21:20
[54ccbf7591] part of check-in [1483709ab2] Add support for embedding files into binaries

Embedded files are available via the objfw-embedded: URL scheme. (check-in: [1483709ab2] user: js, branch: trunk, size: 26582) [annotate] [blame] [check-ins using] [diff]

2022-02-12
07:46
[8192f78e14] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 26448) [annotate] [blame] [check-ins using] [diff]
2021-12-05
17:30
[6a00ae1e04] part of check-in [57ff42efa2] Make GCC 4.0 happy again (check-in: [57ff42efa2] user: js, branch: trunk, size: 26448) [annotate] [blame] [check-ins using] [diff]
2021-10-15
15:59
[73419ef6a6] part of check-in [dcc3e6aab3] Work around buggy string overflow checker in GCC (check-in: [dcc3e6aab3] user: js, branch: trunk, size: 26377) [annotate] [blame] [check-ins using] [diff]
2021-04-25
19:41
[110acb1505] part of check-in [fd51df7022] OFStrdup -> OFStrDup and slightly change behavior (check-in: [fd51df7022] user: js, branch: trunk, size: 25839) [annotate] [blame] [check-ins using] [diff]
2021-04-19
21:54
[8f125e31a5] part of check-in [458420998c] Rename a few more constants (check-in: [458420998c] user: js, branch: new-naming-convention, size: 26107) [annotate] [blame] [check-ins using] [diff]
2021-04-18
23:36
[753279e2cb] part of check-in [bd7addd9e8] A few more renames for consistency (check-in: [bd7addd9e8] user: js, branch: new-naming-convention, size: 26111) [annotate] [blame] [check-ins using] [diff]
22:56
[73a5f7c125] part of check-in [e73c65a849] Rename all symbols marked extern (check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 26089) [annotate] [blame] [check-ins using] [diff]
21:12
[a00286cb86] part of check-in [b06b86d6f9] OF_RETAIN_COUNT_MAX -> OFMaxRetainCount (check-in: [b06b86d6f9] user: js, branch: new-naming-convention, size: 26130) [annotate] [blame] [check-ins using] [diff]
20:51
[3c6dbb0ff6] part of check-in [35de667566] Rename everything in several smaller files (check-in: [35de667566] user: js, branch: new-naming-convention, size: 26133) [annotate] [blame] [check-ins using] [diff]
15:55
[70324daa54] part of check-in [7392685ffc] Rename all functions in macros.h (check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 26133) [annotate] [blame] [check-ins using] [diff]
2021-04-17
22:45
[68aae1b12e] part of check-in [498074dab9] Rename of_(re)alloc and add OFFreeMemory (check-in: [498074dab9] user: js, branch: new-naming-convention, size: 26166) [annotate] [blame] [check-ins using] [diff]
16:13
[a82fc80af9] part of check-in [26aa88fc9b] of_once_t -> OFOnceControl (check-in: [26aa88fc9b] user: js, branch: new-naming-convention, size: 26150) [annotate] [blame] [check-ins using] [diff]
14:13
[31de543f61] part of check-in [eb0cfa6ff9] Always prefix functions with the type (check-in: [eb0cfa6ff9] user: js, branch: new-naming-convention, size: 26084) [annotate] [blame] [check-ins using] [diff]
02:25
[67b8d12e14] part of check-in [169692a120] Rename remaining enums in OFString.h (check-in: [169692a120] user: js, branch: new-naming-convention, size: 26084) [annotate] [blame] [check-ins using] [diff]
01:32
[4248f007cc] part of check-in [2d3790870d] of_unichar_t -> OFUnichar (check-in: [2d3790870d] user: js, branch: new-naming-convention, size: 26087) [annotate] [blame] [check-ins using] [diff]
01:24
[3ead840ecc] part of check-in [83dc0fe6e5] OF_NOT_FOUND -> OFNotFound (check-in: [83dc0fe6e5] user: js, branch: new-naming-convention, size: 26111) [annotate] [blame] [check-ins using] [diff]
00:44
[e76bba4226] part of check-in [d975c53a43] of_range_t -> OFRange (check-in: [d975c53a43] user: js, branch: new-naming-convention, size: 26115) [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
[c6fcf8ea2f] part of check-in [1b82d3bf4f] *.m: Fold methods into one line where it fits (check-in: [1b82d3bf4f] user: js, branch: trunk, size: 26115) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[a106091d83] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 26165) [annotate] [blame] [check-ins using] [diff]
2020-11-01
11:35
[a1fb3bc27c] part of check-in [4bbac7ab17] OFString: Add -[substring{From,To}Index:] (check-in: [4bbac7ab17] user: js, branch: trunk, size: 26254) [annotate] [blame] [check-ins using] [diff]
2020-10-10
14:27
[0558fd50c5] part of check-in [aeb403a1ed] OFObject: Change type of -[hash] to unsigned long

The internal hash is still 32 bit in most places, but this way, it is at
least not baked into the API and ABI and can be upgraded later, should
that ever be necessary. (check-in: [aeb403a1ed] user: js, branch: trunk, size: 26269) [annotate] [blame] [check-ins using] [diff]

2020-10-04
09:53
[00f085f9ce] part of check-in [40fe98125b] Fix missing import (check-in: [40fe98125b] user: js, branch: trunk, size: 26264) [annotate] [blame] [check-ins using] [diff]
01:13
[5cd00eb456] part of check-in [a847536ef2] OFURL: Improve nil handling for queryDictionary (check-in: [a847536ef2] user: js, branch: trunk, size: 26239) [annotate] [blame] [check-ins using] [diff]
2020-10-03
23:25
[529e3fc99f] part of check-in [a151f9c31f] OFURL: Add queryDictionary property (check-in: [a151f9c31f] user: js, branch: trunk, size: 26119) [annotate] [blame] [check-ins using] [diff]
2020-08-25
00:11
[a6ef5631a2] part of check-in [25c985fec1] OFNumber: Remove (u)int{8,16,32,64} methods

Since C guarantees minimum sizes for char, short, int, long and long
long, these can be used instead. (check-in: [25c985fec1] user: js, branch: trunk, size: 24470) [annotate] [blame] [check-ins using] [diff]

2020-08-11
19:45
[50000beafa] part of check-in [b6ee372b98] OFString: Rework number parsing API

This solves the old signed vs. unsigned problem and allows for more
bases than just 8, 10 and 16, as well as auto-detection of the base (if
base is 0). (check-in: [b6ee372b98] user: js, branch: trunk, size: 24476) [annotate] [blame] [check-ins using] [diff]

2020-06-28
15:03
[2524e037d6] part of check-in [b6cb3addd0] Use OF_DIRECT(_MEMBERS) where appropriate (check-in: [b6cb3addd0] user: js, branch: trunk, size: 24440) [annotate] [blame] [check-ins using] [diff]
2020-05-22
02:28
[71131960ae] part of check-in [ca8c67fb83] OFCharacterSet: Better singleton initialization (check-in: [ca8c67fb83] user: js, branch: trunk, size: 24422) [annotate] [blame] [check-ins using] [diff]
2020-03-01
23:40
[0cca3e3685] part of check-in [c517c57c89] OFURL: Implement URL-{en,de}coding of IPv6 hosts (check-in: [c517c57c89] user: js, branch: trunk, size: 24766) [annotate] [blame] [check-ins using] [diff]
23:07
[c0961c24c8] part of check-in [a99f466e3c] OFURL: Add support for IPv6 / square bracket hosts (check-in: [a99f466e3c] user: js, branch: trunk, size: 24065) [annotate] [blame] [check-ins using] [diff]
08:17
[b53f774a87] part of check-in [aaa6195c13] OFURL: Fix compilation with --disable-files (check-in: [aaa6195c13] user: js, branch: trunk, size: 22884) [annotate] [blame] [check-ins using] [diff]
2020-02-29
19:44
[b4c5dcf040] part of check-in [09fb660d54] OFURL: Move out platform-dependent parts (check-in: [09fb660d54] user: js, branch: trunk, size: 22800) [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
[691df6902c] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 26065) [annotate] [blame] [check-ins using] [diff]
2019-06-17
02:33
[a31da3127a] part of check-in [17d57e01ff] Remove underscores from class names (check-in: [17d57e01ff] user: js, branch: trunk, size: 26062) [annotate] [blame] [check-ins using] [diff]
2019-04-07
23:05
[7aef38f501] part of check-in [7bf788b164] Add -[OFMutableURL appendPathComponent:] (check-in: [7bf788b164] user: js, branch: trunk, size: 26102) [annotate] [blame] [check-ins using] [diff]
22:36
[a34547048c] part of check-in [9e556d7dca] Improve file URL path handling on Windows/DOS (check-in: [9e556d7dca] user: js, branch: trunk, size: 27173) [annotate] [blame] [check-ins using] [diff]
19:30
[eacf437ac9] part of check-in [b1d795b650] Improve -[OFURL pathComponents] (check-in: [b1d795b650] user: js, branch: trunk, size: 26427) [annotate] [blame] [check-ins using] [diff]
2019-03-24
22:29
[48639d0542] part of check-in [a4b719e4e9] Add support for UNC paths on Windows (check-in: [a4b719e4e9] user: js, branch: trunk, size: 25907) [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
[3539c64da7] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 25174) [annotate] [blame] [check-ins using] [diff]
2019-02-24
16:28
[614bfb9897] part of check-in [555e18ace0] OFMutableURL: Add -[standardizePath] (check-in: [555e18ace0] user: js, branch: trunk, size: 25304) [annotate] [blame] [check-ins using] [diff]
14:12
[eff399e1fa] part of check-in [f89f6d5887] OFURL: Fix missing copy in -[mutableCopy] (check-in: [f89f6d5887] user: js, branch: trunk, size: 26529) [annotate] [blame] [check-ins using] [diff]
2019-02-03
19:19
[4bf97fa647] part of check-in [f19cde3a14] Move a few URL methods from OFString to OFURL (check-in: [f19cde3a14] user: js, branch: trunk, size: 26522) [annotate] [blame] [check-ins using] [diff]
17:52
[684f4e251d] part of check-in [2b13f285c5] OFURL: Do not normalize in init with relative URL (check-in: [2b13f285c5] user: js, branch: trunk, size: 25142) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[d89b7c4c47] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 24678) [annotate] [blame] [check-ins using] [diff]
2018-08-25
19:02
[cf459656fd] part of check-in [4d2a22a5d9] Use the same path handling on Wii as on 3DS (check-in: [4d2a22a5d9] user: js, branch: trunk, size: 24672) [annotate] [blame] [check-ins using] [diff]
2018-08-18
23:10
[3dd9d958c3] part of check-in [b519963535] Path handling for Nintendo 3DS (check-in: [b519963535] user: js, branch: trunk, size: 24634) [annotate] [blame] [check-ins using] [diff]
2018-06-17
02:54
[f9c0df659c] part of check-in [abf95ba35e] Make GCC happy again (check-in: [abf95ba35e] user: js, branch: trunk, size: 24456) [annotate] [blame] [check-ins using] [diff]
2018-04-15
13:34
[543fd659f7] part of check-in [d7269ab32a] OFURL: Require files for fileSystemRepresentation (check-in: [d7269ab32a] user: js, branch: trunk, size: 24426) [annotate] [blame] [check-ins using] [diff]
12:51
[a226263679] part of check-in [1c499f0728] Add handling of AmigaOS paths (check-in: [1c499f0728] user: js, branch: trunk, size: 24398) [annotate] [blame] [check-ins using] [diff]
2018-03-13
23:05
[c9e9081959] part of check-in [a7ce7bb441] Treat the leading slash of a path as a component (check-in: [a7ce7bb441] user: js, branch: trunk, size: 22942) [annotate] [blame] [check-ins using] [diff]
2018-03-11
21:59
[6014ddabe8] part of check-in [88d0ccf804] Clean up -[OFURL initFileURLWithPath:isDirectory:] (check-in: [88d0ccf804] user: js, branch: trunk, size: 22939) [annotate] [blame] [check-ins using] [diff]
12:55
[13457e7f1d] part of check-in [156b850131] Remove OF_PATH_* macros

These were way too simplistic, as paths differ in more than just that on
various operating systems. (check-in: [156b850131] user: js, branch: trunk, size: 23298) [annotate] [blame] [check-ins using] [diff]

2018-02-25
17:16
[bb7c13caac] part of check-in [81156ee75a] No self = [self init…] with self-releasing @catch

When using self = [self init…], this already releases self on an
exception, so using it inside of a @try / @catch block that releases
self would lead to a double-release. (check-in: [81156ee75a] user: js, branch: trunk, size: 23329) [annotate] [blame] [check-ins using] [diff]

2018-02-16
22:25
[5197d0902a] part of check-in [dae363ef82] Remove OF_UNAVAILABLE from two -[init] methods

These were unavailable in the immutable class, but available in the
mutable subclass. However, Clang 3.4 does not support this. (check-in: [dae363ef82] user: js, branch: trunk, size: 23279) [annotate] [blame] [check-ins using] [diff]

2018-01-03
19:49
[85c5197345] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 23406) [annotate] [blame] [check-ins using] [diff]
2017-12-29
13:38
[6dbe16477c] part of check-in [409a52fd05] OFURL: Add -[URLByAppendingPathComponent:] (check-in: [409a52fd05] user: js, branch: trunk, size: 23383) [annotate] [blame] [check-ins using] [diff]
2017-11-19
21:24
[d850d81c8b] part of check-in [d2d5d43db7] -[OFURL mutableCopy]: Avoid reverification (check-in: [d2d5d43db7] user: js, branch: trunk, size: 21823) [annotate] [blame] [check-ins using] [diff]
2017-11-14
23:30
[eff43babbe] part of check-in [8dd0438ada] Fix -[OFURL initFileURLWithPath:] on Windows (check-in: [8dd0438ada] user: js, branch: trunk, size: 21797) [annotate] [blame] [check-ins using] [diff]
22:50
[18e5b35188] part of check-in [e2f6ad3876] OFURL: Improve -[initFileURLWithPath:]

This now doesn't use -[initWithString:relativeToURL:] anymore and
properly escapes everything. (check-in: [e2f6ad3876] user: js, branch: trunk, size: 21514) [annotate] [blame] [check-ins using] [diff]

00:23
[dfdfaa21fd] part of check-in [b2ee854268] OFURL: Always verify the URL-encoded versions (check-in: [b2ee854268] user: js, branch: trunk, size: 21255) [annotate] [blame] [check-ins using] [diff]
2017-11-13
01:42
[1fc14e8fff] part of check-in [fde127afd9] Fix -[OFURL fileURLWithPath:] on Windows (check-in: [fde127afd9] user: js, branch: trunk, size: 18229) [annotate] [blame] [check-ins using] [diff]
01:18
[7b7c6c2f3c] part of check-in [31e602a476] Add OFURLHandler (check-in: [31e602a476] user: js, branch: trunk, size: 17916) [annotate] [blame] [check-ins using] [diff]
2017-11-11
23:27
[4ba08a7ab6] part of check-in [526feacebc] Small optimization for -[isEqual:] (check-in: [526feacebc] user: js, branch: trunk, size: 17938) [annotate] [blame] [check-ins using] [diff]
2017-11-06
23:01
[674edf5266] part of check-in [a15b403a11] OFURL: Store the URL-encoded version internally

This allows retrieving it how it was originally stored, which is useful
for example for query strings, as these often URL-encode allowed
characters in order to allow pairs of the form foo=bar&bar=qux. (check-in: [a15b403a11] user: js, branch: trunk, size: 17901) [annotate] [blame] [check-ins using] [diff]

2017-11-05
19:53
[09db0decaa] part of check-in [2f555742c0] Make -[stringByURLEncoding] take an OFCharacterSet (check-in: [2f555742c0] user: js, branch: trunk, size: 17780) [annotate] [blame] [check-ins using] [diff]
2017-10-31
22:06
[9f39c392cd] part of check-in [03e111614e] OFURL: Add -[URLEncoded*] for encoded components (check-in: [03e111614e] user: js, branch: trunk, size: 13327) [annotate] [blame] [check-ins using] [diff]
21:39
[45850285e0] part of check-in [5f7305c659] OFURL: URL-encode according to RFC 3986

This also means the parameters go away and get folded into the path. (check-in: [5f7305c659] user: js, branch: trunk, size: 12877) [annotate] [blame] [check-ins using] [diff]

2017-10-29
15:23
[48d985e9ad] part of check-in [c1c9443c1a] OFURL: Properties store unencoded strings now (check-in: [c1c9443c1a] user: js, branch: trunk, size: 13437) [annotate] [blame] [check-ins using] [diff]
15:05
[4e9f7c9f9a] part of check-in [eba3667137] Add -[OFURL lastPathComponent] (check-in: [eba3667137] user: js, branch: trunk, size: 12828) [annotate] [blame] [check-ins using] [diff]
13:37
[c329b07d23] part of check-in [7f64141183] Add -[OFURL pathComponents] (check-in: [7f64141183] user: js, branch: trunk, size: 12067) [annotate] [blame] [check-ins using] [diff]
11:25
[47b11362db] part of check-in [773997d072] Add +[OFURL fileURLWithPath:isDirectory:] (check-in: [773997d072] user: js, branch: trunk, size: 11983) [annotate] [blame] [check-ins using] [diff]
00:41
[7016e3a6f1] part of check-in [b83d1414b1] Fix conversion between URL and path on Win32

This also adds -[OFURL fileSystemRepresentation] to correctly convert a
URL back to a path in the local file system. (check-in: [b83d1414b1] user: js, branch: trunk, size: 11176) [annotate] [blame] [check-ins using] [diff]

2017-10-28
23:52
[5a68687d28] part of check-in [8aa7f964bc] OFURL: Return a proper URL for +[fileURLWithPath:] (check-in: [8aa7f964bc] user: js, branch: trunk, size: 10458) [annotate] [blame] [check-ins using] [diff]
21:08
[6274573b21] part of check-in [0f995db06d] Make OFURL more generic

This removes the special handling dependent on the scheme. (check-in: [0f995db06d] user: js, branch: trunk, size: 10005) [annotate] [blame] [check-ins using] [diff]

2017-10-17
00:33
[bc22950fc0] 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: 10380) [annotate] [blame] [check-ins using] [diff]

2017-10-11
20:53
[2082375f0b] part of check-in [00476e4430] Fix shadowed variables and enable -Wshadow (check-in: [00476e4430] user: js, branch: trunk, size: 10316) [annotate] [blame] [check-ins using] [diff]
2017-07-20
22:28
[114ec293ed] part of check-in [3a5570ab20] Split OFURL into OFURL and OFMutableURL (check-in: [3a5570ab20] user: js, branch: trunk, size: 10313) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[b76d8bb1be] 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: 9966) [annotate] [blame] [check-ins using] [diff]

2017-05-06
19:43
[9669ae9920] part of check-in [cca678886f] Clean up a few includes (check-in: [cca678886f] user: js, branch: trunk, size: 9955) [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
[8108588b31] 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: 9974) [annotate] [blame] [check-ins using] [diff]

2017-01-07
00:37
[cbd9a32b8b] part of check-in [d9eb7b50b3] Add of_ascii_{to{upper,lower},is{alpha,alnum}}

These are independent of the locale and work on the ASCII character set.

Unlike the C ones, these are 8-bit safe, meaning if a character > 0x7F
is passed, is{alpha,alnum} returns false and to{upper,lower} returns the
original character. (check-in: [d9eb7b50b3] user: js, branch: trunk, size: 9968) [annotate] [blame] [check-ins using] [diff]

2016-08-21
14:00
[6c7fd6999e] part of check-in [516517deb3] OFURL: Do not URL decode and reencode parts

URL decoding and reencoding is not lossless: For example, if the query
was foo=bar&qux=foo%25bar, it will be decoded to foo=bar&qux=foo&bar and
then reencoded to foo=bar%25qux=foo%25bar, which is a different thing.

The only way to solve this is to let the application handle the URL
decoding and encoding according to its own rules, as those might be
different depending on the application. (check-in: [516517deb3] user: js, branch: trunk, size: 9974) [annotate] [blame] [check-ins using] [diff]

2016-06-05
21:17
[ad4fe54b6f] part of check-in [09a0d12bae] Always cast to unsigned char for to{upper,lower}()

This is required as passing something signed to it is an error on
NetBSD, but passing anything else than a char is undefined on Linux. (check-in: [09a0d12bae] user: js, branch: trunk, size: 10546) [annotate] [blame] [check-ins using] [diff]

2016-02-21
12:04
[bdf49c5547] part of check-in [3eb411511e] Add +[OFURL fileURLWithPath:] (check-in: [3eb411511e] user: js, branch: trunk, size: 10536) [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:43
[db9ac3e565] part of check-in [cec0f072f8] Update copyright

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

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

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

2015-11-29
11:43
[23f0ea8813] 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: 10262) [annotate] [blame] [check-ins using] [diff]

2015-07-02
20:41
[bd2f6100f7] part of check-in [bdf4b1d37e] OFURL: Fix handling of scheme in -[string] (check-in: [bdf4b1d37e] user: js, branch: trunk, size: 11200) [annotate] [blame] [check-ins using] [diff]
2015-06-30
20:56
[71a208e68b] part of check-in [d94375547e] OFURL: Properly handle escaping / unescaping (check-in: [d94375547e] user: js, branch: trunk, size: 11197) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[a3f2325841] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 10271) [annotate] [blame] [check-ins using] [diff]
2014-07-07
22:28
[5ebb65d404] part of check-in [65afbedbd4] OFURL: Allow all RFC 1808 compatible schemes (check-in: [65afbedbd4] user: js, branch: trunk, size: 10265) [annotate] [blame] [check-ins using] [diff]
00:50
[2209074f5b] part of check-in [d2487bc7e1] OFURL: Don't include the leading "/" in path

While Cocoa includes it, RFC 1738 explicitly states that the "/" between
host / port and path is not part of the path. (check-in: [d2487bc7e1] user: js, branch: trunk, size: 10442) [annotate] [blame] [check-ins using] [diff]

2014-06-21
21:43
[bcc6187243] part of check-in [13ee56edf3] Move all macros from OFObject.h to macros.h

This means that OFObject.h imports macros.h now, making it unnecessary
to manually import macros.h in almost every file. And while at it, also
import autorelease.h in OFObject.h, so that this doesn't need to be
manually imported in almost every file as well. (check-in: [13ee56edf3] user: js, branch: trunk, size: 10458) [annotate] [blame] [check-ins using] [diff]

2014-02-13
23:26
[50139ad3bd] part of check-in [2f5af58573] Use -std=c11 instead of -std=gnu11

Not using -std=gnu11 means _GNU_SOURCE does not get defined anymore,
therefore this commit also adds the required feature defines for glibc.

Additionally, this adds of_strdup in macros.h, as strdup is an
extension. (check-in: [2f5af58573] user: js, branch: trunk, size: 10502) [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
[9604342a66] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 10496) [annotate] [blame] [check-ins using] [diff]
2013-12-07
16:56
[ccdd5ed7ab] part of check-in [71ebf4e8fe] macros.h: Make sure static_assert is defined. (check-in: [71ebf4e8fe] user: js, branch: trunk, size: 10490) [annotate] [blame] [check-ins using] [diff]
2013-06-22
12:12
[a580a39551] part of check-in [3d16a30f41] Rework exceptions.

This mostly removes the argument for the class in which the exception
occurred. As backtraces were recently added for all platforms, the
passed class does not give any extra information on where the exception
occurred anymore.

This also removes a few other arguments which were not too helpful. In
the past, the idea was to pass as many arguments as possible so that it
is easier to find the origin of the exception. However, as backtraces
are a much better way to find the origin, those are not useful anymore
and just make the exception more cumbersome to use. The rule is now to
only pass arguments that might help in recovering from the exception or
provide information that is otherwise not easily accessible. (check-in: [3d16a30f41] user: js, branch: trunk, size: 10507) [annotate] [blame] [check-ins using] [diff]

2013-03-04
17:20
[269af2cde7] part of check-in [c5ef582958] Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. (check-in: [c5ef582958] user: js, branch: trunk, size: 10761) [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
[fcf898c186] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 10714) [annotate] [blame] [check-ins using] [diff]
2013-02-08
22:20
[2267fdd898] part of check-in [e164def279] OFURL: Improve -[description].

Before, it was not clear that the object is an OFURL, which could make
debugging hard. (check-in: [e164def279] user: js, branch: trunk, size: 10721) [annotate] [blame] [check-ins using] [diff]

2013-01-09
22:24
[4b75d2362f] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 10657) [annotate] [blame] [check-ins using] [diff]
2012-12-26
19:55
[0daa5e6ab9] part of check-in [b98fd10000] Add -[OFString stringByStandardizing(URL)Path]. (check-in: [b98fd10000] user: js, branch: trunk, size: 10651) [annotate] [blame] [check-ins using] [diff]
2012-12-12
18:57
[f5ee6d65c8] part of check-in [41480893fc] Small conformance fix for OFHTTPServer + OFURL. (check-in: [41480893fc] user: js, branch: trunk, size: 11428) [annotate] [blame] [check-ins using] [diff]
2012-12-11
12:12
[3b200a0eea] part of check-in [12a4d43f67] OFURL: Add +[URL].

This also makes -[description] more robust, as with this change, it is
now possible that required parts of the URL are nil. (check-in: [12a4d43f67] user: js, branch: trunk, size: 11394) [annotate] [blame] [check-ins using] [diff]

2012-10-09
15:07
[7c53691cc2] part of check-in [fb515e8e24] Make use of instancetype. (check-in: [fb515e8e24] user: js, branch: trunk, size: 11267) [annotate] [blame] [check-ins using] [diff]
2012-08-10
20:08
[4eed3ec6f3] part of check-in [1255f3a11a] Directly use the runtime's autorelease pools.

This greatly improves performance, as it gets rid of the overhead of
OFAutoreleasePool. (check-in: [1255f3a11a] user: js, branch: trunk, size: 11239) [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
[9e27844090] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 11274) [annotate] [blame] [check-ins using] [diff]
2012-03-21
17:51
[6ecf671f02] part of check-in [3a983475bc] Always pass a char for copy to objc_setProperty(). (check-in: [3a983475bc] user: js, branch: trunk, size: 11196) [annotate] [blame] [check-ins using] [diff]
2012-03-12
11:54
[c16b58c0b2] part of check-in [008be86a16] OFArray: +[arrayWithCArray:length:] -> +[arrayWithObjects:count:].

This is required for the new array literals. (check-in: [008be86a16] user: js, branch: trunk, size: 11212) [annotate] [blame] [check-ins using] [diff]

2012-01-05
00:56
[61882f6a6e] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 11208) [annotate] [blame] [check-ins using] [diff]
2011-09-22
23:25
[d2a8a715d5] part of check-in [e1e7ffa903] Exceptions are now autoreleased.

This is safe as an "exception loop" can't happen, since if allocating
an exception fails, it throws an OFAllocFailedException which is
preallocated and can always be thrown.

So, the worst case would be that an autorelease of an exception fails,
triggering an OFOutOfMemoryException for which there is no memory,
resulting in an OFAllocFailedException to be thrown. (check-in: [e1e7ffa903] user: js, branch: trunk, size: 11202) [annotate] [blame] [check-ins using] [diff]

2011-09-17
19:18
[9e5eb723f2] part of check-in [f3db074478] Make hashes independant of endianess in OF{Float,Double}{Vector,Matrix}.

Also removes unnecessary OF_HASH_ADD_INT* macros (except
OF_HASH_ADD_INT32 which was often used to hash hashes and is now called
OF_HASH_ADD_HASH). (check-in: [f3db074478] user: js, branch: trunk, size: 11154) [annotate] [blame] [check-ins using] [diff]

2011-09-12
19:57
[8b92d8f389] part of check-in [e6fd39d11e] Rename -[cString] to -[UTF8String]. (check-in: [e6fd39d11e] user: js, branch: trunk, size: 11119) [annotate] [blame] [check-ins using] [diff]
2011-09-09
13:35
[5655588497] part of check-in [798d9e6320] [pool release] can never throw by convention now. (check-in: [798d9e6320] user: js, branch: trunk, size: 10913) [annotate] [blame] [check-ins using] [diff]
2011-08-07
16:57
[1998367c8d] part of check-in [927dbf6e7d] Add -[makeImmutable] to all mutable classes and use it. (check-in: [927dbf6e7d] user: js, branch: trunk, size: 10940) [annotate] [blame] [check-ins using] [diff]
2011-07-14
23:17
[e8ba92cbd3] part of check-in [971f8e1b0e] Fix a memory leak in OFURL. (check-in: [971f8e1b0e] user: js, branch: 0.5, size: 10186) [annotate] [blame] [check-ins using] [diff]
23:17
[d4ad83d094] part of check-in [06bbeb185a] Fix a memory leak in OFURL. (check-in: [06bbeb185a] user: js, branch: trunk, size: 11162) [annotate] [blame] [check-ins using] [diff]
2011-06-28
22:20
[221a47cb00] part of check-in [6d3b3d0468] Use isa as class for the copy where useful. (check-in: [6d3b3d0468] user: js, branch: trunk, size: 11168) [annotate] [blame] [check-ins using] [diff]
01:51
[e46fcb96eb] part of check-in [756bb26c98] Change serialization format to be way more readable and shorter. (check-in: [756bb26c98] user: js, branch: trunk, size: 11170) [annotate] [blame] [check-ins using] [diff]
2011-06-05
19:27
[83b3387d68] part of check-in [183825f113] Add OFNull class. (check-in: [183825f113] user: js, branch: trunk, size: 11275) [annotate] [blame] [check-ins using] [diff]
2011-06-04
16:02
[7b484f195b] part of check-in [871fcf6e0b] Add OF_HASH_ADD_INT{16,32,64}. (check-in: [871fcf6e0b] user: js, branch: trunk, size: 11274) [annotate] [blame] [check-ins using] [diff]
13:34
[72e6419d11] part of check-in [675eda4ad3] Remove useless casts. (check-in: [675eda4ad3] user: js, branch: trunk, size: 11381) [annotate] [blame] [check-ins using] [diff]
13:31
[0accfd5d18] part of check-in [d61c00e257] Fix -[OFURL isEqual:]. (check-in: [d61c00e257] user: js, branch: 0.5, size: 10192) [annotate] [blame] [check-ins using] [diff]
13:29
[fb49e7ba43] part of check-in [9d48ed225c] Fix -[OFURL isEqual:]. (check-in: [9d48ed225c] user: js, branch: trunk, size: 11389) [annotate] [blame] [check-ins using] [diff]
2011-06-03
15:14
[35c5ed8137] part of check-in [dca3061dfc] Add deserialization. (check-in: [dca3061dfc] user: js, branch: trunk, size: 11209) [annotate] [blame] [check-ins using] [diff]
2011-05-14
12:26
[8362d51987] part of check-in [494dca4ae4] Use XML for serialization.

This way, we don't need a new parser and don't use a new format. (check-in: [494dca4ae4] user: js, branch: trunk, size: 10657) [annotate] [blame] [check-ins using] [diff]

2011-05-12
18:27
[267c53672b] part of check-in [ace6f683f7] Add version to serialization and add serialization to more classes. (check-in: [ace6f683f7] user: js, branch: trunk, size: 10551) [annotate] [blame] [check-ins using] [diff]
2011-05-08
22:42
[e8aceda7df] part of check-in [cb3be92fe6] Add serialization for OFURL and OFXMLElement. (check-in: [cb3be92fe6] user: js, branch: trunk, size: 10541) [annotate] [blame] [check-ins using] [diff]
22:17
[01254b0236] part of check-in [925754a097] Add -[string] to OFURL. (check-in: [925754a097] user: js, branch: trunk, size: 10240) [annotate] [blame] [check-ins using] [diff]
2011-04-22
22:46
[e94e617a72] part of check-in [c9c78d86d3] More style improvements. (check-in: [c9c78d86d3] user: js, branch: trunk, size: 10192) [annotate] [blame] [check-ins using] [diff]
21:59
[0a4862ec8c] part of check-in [43f9221508] OFURL: Do -[copy] in a try block to prevent leaks. (check-in: [43f9221508] user: js, branch: 0.5, size: 10052) [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
[ae9145fa4e] part of check-in [cda44767f4] Get rid of OFExceptions.h. (check-in: [cda44767f4] user: js, branch: trunk, size: 9984) [annotate] [blame] [check-ins using] [diff]
2011-03-11
13:02
[d363f4b1e5] part of check-in [2c72efb4e7] Make it easier to generate getters and setters. (check-in: [2c72efb4e7] user: js, branch: trunk, size: 9896) [annotate] [blame] [check-ins using] [diff]
2011-02-27
00:09
[77a2a36083] part of check-in [3d041cd4bf] OFURL: Include the / in the path for http(s). (check-in: [3d041cd4bf] user: js, branch: trunk, size: 10177) [annotate] [blame] [check-ins using] [diff]
2011-02-26
19:40
[dd90f55a48] part of check-in [06f539766f] Use class swizzling as an optimization. (check-in: [06f539766f] user: js, branch: trunk, size: 9991) [annotate] [blame] [check-ins using] [diff]
19:00
[27d2646f3d] part of check-in [58c07e80e4] Make isa public to allow for better class swizzling. (check-in: [58c07e80e4] user: js, branch: trunk, size: 9745) [annotate] [blame] [check-ins using] [diff]
2011-02-17
17:23
[ef4737e3c3] part of check-in [245f519a50] Add support for file:// to OFURL. (check-in: [245f519a50] user: js, branch: trunk, size: 9791) [annotate] [blame] [check-ins using] [diff]
2011-02-09
12:33
[2d664c10f0] part of check-in [ddd3a6683f] Add support for relative URLs to OFURL. (check-in: [ddd3a6683f] user: js, branch: trunk, size: 9569) [annotate] [blame] [check-ins using] [diff]
2011-01-29
19:16
[8d89f1d113] part of check-in [d0eace5cd1] Use %@ where it is useful. (check-in: [d0eace5cd1] user: js, branch: trunk, size: 7121) [annotate] [blame] [check-ins using] [diff]
2011-01-15
17:59
[84444b80b2] part of check-in [c655fa54d2] Improve OFURL. (check-in: [c655fa54d2] user: js, branch: trunk, size: 7203) [annotate] [blame] [check-ins using] [diff]
2011-01-14
12:22
Added: [5ee125a04b] part of check-in [164c76c0cf] Add OFURL class. (check-in: [164c76c0cf] user: js, branch: trunk, size: 5535) [annotate] [blame] [check-ins using]