ObjFW  History of src/OFString.m of 9817eab3be57fe38

History of the file that is called src/OFString.m at check-in 9817eab3be57fe38

2024-04-29
21:42
[7205f31b8d] part of check-in [f16bccc7b3] Properly hide private symbols (check-in: [f16bccc7b3] user: js, branch: trunk, size: 65649) [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
[a5a923c44c] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 65576) [annotate] [blame] [check-ins using] [diff]
2024-03-17
14:17
[7d2c8dc066] part of check-in [33820d3f5f] OFString: Fix fallback for no strto[fd]_l (check-in: [33820d3f5f] user: js, branch: trunk, size: 65368) [annotate] [blame] [check-ins using] [diff]
2024-03-10
16:49
[1a3f564904] part of check-in [6060a03291] Avoid some unnecessary I/O (check-in: [6060a03291] user: js, branch: trunk, size: 65142) [annotate] [blame] [check-ins using] [diff]
2024-02-17
18:07
[fd5aa1a3b0] part of check-in [823cff099d] Migrate OFStringTests to ObjFWTest (check-in: [823cff099d] user: js, branch: objfwtest, size: 65123) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[855db5cb26] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 64779) [annotate] [blame] [check-ins using] [diff]
2023-08-23
16:01
[70fe1f9064] part of check-in [149874777c] Remove incomplete NFD/NFKD support

It has been moved to the "unicode-normalization" branch until it is
ready. (check-in: [149874777c] user: js, branch: trunk, size: 64779) [annotate] [blame] [check-ins using] [diff]

2023-08-22
16:16
[c29f20e2b2] part of check-in [8471999204] Don't require a regular file to init an object (check-in: [8471999204] user: js, branch: trunk, size: 65839) [annotate] [blame] [check-ins using] [diff]
2023-08-17
14:30
[ed5e3faeac] part of check-in [03339575cb] OFString: Add designated initializer (check-in: [03339575cb] user: js, branch: trunk, size: 66837) [annotate] [blame] [check-ins using] [diff]
2023-08-09
10:09
[e84d292643] part of check-in [281b494de4] More consistency in naming of private classes (check-in: [281b494de4] user: js, branch: trunk, size: 65037) [annotate] [blame] [check-ins using] [diff]
09:08
[c23004791c] part of check-in [36310f6263] Add OF_SINGLETON_METHODS (check-in: [36310f6263] user: js, branch: trunk, size: 65037) [annotate] [blame] [check-ins using] [diff]
2023-08-08
15:32
[9aebf03e60] part of check-in [a6f520157a] A few minor cleanups (check-in: [a6f520157a] user: js, branch: trunk, size: 65170) [annotate] [blame] [check-ins using] [diff]
2023-04-16
17:27
[a697442a34] part of check-in [a36ab7c79a] OFString: Fix using strtod_l despite uselocale (check-in: [a36ab7c79a] user: js, branch: trunk, size: 65097) [annotate] [blame] [check-ins using] [diff]
2023-04-10
19:22
[6c5b7de32e] 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: 65108) [annotate] [blame] [check-ins using] [diff]

14:33
[9e1175061f] part of check-in [6e786896e0] Fall back to uselocale() if it's available (check-in: [6e786896e0] user: js, branch: trunk, size: 66469) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[6b935f6679] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 66013) [annotate] [blame] [check-ins using] [diff]
2022-11-24
00:21
[5e63b2cd8e] part of check-in [23272e6d43] Rename OFURI to OFIRI (check-in: [23272e6d43] user: js, branch: trunk, size: 66013) [annotate] [blame] [check-ins using] [diff]
2022-10-20
16:37
[03372dc363] part of check-in [93f0d2a78f] -[initWithContentsOfFile:]: Avoid stat call (check-in: [93f0d2a78f] user: js, branch: trunk, size: 66013) [annotate] [blame] [check-ins using] [diff]
2022-09-29
20:27
[66ea400d53] part of check-in [915bfc7431] OFLocale: Rename a few methods (check-in: [915bfc7431] user: js, branch: trunk, size: 66258) [annotate] [blame] [check-ins using] [diff]
2022-09-28
21:40
[0e44856721] part of check-in [e7ab06503c] Rename OFUR{L -> I} in preparation for URI support (check-in: [e7ab06503c] user: js, branch: trunk, size: 66234) [annotate] [blame] [check-ins using] [diff]
2022-09-25
14:00
[17aaf02040] part of check-in [78032c89cb] OF{Retrieve -> Get}ItemAttributesFailedException (check-in: [78032c89cb] user: js, branch: trunk, size: 66230) [annotate] [blame] [check-ins using] [diff]
2022-09-16
13:15
[90a06f38bf] part of check-in [7dc3d12cad] OFString: Improve exceptions (check-in: [7dc3d12cad] user: js, branch: trunk, size: 66240) [annotate] [blame] [check-ins using] [diff]
2022-09-04
18:46
[c20b83a313] part of check-in [6c3ec63d96] Remove -[prependString:] and -[reverse] (check-in: [6c3ec63d96] user: js, branch: trunk, size: 66279) [annotate] [blame] [check-ins using] [diff]
18:27
[9ff5525c3f] part of check-in [114576fe94] Remove -[OFString stringByPrependingString:]

The same can be achieved using -[OFString stringByAppendingString:] and
swapping the order of arguments. (check-in: [114576fe94] user: js, branch: trunk, size: 66249) [annotate] [blame] [check-ins using] [diff]

2022-08-30
00:48
[4a41d6e285] part of check-in [4ad0c363f3] OFObject: Small API change (check-in: [4ad0c363f3] user: js, branch: trunk, size: 66435) [annotate] [blame] [check-ins using] [diff]
2022-08-29
22:07
[5438ca498a] part of check-in [4d03f6f1a5] Make the base for parsing numbers an unsigned char (check-in: [4d03f6f1a5] user: js, branch: trunk, size: 66423) [annotate] [blame] [check-ins using] [diff]
2022-08-11
20:54
[d6ba8bab44] part of check-in [338d452f33] OFURLHandler: Add +[openItemAtURL:mode:] (check-in: [338d452f33] user: js, branch: trunk, size: 66403) [annotate] [blame] [check-ins using] [diff]
2022-08-01
21:20
[0292b59c78] 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: 66556) [annotate] [blame] [check-ins using] [diff]

2022-04-25
19:09
[f2f791550d] part of check-in [c62f1c55ac] OFOpenItemFailedException: Remove path (check-in: [c62f1c55ac] user: js, branch: trunk, size: 66460) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[05a5b5b79b] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 66431) [annotate] [blame] [check-ins using] [diff]
2021-08-07
23:25
[d3f94ba1f6] part of check-in [176e97bd4d] Make Apple GCC 4.0.1 happy again (check-in: [176e97bd4d] user: js, branch: trunk, size: 66431) [annotate] [blame] [check-ins using] [diff]
2021-04-25
19:41
[d4404e2d68] part of check-in [fd51df7022] OFStrdup -> OFStrDup and slightly change behavior (check-in: [fd51df7022] user: js, branch: trunk, size: 66305) [annotate] [blame] [check-ins using] [diff]
11:05
[91ec495f18] part of check-in [27103855c2] A few last renames (check-in: [27103855c2] user: js, branch: new-naming-convention, size: 66129) [annotate] [blame] [check-ins using] [diff]
2021-04-19
21:54
[97ce83e21e] part of check-in [458420998c] Rename a few more constants (check-in: [458420998c] user: js, branch: new-naming-convention, size: 66185) [annotate] [blame] [check-ins using] [diff]
2021-04-18
22:56
[afb8450add] part of check-in [e73c65a849] Rename all symbols marked extern (check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 66189) [annotate] [blame] [check-ins using] [diff]
20:51
[3ff34c1351] part of check-in [35de667566] Rename everything in several smaller files (check-in: [35de667566] user: js, branch: new-naming-convention, size: 66351) [annotate] [blame] [check-ins using] [diff]
15:55
[3a47e9f83d] part of check-in [7392685ffc] Rename all functions in macros.h (check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 66352) [annotate] [blame] [check-ins using] [diff]
13:24
[723276e5f7] part of check-in [d9f8960fc5] Rename remaining functions in OFObject.h (check-in: [d9f8960fc5] user: js, branch: new-naming-convention, size: 66360) [annotate] [blame] [check-ins using] [diff]
2021-04-17
22:45
[3a78b74cc9] part of check-in [498074dab9] Rename of_(re)alloc and add OFFreeMemory (check-in: [498074dab9] user: js, branch: new-naming-convention, size: 66368) [annotate] [blame] [check-ins using] [diff]
17:49
[1ee38b4496] part of check-in [5ce8c7cca7] Rename JSON representation options (check-in: [5ce8c7cca7] user: js, branch: new-naming-convention, size: 66182) [annotate] [blame] [check-ins using] [diff]
14:13
[d072a99f4c] part of check-in [eb0cfa6ff9] Always prefix functions with the type (check-in: [eb0cfa6ff9] user: js, branch: new-naming-convention, size: 66080) [annotate] [blame] [check-ins using] [diff]
03:21
[8bdf1a14a9] part of check-in [c4e0e56fa3] Rename all blocks (check-in: [c4e0e56fa3] user: js, branch: new-naming-convention, size: 66080) [annotate] [blame] [check-ins using] [diff]
02:25
[173940368f] part of check-in [169692a120] Rename remaining enums in OFString.h (check-in: [169692a120] user: js, branch: new-naming-convention, size: 66086) [annotate] [blame] [check-ins using] [diff]
02:10
[36edd9381e] part of check-in [255f21fb3d] of_string_encoding_t -> OFStringEncoding (check-in: [255f21fb3d] user: js, branch: new-naming-convention, size: 65959) [annotate] [blame] [check-ins using] [diff]
01:35
[443afc31ac] part of check-in [6d9d790a24] of_char{16,32}_t -> OFChar{16,32} (check-in: [6d9d790a24] user: js, branch: new-naming-convention, size: 66413) [annotate] [blame] [check-ins using] [diff]
01:32
[4bd7b0cbb5] part of check-in [2d3790870d] of_unichar_t -> OFUnichar (check-in: [2d3790870d] user: js, branch: new-naming-convention, size: 66524) [annotate] [blame] [check-ins using] [diff]
01:24
[8b54f22f44] part of check-in [83dc0fe6e5] OF_NOT_FOUND -> OFNotFound (check-in: [83dc0fe6e5] user: js, branch: new-naming-convention, size: 66719) [annotate] [blame] [check-ins using] [diff]
00:44
[9b61edd18e] part of check-in [d975c53a43] of_range_t -> OFRange (check-in: [d975c53a43] user: js, branch: new-naming-convention, size: 66727) [annotate] [blame] [check-ins using] [diff]
00:31
[357ffae861] part of check-in [1046d10a20] of_byte_order_t -> OFByteOrder (check-in: [1046d10a20] user: js, branch: new-naming-convention, size: 66688) [annotate] [blame] [check-ins using] [diff]
00:14
[2267c01e97] part of check-in [61fc389aee] of_comparison_result_t -> OFComparisonResult (check-in: [61fc389aee] user: js, branch: new-naming-convention, size: 66768) [annotate] [blame] [check-ins using] [diff]
2021-04-07
22:20
[858181ff3a] part of check-in [96ee4795ad] Make GCC happy again (check-in: [96ee4795ad] user: js, branch: trunk, size: 66824) [annotate] [blame] [check-ins using] [diff]
21:14
[d43b0aa5cd] part of check-in [2969086342] Rename OFCryptoHash -> OFCryptographicHash (check-in: [2969086342] user: js, branch: trunk, size: 66958) [annotate] [blame] [check-ins using] [diff]
2021-03-08
00:00
[ff9b0b5a48] part of check-in [1a49ef773d] Make +[stringWithContentsOfURL:] always available

Even when there is neither files nor sockets, a scheme could still be
registered, for example for files embedded into the binary. (check-in: [1a49ef773d] user: js, branch: trunk, size: 66951) [annotate] [blame] [check-ins using] [diff]

2021-03-07
20:25
[e6372d29b7] part of check-in [1b82d3bf4f] *.m: Fold methods into one line where it fits (check-in: [1b82d3bf4f] user: js, branch: trunk, size: 67075) [annotate] [blame] [check-ins using] [diff]
02:36
[cc999ec09b] part of check-in [a0fd103a0b] Style change: Allow more than 1 argument per line

This is only migrating some places, others will be migrated as they are
touched. (check-in: [a0fd103a0b] user: js, branch: trunk, size: 67153) [annotate] [blame] [check-ins using] [diff]

2021-01-02
22:06
[8277cdb77c] part of check-in [27b401c7c2] Update copyright (check-in: [27b401c7c2] user: js, branch: amiga-library, size: 67198) [annotate] [blame] [check-ins using] [diff]
22:04
[f5bfcef342] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 67483) [annotate] [blame] [check-ins using] [diff]
2021-01-01
22:11
[3d251eedbb] part of check-in [cd4fd689d6] OFString: Manually handle NaN

strtod() on HP-UX does not accept NaN. (check-in: [cd4fd689d6] user: js, branch: trunk, size: 67572) [annotate] [blame] [check-ins using] [diff]

2020-12-31
17:28
[7e6178bd46] part of check-in [aceaca225d] Use strtod() if we have no strtof() (check-in: [aceaca225d] user: js, branch: trunk, size: 67244) [annotate] [blame] [check-ins using] [diff]
2020-12-29
19:41
[c76470c0f1] part of check-in [86055ffb5b] -[longLongValueWithBase:]: Fall back to base 10 (check-in: [86055ffb5b] user: js, branch: trunk, size: 67287) [annotate] [blame] [check-ins using] [diff]
2020-12-22
20:09
[0e8c3a02df] part of check-in [1b2efa1f5d] Correctly handle componentsSeparatedByString: @"" (check-in: [1b2efa1f5d] user: js, branch: trunk, size: 67227) [annotate] [blame] [check-ins using] [diff]
2020-12-21
01:14
[68a16bb73e] part of check-in [08ab815c2c] Remove usage of strto(u)ll

It requires errno and every function that uses errno needs to be passed
from the linklib to the Amiga .library, so reducing usage of functions
that require errno is desirable. (check-in: [08ab815c2c] user: js, branch: trunk, size: 67075) [annotate] [blame] [check-ins using] [diff]

2020-12-20
13:49
[77195aa3b1] part of check-in [d3fb77eb9c] Clean up a few defines (check-in: [d3fb77eb9c] user: js, branch: trunk, size: 65981) [annotate] [blame] [check-ins using] [diff]
2020-11-14
12:23
[8c96d0cf6e] part of check-in [627511b032] Rename of_malloc and of_calloc

The new names should be more accurate. (check-in: [627511b032] user: js, branch: trunk, size: 65922) [annotate] [blame] [check-ins using] [diff]

2020-11-07
10:38
[3f36b9543e] part of check-in [7aa23887d0] Make GCC happy again (check-in: [7aa23887d0] user: js, branch: trunk, size: 65932) [annotate] [blame] [check-ins using] [diff]
2020-11-06
02:37
[7044157852] part of check-in [0f260e0fd5] OFString: Make freeWhenDone behave like in OFData

In particular, this means that if initialization fails, the buffer is
NOT free'd. While freeing it on error in convenient when not handling
the error, it makes handling the error and retrying impossible (e.g.
retrying with a different encoding). (check-in: [0f260e0fd5] user: js, branch: trunk, size: 65913) [annotate] [blame] [check-ins using] [diff]

02:24
[ab9d9164f8] part of check-in [a2b4238850] Future-proof some code using freeWhenDone

While -[OFData initWithDataNoCopy:count:itemSize:freeWhenDone:] can
currently never throw, it might in the future, and when it does so in
the future, these would be memory leaks then. (check-in: [a2b4238850] user: js, branch: trunk, size: 65979) [annotate] [blame] [check-ins using] [diff]

02:12
[75be1c56bd] part of check-in [9d74d1b74e] OFData: Make parameter order more consistent (check-in: [9d74d1b74e] user: js, branch: trunk, size: 65777) [annotate] [blame] [check-ins using] [diff]
01:56
[4797b99f7f] part of check-in [54d900fb66] OFString: Avoid -[allocMemoryWithSize:] (check-in: [54d900fb66] user: js, branch: trunk, size: 65777) [annotate] [blame] [check-ins using] [diff]
2020-11-05
00:24
[8da779313c] part of check-in [0ddaac3f5b] Avoid -[allocMemoryWithSize:] for temporary memory

-[allocMemoryWithSize:] has book keeping overhead that is unnecessary
for temporary memory. (check-in: [0ddaac3f5b] user: js, branch: trunk, size: 65372) [annotate] [blame] [check-ins using] [diff]

2020-11-04
23:18
[4df757c93c] part of check-in [3d8286feee] Remove of_free()

While it makes sense to wrap malloc and calloc to replace the error
checking with exceptions, it does not make sense to wrap free. (check-in: [3d8286feee] user: js, branch: trunk, size: 65456) [annotate] [blame] [check-ins using] [diff]

2020-11-01
11:35
[b2cfcd4f85] part of check-in [4bbac7ab17] OFString: Add -[substring{From,To}Index:] (check-in: [4bbac7ab17] user: js, branch: trunk, size: 65474) [annotate] [blame] [check-ins using] [diff]
2020-10-25
23:33
[25e18e82dd] part of check-in [d0ae3bfd6c] Add of_{malloc,calloc,realloc,free} (check-in: [d0ae3bfd6c] user: js, branch: trunk, size: 65252) [annotate] [blame] [check-ins using] [diff]
2020-10-10
14:27
[91d4470735] 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: 65567) [annotate] [blame] [check-ins using] [diff]

2020-09-27
00:57
[a28b46c55c] part of check-in [cbc09c6e26] Work around bugs in Apple GCC 4.2.1 (check-in: [cbc09c6e26] user: js, branch: trunk, size: 65562) [annotate] [blame] [check-ins using] [diff]
2020-08-25
23:53
[ed5bfcb060] part of check-in [200fe98d2b] OFString: Also check errno == ERANGE on HUGE_VAL (check-in: [200fe98d2b] user: js, branch: trunk, size: 65517) [annotate] [blame] [check-ins using] [diff]
23:52
[f69742e62e] part of check-in [5f494eaf81] OFString: Remove hack for amiga-gcc

amiga-gcc now has strto(u)ll. (check-in: [5f494eaf81] user: js, branch: trunk, size: 65479) [annotate] [blame] [check-ins using] [diff]

2020-08-13
22:46
[25f4cd81db] part of check-in [d763a9ff86] propertyListValue -> objectByParsingPropertyList (check-in: [d763a9ff86] user: js, branch: trunk, size: 65597) [annotate] [blame] [check-ins using] [diff]
21:07
[6889fff2f5] part of check-in [8611f48f42] OFString: Rename JSONValue to objectByParsingJSON (check-in: [8611f48f42] user: js, branch: trunk, size: 65595) [annotate] [blame] [check-ins using] [diff]
19:49
[3885de5d40] part of check-in [138410a925] Work around amiga-gcc missing strto(u)ll (check-in: [138410a925] user: js, branch: trunk, size: 65593) [annotate] [blame] [check-ins using] [diff]
19:43
[3a36a1ae89] part of check-in [04bb18457a] Set errno to 0 before calling strto*

It is not guaranteed that errno is set to 0 when there is no
overflow/underflow, so it needs to be set to 0 before, in case it
already is ERANGE from a previous call. (check-in: [04bb18457a] user: js, branch: trunk, size: 65475) [annotate] [blame] [check-ins using] [diff]

19:27
[fbf885bed7] part of check-in [ce5dfd4a83] Always cast argument to isspace() to unsigned char

Some implementations define this as a macro that indexes into a table,
where this would result in a negative index if char is signed. (check-in: [ce5dfd4a83] user: js, branch: trunk, size: 65427) [annotate] [blame] [check-ins using] [diff]

2020-08-12
20:56
[a680f97b80] part of check-in [d74f244ab7] Avoid using (u)intmax_t in methods

It is not guaranteed that a type encoding for it exists. (check-in: [d74f244ab7] user: js, branch: trunk, size: 65352) [annotate] [blame] [check-ins using] [diff]

2020-08-11
19:45
[d974e2e6b6] 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: 65344) [annotate] [blame] [check-ins using] [diff]

2020-06-28
15:39
[e1b9c425c7] part of check-in [812a46b8f6] Remove OF_DIRECT(_MEMBERS) where it was too much (check-in: [812a46b8f6] user: js, branch: trunk, size: 67239) [annotate] [blame] [check-ins using] [diff]
15:03
[bbe1776206] part of check-in [b6cb3addd0] Use OF_DIRECT(_MEMBERS) where appropriate (check-in: [b6cb3addd0] user: js, branch: trunk, size: 67237) [annotate] [blame] [check-ins using] [diff]
2020-05-17
14:08
[9bf92ef7e1] part of check-in [494acfb3e0] Add support for non-Unicode Windows in all classes (check-in: [494acfb3e0] user: js, branch: trunk, size: 67175) [annotate] [blame] [check-ins using] [diff]
2020-04-21
22:47
[1a087004fb] part of check-in [94f1f0f479] OFWindowsRegistryKey: Compatibility with Win XP

This requires a slight API change to OFWindowsRegistryKey, as the
previous API was depending on RegGetValueW(), which is not available on
Windows XP. (check-in: [94f1f0f479] user: js, branch: trunk, size: 66760) [annotate] [blame] [check-ins using] [diff]

2020-04-19
10:02
[1cad4eddab] part of check-in [3356b9940c] Clean up which exception is used when a little (check-in: [3356b9940c] user: js, branch: trunk, size: 66449) [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
[57dadde5e8] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 66449) [annotate] [blame] [check-ins using] [diff]
2019-06-18
00:06
[7a1d39122e] part of check-in [c15164ca65] Fix typo to fix Win32 (check-in: [c15164ca65] user: js, branch: trunk, size: 66446) [annotate] [blame] [check-ins using] [diff]
2019-06-17
02:33
[3f6a4254de] part of check-in [17d57e01ff] Remove underscores from class names (check-in: [17d57e01ff] user: js, branch: trunk, size: 66446) [annotate] [blame] [check-ins using] [diff]
2019-04-22
16:53
[8cbfa26fc2] part of check-in [0b962df002] OFString_UTF8: Improved range checks (check-in: [0b962df002] user: js, branch: trunk, size: 66493) [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
[fd85923ed1] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 66481) [annotate] [blame] [check-ins using] [diff]
2019-02-03
19:19
[b076cd8540] part of check-in [f19cde3a14] Move a few URL methods from OFString to OFURL (check-in: [f19cde3a14] user: js, branch: trunk, size: 66721) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[ac5117fe19] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 68352) [annotate] [blame] [check-ins using] [diff]
2018-11-24
13:02
[ec2660fdd7] part of check-in [efedce10f7] Fix compilation with --disable-unicode-tables (check-in: [efedce10f7] user: js, branch: trunk, size: 68346) [annotate] [blame] [check-ins using] [diff]
2018-11-17
22:59
[049410036d] part of check-in [b090b5ce92] Various minor style improvements (check-in: [b090b5ce92] user: js, branch: trunk, size: 68309) [annotate] [blame] [check-ins using] [diff]
2018-10-21
18:54
[77745cd7d6] part of check-in [ad3fc136ba] OFURLHandler: Do not depend on OFFileManager

This fixes --disable-files. (check-in: [ad3fc136ba] user: js, branch: trunk, size: 68316) [annotate] [blame] [check-ins using] [diff]

2018-07-28
18:45
[74fc8de204] part of check-in [aa0384d1bf] Rename OFLocalization -> OFLocale (check-in: [aa0384d1bf] user: js, branch: trunk, size: 68295) [annotate] [blame] [check-ins using] [diff]
2018-07-07
21:37
[dfa2e3781a] part of check-in [8939d24b51] Add -[componentsSeparatedByCharactersInSet:] (check-in: [8939d24b51] user: js, branch: trunk, size: 68313) [annotate] [blame] [check-ins using] [diff]
2018-05-13
19:24
[6b9d12d673] part of check-in [5831626f68] platform.h: Rename OF_AMIGAOS3 to OF_AMIGAOS_M68K

The reason for this is that, in theory, this also supports versions
older than 3. (check-in: [5831626f68] user: js, branch: trunk, size: 67053) [annotate] [blame] [check-ins using] [diff]

2018-04-22
23:42
[2d7f2091d4] part of check-in [49cb6ada5f] Make all tests pass on AmigaOS 3

Note: There is still some weirdness in the compiler. Instead of
m68k-amigaos-gcc, you need to use m68k-amigaos-g++ as OBJC, as otherwise
exceptions don't work.

Before running the tests, you need to run "stack 8192". (check-in: [49cb6ada5f] user: js, branch: trunk, size: 67041) [annotate] [blame] [check-ins using] [diff]

17:48
[1882c89ea1] part of check-in [0b07c8fcfa] Make ObjFW compile for AmigaOS 3 (check-in: [0b07c8fcfa] user: js, branch: trunk, size: 66981) [annotate] [blame] [check-ins using] [diff]
2018-04-15
14:48
[c0c777343c] part of check-in [9557564b3a] Print the localization at the end of the tests (check-in: [9557564b3a] user: js, branch: trunk, size: 66891) [annotate] [blame] [check-ins using] [diff]
2018-03-18
00:28
[2a7e99dee8] part of check-in [db0bf9d5a7] Add support for parsing XML property lists (check-in: [db0bf9d5a7] user: js, branch: trunk, size: 65880) [annotate] [blame] [check-ins using] [diff]
2018-03-11
00:37
[1c64791f79] part of check-in [7a488c3062] OFString: Move path handling into a category

This is the first step to have different versions of those for different
operating systems, rather than #ifdefs everywhere.

This also has the nice side-effect of not having one implementation in
OFString and another one in OFString_UTF8 anymore. The one in OFString
was a generic version, while the one in OFString_UTF8 was one optimized
for UTF-8 strings. Now only the version optimized for UTF-8 strings
exists, as this is by far the most common string implementation used,
and the overhead of converting from something else to UTF-8 is not more
than converting to UTF-32. (check-in: [7a488c3062] user: js, branch: trunk, size: 65836) [annotate] [blame] [check-ins using] [diff]

2018-02-25
17:16
[b00db1bc09] 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: 70307) [annotate] [blame] [check-ins using] [diff]

04:31
[8f9360fade] part of check-in [505137f25f] Reintroduce of_char{16,32}_t

There is no reliable way to check if C++ already defined those, as Clang
now defines char{16,32}_t even when it is not in C++ 11 mode. So we
cannot check if we are not in C++ 11 and then define them and otherwise
rely on the C++ 11 types. (check-in: [505137f25f] user: js, branch: trunk, size: 69675) [annotate] [blame] [check-ins using] [diff]

2018-01-15
00:34
[03d1103065] part of check-in [5c08717941] Add -[writeToURL:] (check-in: [5c08717941] user: js, branch: trunk, size: 69570) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[665adcd6a8] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 68996) [annotate] [blame] [check-ins using] [diff]
00:42
[b724e2f129] part of check-in [99cb9ac6f9] -[initWithContentsOfURL:]: Use OFURLHandler (check-in: [99cb9ac6f9] user: js, branch: trunk, size: 68973) [annotate] [blame] [check-ins using] [diff]
2017-11-19
12:56
[6c49aac468] part of check-in [615a9f2eba] Fix compilation with GCC (check-in: [615a9f2eba] user: js, branch: trunk, size: 69178) [annotate] [blame] [check-ins using] [diff]
12:05
[27fbf1ebf8] part of check-in [11f24addd7] Fix warnings introduced by OFComparing change

Since OFComparing no longer conforms to OFObject, OFObject needed to be
added at a few places. (check-in: [11f24addd7] user: js, branch: trunk, size: 69184) [annotate] [blame] [check-ins using] [diff]

2017-11-14
23:27
[2722cbc855] part of check-in [ad18d4f976] Add -[OFString stringByAppendingURLPathComponent:] (check-in: [ad18d4f976] user: js, branch: trunk, size: 69174) [annotate] [blame] [check-ins using] [diff]
23:19
[90e49f1e77] part of check-in [80ac05eb8f] Improve -[stringByAppendingPathComponent:]

This now prevents double slashes / backslashes. (check-in: [80ac05eb8f] user: js, branch: trunk, size: 68846) [annotate] [blame] [check-ins using] [diff]

2017-11-13
21:56
[0ce80cb81c] part of check-in [4f2b0f0847] Add -[OFString indexOfCharacterFromSet:] (check-in: [4f2b0f0847] user: js, branch: trunk, size: 68781) [annotate] [blame] [check-ins using] [diff]
2017-11-12
18:27
[02ef45c9df] part of check-in [34fe205b84] OFFileManager: Major API redesign

This removes all query methods and replaces them by a single one that
returns a dictionary. Not only does this allow querying multiple
attributes at once, it is also more extensible, as the previous
attributes were specific to file URLs. (check-in: [34fe205b84] user: js, branch: trunk, size: 67076) [annotate] [blame] [check-ins using] [diff]

2017-11-06
00:10
[a97d47a4cf] part of check-in [455caa7063] of_string_utf8_encode(): Remove a variable (check-in: [455caa7063] user: js, branch: trunk, size: 66980) [annotate] [blame] [check-ins using] [diff]
2017-11-05
18:25
[42646dafbd] part of check-in [0a4565fb0f] Use -[isMemberOfClass:] instead of object_getClass (check-in: [0a4565fb0f] user: js, branch: trunk, size: 67008) [annotate] [blame] [check-ins using] [diff]
2017-11-04
21:12
[e6724ae75a] part of check-in [ca0621da09] OFString: Improve freeWhenDone in case of error (check-in: [ca0621da09] user: js, branch: 0.90, size: 66435) [annotate] [blame] [check-ins using] [diff]
21:09
[8d27f950a1] part of check-in [9f3a4dfbc0] OFString: Improve freeWhenDone in case of error (check-in: [9f3a4dfbc0] user: js, branch: trunk, size: 67009) [annotate] [blame] [check-ins using] [diff]
16:01
[00802d6b23] part of check-in [1ec122d57c] +[stringWithUTF8StringNoCopy:length:freeWhenDone:] (check-in: [1ec122d57c] user: js, branch: trunk, size: 66874) [annotate] [blame] [check-ins using] [diff]
2017-10-29
00:41
[e0c9985c5f] 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: 66069) [annotate] [blame] [check-ins using] [diff]

2017-10-22
15:05
[66df8d1952] part of check-in [a06354b42a] Make Apple GCC with -Wshadow happy (check-in: [a06354b42a] user: js, branch: trunk, size: 66345) [annotate] [blame] [check-ins using] [diff]
14:09
[29ce2b94a9] part of check-in [31c0f5b89e] Make Apple GCC with -Wshadow happy (check-in: [31c0f5b89e] user: js, branch: 0.90, size: 66368) [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
[0cbd68fca6] 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: 66347) [annotate] [blame] [check-ins using] [diff]

2017-09-24
00:59
[661e4352a9] part of check-in [56a18442e2] Make OFHTTPClient asynchronous

This does not make OFHTTPClientResponse completely asynchronous yet.

Since -[initWithURL:] does not work well with an asynchronous API, it no
longer supports HTTP URLs. However, a new, asynchronous API will be
added as a replacement later on. (check-in: [56a18442e2] user: js, branch: trunk, size: 65583) [annotate] [blame] [check-ins using] [diff]

2017-07-23
18:02
[fc3a0af468] part of check-in [db06863643] Add -[OFString dataWithEncoding:] (check-in: [db06863643] user: js, branch: trunk, size: 66370) [annotate] [blame] [check-ins using] [diff]
17:55
[3b9b1e2811] part of check-in [9aacc26542] Add +[OFString stringWithData:encoding:] (check-in: [9aacc26542] user: js, branch: trunk, size: 66043) [annotate] [blame] [check-ins using] [diff]
2017-07-22
23:04
[18c9b8230b] 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: 65349) [annotate] [blame] [check-ins using] [diff]

20:50
[27f6116ecb] part of check-in [c8f7b90082] Split OFDataArray into OFData and OFMutableData (check-in: [c8f7b90082] user: js, branch: trunk, size: 65352) [annotate] [blame] [check-ins using] [diff]
2017-07-02
13:21
[b020b18390] part of check-in [7989a8db10] Add -[decomposedStringWithCompatibilityMapping] (check-in: [7989a8db10] user: js, branch: trunk, size: 65303) [annotate] [blame] [check-ins using] [diff]
11:55
[6d858b8401] part of check-in [beae8473fb] -[OFString decomposedStringWithCanonicalMapping] (check-in: [beae8473fb] user: js, branch: trunk, size: 64976) [annotate] [blame] [check-ins using] [diff]
2017-06-10
11:46
[b7816611b8] part of check-in [dbdc125802] macros.h: Add of_ascii_isspace() (check-in: [dbdc125802] user: js, branch: trunk, size: 64232) [annotate] [blame] [check-ins using] [diff]
2017-06-04
18:48
[51b9feaad9] part of check-in [c9621825fc] Treat MorphOS + ixemul as a separate platform

This reduces the ifdef hell and makes much more sense, as with ixemul,
no native calls are allowed. (check-in: [c9621825fc] user: js, branch: trunk, size: 65474) [annotate] [blame] [check-ins using] [diff]

2017-06-03
16:17
[41447adc66] part of check-in [fe5b5de3b6] Workaround for libnix strtod not parsing INFINITY (check-in: [fe5b5de3b6] user: js, branch: trunk, size: 65532) [annotate] [blame] [check-ins using] [diff]
12:46
[094992d7f8] part of check-in [4ebeb7e3a2] Make of_(l)stat() private to OFFileManager

Everything else should just use OFFileManager. (check-in: [4ebeb7e3a2] user: js, branch: trunk, size: 64620) [annotate] [blame] [check-ins using] [diff]

2017-05-30
22:01
[fd491800a0] part of check-in [c5c3df3abe] MorphOS: Name variable handle instead of fd (check-in: [c5c3df3abe] user: js, branch: trunk, size: 64573) [annotate] [blame] [check-ins using] [diff]
2017-05-21
21:28
[37a16908bb] 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: 64571) [annotate] [blame] [check-ins using] [diff]

2017-05-07
23:14
[583af651c3] part of check-in [16c05e87e1] Add OF_UNAVAILABLE (check-in: [16c05e87e1] user: js, branch: trunk, size: 64571) [annotate] [blame] [check-ins using] [diff]
21:25
[f26acdf614] part of check-in [37d2a81754] Use char{16,32}_t instead of of_char{16,32}_t (check-in: [37d2a81754] user: js, branch: trunk, size: 64559) [annotate] [blame] [check-ins using] [diff]
20:10
[e0471f5f58] 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: 64664) [annotate] [blame] [check-ins using] [diff]

2017-05-06
22:10
[bfc8b98fd1] part of check-in [32e47a0f36] OFString: Add missing #ifdef (check-in: [32e47a0f36] user: js, branch: trunk, size: 64501) [annotate] [blame] [check-ins using] [diff]
19:43
[1df6e58c9d] part of check-in [cca678886f] Clean up a few includes (check-in: [cca678886f] user: js, branch: trunk, size: 64472) [annotate] [blame] [check-ins using] [diff]
2017-05-02
21:10
[fd629bc278] part of check-in [cc4cb0d824] exceptions: Add nullability specifiers (check-in: [cc4cb0d824] user: js, branch: trunk, size: 64487) [annotate] [blame] [check-ins using] [diff]
2017-03-12
23:40
[99b26a69a8] part of check-in [1bf4f2e210] Fix compilation with --disable-files (check-in: [1bf4f2e210] user: js, branch: trunk, size: 64466) [annotate] [blame] [check-ins using] [diff]
2017-02-05
22:47
[d951599798] part of check-in [52e6e8aa89] Add ISO-8859-3 (check-in: [52e6e8aa89] user: js, branch: trunk, size: 64500) [annotate] [blame] [check-ins using] [diff]
21:22
[318583ea01] part of check-in [2c489201b7] Add KOI8-U encoding (check-in: [2c489201b7] user: js, branch: trunk, size: 63877) [annotate] [blame] [check-ins using] [diff]
01:31
[5396444804] part of check-in [59348cd51d] Add KOI8-R encoding (check-in: [59348cd51d] user: js, branch: trunk, size: 63326) [annotate] [blame] [check-ins using] [diff]
2017-01-19
23:08
[25043e1af3] part of check-in [766eedef4c] Add support for disabling encodings

This allows building a smaller ObjFW if those are not needed. (check-in: [766eedef4c] user: js, branch: trunk, size: 62775) [annotate] [blame] [check-ins using] [diff]

2017-01-18
03:45
[b05a76cd1f] part of check-in [4c8d02cc0d] Move parsing of encoding names to a single place (check-in: [4c8d02cc0d] user: js, branch: trunk, size: 62525) [annotate] [blame] [check-ins using] [diff]
2017-01-17
03:23
[0c0cd023b8] part of check-in [7a27ce7b0b] Add ISO-8859-2 (check-in: [7a27ce7b0b] user: js, branch: trunk, size: 60606) [annotate] [blame] [check-ins using] [diff]
2017-01-15
04:32
[3404c5b7b6] part of check-in [adbf31f2f9] Add codepage 858

This only differs from codepage 850 by a single code point. (check-in: [adbf31f2f9] user: js, branch: trunk, size: 60140) [annotate] [blame] [check-ins using] [diff]

2017-01-11
04:33
[3935514fea] part of check-in [44ea4f9322] Reduce code duplication (check-in: [44ea4f9322] user: js, branch: trunk, size: 59664) [annotate] [blame] [check-ins using] [diff]
04:22
[c458b1a41f] part of check-in [0f88ccfb04] Add Windows-1251 encoding (check-in: [0f88ccfb04] user: js, branch: trunk, size: 61032) [annotate] [blame] [check-ins using] [diff]
2017-01-10
23:23
[a66e682c7d] part of check-in [0832fcf579] Add Mac OS Roman encoding (check-in: [0832fcf579] user: js, branch: trunk, size: 60405) [annotate] [blame] [check-ins using] [diff]
21:38
[f0fd5cc4db] part of check-in [878c25c9d7] Add codepage 850 (check-in: [878c25c9d7] user: js, branch: trunk, size: 59782) [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
[0f58e25244] 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: 59318) [annotate] [blame] [check-ins using] [diff]

06:26
[451da8b217] part of check-in [06bcb21fc7] Add OFLocalization

This singleton gives access to all things locale, including the ability
to get localized strings.

This also adds the OF_LOCALIZED() macro. Its first argument is an ID for
the string to be localized and its second argument is the fallback
string to be used if it cannot retrieve the localized string. Following
that are variable name / value pairs to be replaced in the localized
string.

Getting translated strings is not implemented yet: Instead, it always
uses the fallback string.

This also switches ofhttp to localized strings. (check-in: [06bcb21fc7] user: js, branch: trunk, size: 59312) [annotate] [blame] [check-ins using] [diff]

2017-01-07
03:26
[011cdaca0e] part of check-in [0ad678f125] Use strtof_l, strtod_l and asprintf_l if available

This avoids the hacks introduced in the previous commit, if those
functions are available. (check-in: [0ad678f125] user: js, branch: trunk, size: 59306) [annotate] [blame] [check-ins using] [diff]

02:34
[2a34be912f] part of check-in [6dff0f5922] Always use "." for the decimal point

This is achieved by replacing the locale's decimal point with "." after
formatting and replacing "." with the locale's decimal point before
parsing.

To still use the decimal point from the locale for formatting, the new
flag "," is introduced to formats. This is useful for just printing a
string to the user that is not saved to a file or sent via a network.

While this is an ugly hack, there is no better way to do this other than
implementing the functionality of printf and strtod myself, as POSIX
does not specify versions of these that take a locale as an argument.
While this is a lot of work and error-prone, I will most likely end up
doing this eventually.

This commit also enables the locale in OFApplication to notice when
things break. As a nice side effect, ofhttp now uses the locale's
decimal point in its user interface. (check-in: [6dff0f5922] user: js, branch: trunk, size: 58336) [annotate] [blame] [check-ins using] [diff]

00:37
[4bcce6446e] 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: 58031) [annotate] [blame] [check-ins using] [diff]

2016-09-12
00:27
[d7680287a6] part of check-in [13f4c6c678] Add OF_DEALLOC_UNSUPPORTED macro (check-in: [13f4c6c678] user: js, branch: trunk, size: 58050) [annotate] [blame] [check-ins using] [diff]
2016-08-29
00:05
[719f50f06e] part of check-in [b7b33247d6] configure: Add --disable-unicode-tables option

This is only useful for size-constrained systems and changes the
behavior as follows:

* Case-insensitive comparisons only work as expected for ASCII
characters. This means that while a and A compare equal, ä and Ä do
not.

* -[OFMutableString {upper,lower}] and
-[OFString {upper,lower}caseString] only work on ASCII characters;
all other characters are left as they are. This means that the upper
version of a is A, but the upper version of ä is still ä (and vice
versa for lower). (check-in: [b7b33247d6] user: js, branch: trunk, size: 58106) [annotate] [blame] [check-ins using] [diff]

2016-07-24
00:06
[4050f6aba6] part of check-in [951f530aee] Rename OFHash to OFCryptoHash

OFHash is too generic, as this protocol is for cryptographic hashes. It
also solves the ambiguity of the +[hash] method (which is now
+[cryptoHash]), which conflicted with -[hash] on the class itself,
resulting in classes conforming to OFHash not being able to be used as a
key in an OFDictionary. (check-in: [951f530aee] user: js, branch: trunk, size: 57989) [annotate] [blame] [check-ins using] [diff]

2016-07-03
19:38
[e8667bc529] part of check-in [541aab7a03] -[pathComponents]: Include drive in 1st component (check-in: [541aab7a03] user: js, branch: trunk, size: 57983) [annotate] [blame] [check-ins using] [diff]
2016-05-28
11:37
[63687acf9a] part of check-in [e53a4fd61c] Add a reference to OFStdIOStream_Win32Console

This is required for static linking, as otherwise
+[OFStdIOStream_Win32Console load] will not be called. (check-in: [e53a4fd61c] user: js, branch: trunk, size: 57684) [annotate] [blame] [check-ins using] [diff]

2016-05-22
17:38
[0f58946fa2] part of check-in [6ea8c2f107] Add -[OFString octalValue] (check-in: [6ea8c2f107] user: js, branch: trunk, size: 57684) [annotate] [blame] [check-ins using] [diff]
12:08
[b978deee43] part of check-in [36c2ceaeb0] Fix --disable-files with --enable-sockets (check-in: [36c2ceaeb0] user: js, branch: trunk, size: 56439) [annotate] [blame] [check-ins using] [diff]
2016-05-06
20:39
[6aa1a96c52] part of check-in [2a2e17d8d0] Enable -Wsign-compare (check-in: [2a2e17d8d0] user: js, branch: trunk, size: 56405) [annotate] [blame] [check-ins using] [diff]
2016-03-13
13:16
[51291209ea] part of check-in [a83b261f72] of_string_utf8_decode(): Check all surrogate bytes (check-in: [a83b261f72] user: js, branch: trunk, size: 56346) [annotate] [blame] [check-ins using] [diff]
11:19
[b713fffc4b] part of check-in [5e2ef97c35] Change of_string_utf8_decode() API

It now returns <= 0 on error, with negative values being the number of
bytes it would have needed * -1.

This can be used to detect cut off and how many bytes are missing. (check-in: [5e2ef97c35] user: js, branch: trunk, size: 56129) [annotate] [blame] [check-ins using] [diff]

2016-02-21
15:37
[e3e6e72034] part of check-in [e0b9167693] Make use of C99-style for loops (check-in: [e0b9167693] user: js, branch: trunk, size: 56060) [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:43
[b888341646] part of check-in [cec0f072f8] Update copyright

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

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

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

2015-11-29
14:23
[f76a1b5752] part of check-in [2aca549d60] Clean up class extensions

Now that we can require GCC >= 4.6, we no longer need to fall back to
using a category on old compilers. (check-in: [2aca549d60] user: js, branch: trunk, size: 56014) [annotate] [blame] [check-ins using] [diff]

14:02
[01f9bb127a] part of check-in [6b13727ce0] Make use of fast enumeration

Now that we require GCC >= 4.6 anyway, there's no more reason to not use
it anymore. (check-in: [6b13727ce0] user: js, branch: trunk, size: 56033) [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
[0176c8e382] part of check-in [1ba08eebc5] Add platform.h & make platform defines consistent (check-in: [1ba08eebc5] user: js, branch: trunk, size: 56232) [annotate] [blame] [check-ins using] [diff]
2015-10-04
13:10
[2be273de51] part of check-in [57f386c9a7] OFString: int i -> size_t i (check-in: [57f386c9a7] user: js, branch: trunk, size: 56227) [annotate] [blame] [check-ins using] [diff]
2015-05-14
09:10
[c1b245bad8] part of check-in [dbe286c39f] initWithContentsOfURL: Require files or sockets (check-in: [dbe286c39f] user: js, branch: trunk, size: 56237) [annotate] [blame] [check-ins using] [diff]
2015-05-03
11:34
[ef29c8b8a2] part of check-in [daf78156a7] Check <= SSIZE_MAX before assignign to ssize_t (check-in: [daf78156a7] user: js, branch: trunk, size: 56045) [annotate] [blame] [check-ins using] [diff]
2015-04-11
11:01
[3315fcda12] part of check-in [ff17b98ab2] OFOpenFileFailedException: Rename File -> Item (check-in: [ff17b98ab2] user: js, branch: trunk, size: 55971) [annotate] [blame] [check-ins using] [diff]
2015-02-16
08:39
[52d4d85f15] part of check-in [62e2de30b9] Explicitly pass errno to exceptions

The old behaviour where the exception would access errno directly on
creation of the exception was very fragile. The two main problems with
it were that sometimes it would pick up an errno even though none had
been set and in other cases that when the exception was created errno
had already been overridden.

This also greatly increases errno handling on Win32, especially in
conjunction with sockets. It can still be improved further, though. (check-in: [62e2de30b9] user: js, branch: trunk, size: 55971) [annotate] [blame] [check-ins using] [diff]

2015-01-29
20:58
[e0dd905710] part of check-in [775d6b52a5] -[OFString lastPathComponent]: Return @"" for / (check-in: [775d6b52a5] user: js, branch: trunk, size: 56022) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[b444f3a688] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 55950) [annotate] [blame] [check-ins using] [diff]
2014-10-04
21:59
[f631bc6b9b] part of check-in [ec66e49dca] Add +[OFSystemInfo native8BitEncoding]

This replaces +[OFString nativeOSEncoding]. (check-in: [ec66e49dca] user: js, branch: trunk, size: 55944) [annotate] [blame] [check-ins using] [diff]

2014-07-07
22:28
[1c567dbe1d] part of check-in [65afbedbd4] OFURL: Allow all RFC 1808 compatible schemes (check-in: [65afbedbd4] user: js, branch: trunk, size: 56084) [annotate] [blame] [check-ins using] [diff]
2014-06-21
21:43
[c9e153f6dd] 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: 56115) [annotate] [blame] [check-ins using] [diff]

2014-05-15
15:32
[78d8e753df] part of check-in [7f0359ce68] Fix a few instances of signed vs. unsigned (check-in: [7f0359ce68] user: js, branch: trunk, size: 56158) [annotate] [blame] [check-ins using] [diff]
04:07
[ab26efe707] part of check-in [3c7bf2e50c] Don't return void expressions (check-in: [3c7bf2e50c] user: js, branch: trunk, size: 56115) [annotate] [blame] [check-ins using] [diff]
2014-04-27
19:34
[f4d00fc2db] part of check-in [cd0a632472] Initial Nintendo DS port (check-in: [cd0a632472] user: js, branch: trunk, size: 56122) [annotate] [blame] [check-ins using] [diff]
2014-04-14
09:37
[9584b4567b] part of check-in [cac74a9513] Fix unused variable warning with --disable-files (check-in: [cac74a9513] user: js, branch: trunk, size: 56054) [annotate] [blame] [check-ins using] [diff]
00:45
[3cae95280a] part of check-in [9da9b2b64c] Coding style

No functional change intended. (check-in: [9da9b2b64c] user: js, branch: trunk, size: 56030) [annotate] [blame] [check-ins using] [diff]

2014-02-10
18:56
[5c8d912349] part of check-in [66c20e115f] OFString: Add a cast which is needed on NetBSD (check-in: [66c20e115f] user: js, branch: trunk, size: 55982) [annotate] [blame] [check-ins using] [diff]
2014-02-08
18:04
[ab5f534f76] part of check-in [e07fa89b44] Add JSON5 output option (check-in: [e07fa89b44] user: js, branch: trunk, size: 55977) [annotate] [blame] [check-ins using] [diff]
09:26
[006b401a4b] part of check-in [eaa612ad50] Add -[JSONRepresentationWithOptions:]

This also adds OF_JSON_REPRESENTATION_PRETTY. (check-in: [eaa612ad50] user: js, branch: trunk, size: 55435) [annotate] [blame] [check-ins using] [diff]

2014-01-19
14:17
[f9a79a3ca8] part of check-in [e66defc073] Add Unicode -> Codepage 437 conversion. (check-in: [e66defc073] user: js, branch: trunk, size: 55055) [annotate] [blame] [check-ins using] [diff]
14:10
[04e1844f94] part of check-in [7c26551b67] Clean up Unicode -> * conversions. (check-in: [7c26551b67] user: js, branch: trunk, size: 54604) [annotate] [blame] [check-ins using] [diff]
2014-01-17
16:41
[17a63459d4] part of check-in [a1bcdc2ff6] Move Unicode -> * conversions to separate files. (check-in: [a1bcdc2ff6] user: js, branch: trunk, size: 54663) [annotate] [blame] [check-ins using] [diff]
03:12
[48162efaaf] part of check-in [1b0a5cf829] Add -[OFString lossyCStringWithEncoding:]. (check-in: [1b0a5cf829] user: js, branch: trunk, size: 57113) [annotate] [blame] [check-ins using] [diff]
2014-01-16
23:38
[548eca2146] part of check-in [e54c8c0368] Add +[OFString nativeOSEncoding].

This replaces OF_STRING_ENCODING_NATIVE, as a define was not flexible
enough (determining the native OS encoding at startup was not possible). (check-in: [e54c8c0368] user: js, branch: trunk, size: 55470) [annotate] [blame] [check-ins using] [diff]

2014-01-09
00:01
[699fa5f856] part of check-in [f89edd8ed9] Add --disable-files configure flag. (check-in: [f89edd8ed9] user: js, branch: trunk, size: 55375) [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
[8041d2c2b7] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 55135) [annotate] [blame] [check-ins using] [diff]
2013-12-01
11:50
[0e48ad1696] part of check-in [00dbb47969] Clean up the path delimiter mess. (check-in: [00dbb47969] user: js, branch: trunk, size: 55129) [annotate] [blame] [check-ins using] [diff]
02:08
[95256ec388] part of check-in [a0b63a8df4] Port to DOS/DJGPP.

The port was much easier than expected. The only changes that were
required were defining the missing lrint() and useconds_t, the rest was
optional (like using backslashes for paths, even though slashes work
fine). (check-in: [a0b63a8df4] user: js, branch: trunk, size: 55950) [annotate] [blame] [check-ins using] [diff]

2013-11-23
01:27
[cca222946b] part of check-in [6e19bd47ee] Add OF_UNRECOGNIZED_SELECTOR. (check-in: [6e19bd47ee] user: js, branch: trunk, size: 55747) [annotate] [blame] [check-ins using] [diff]
01:12
[5368d29b65] part of check-in [35dafd5c57] Add OF_INVALID_INIT_METHOD. (check-in: [35dafd5c57] user: js, branch: trunk, size: 55819) [annotate] [blame] [check-ins using] [diff]
2013-10-30
00:09
[c9aea4c452] part of check-in [7561b9244e] OFStringTests: Fix a path test on Win32. (check-in: [7561b9244e] user: js, branch: trunk, size: 56347) [annotate] [blame] [check-ins using] [diff]
2013-09-15
18:51
[afe2a7a5d7] part of check-in [29e4d00225] OFAutoreleasePool: Free pool cache on thread exit. (check-in: [29e4d00225] user: js, branch: trunk, size: 56351) [annotate] [blame] [check-ins using] [diff]
2013-08-25
21:16
[08f92f7b9f] part of check-in [37dc5d933f] Add -[OFString pathExtension]. (check-in: [37dc5d933f] user: js, branch: trunk, size: 56351) [annotate] [blame] [check-ins using] [diff]
20:59
[9aca46e7ea] part of check-in [0222de872b] Add -[OFString stringByDeletingPathExtension]. (check-in: [0222de872b] user: js, branch: trunk, size: 55887) [annotate] [blame] [check-ins using] [diff]
2013-08-15
19:00
[742f45a0e9] part of check-in [1d7a1cbca0] Move private methods into private headers. (check-in: [1d7a1cbca0] user: js, branch: trunk, size: 55053) [annotate] [blame] [check-ins using] [diff]
2013-08-14
19:17
[6989417794] part of check-in [7c4179ab9b] +[stringWithPath:] -> +[pathWithComponents:].

This removes -[initWithPath:,...], so that it's finally possible to use
-[initWithPath:] for many places where a workaround like
-[initWithDirectoryPath:] was required before. (check-in: [7c4179ab9b] user: js, branch: trunk, size: 55019) [annotate] [blame] [check-ins using] [diff]

2013-07-29
19:43
[db848cd405] part of check-in [36d0b1e2d8] Rename OFHTTPRequestReply to OFHTTPResponse. (check-in: [36d0b1e2d8] user: js, branch: trunk, size: 55445) [annotate] [blame] [check-ins using] [diff]
2013-06-22
12:12
[dc3e1b10e9] 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: 55435) [annotate] [blame] [check-ins using] [diff]

2013-06-19
19:14
[b10086fe78] part of check-in [cba771824e] Implement the new MessagePack specification.

No support for extensions yet.

This obsoletes BinaryPack. (check-in: [cba771824e] user: js, branch: trunk, size: 56601) [annotate] [blame] [check-ins using] [diff]

2013-06-17
09:36
[efdad56a90] part of check-in [379d75e1bc] OFString: Fix standardize_path().

It still needs some more special casing for Windows. (check-in: [379d75e1bc] user: js, branch: trunk, size: 56600) [annotate] [blame] [check-ins using] [diff]

2013-04-26
19:42
[250db502f2] part of check-in [590c377d8a] Make it possible to disable sockets. (check-in: [590c377d8a] user: js, branch: trunk, size: 56139) [annotate] [blame] [check-ins using] [diff]
2013-03-04
17:20
[76e87b40ed] 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: 55902) [annotate] [blame] [check-ins using] [diff]

2013-02-24
10:41
[2d59404d46] part of check-in [c4df7d61b6] Update to BinaryPack1pre2. (check-in: [c4df7d61b6] user: js, branch: trunk, size: 55844) [annotate] [blame] [check-ins using] [diff]
2013-02-23
10:03
[d8fe56c8e7] part of check-in [19f5a60438] Update to BinaryPack1pre1. (check-in: [19f5a60438] user: js, branch: trunk, size: 55844) [annotate] [blame] [check-ins using] [diff]
2013-02-21
19:35
[e8f0aa0e9e] part of check-in [23c798d4f1] Add support for generating BinaryPack. (check-in: [23c798d4f1] user: js, branch: trunk, size: 55624) [annotate] [blame] [check-ins using] [diff]
2013-02-05
22:24
[6fe7a945dd] part of check-in [737a82e1a4] Move abort() to make old GCCs happy. (check-in: [737a82e1a4] user: js, branch: trunk, size: 54660) [annotate] [blame] [check-ins using] [diff]
2013-01-26
00:13
[537b9ea7bb] part of check-in [bdf9c4d96b] Make OFHTTPRequestReply a stream.

This also implements chunked transfer encoding for OFHTTPServer and adds
a property for the protocol version to OFHTTPRequest(Reply).

Additionally, this makes it possible to add an async version of
OFHTTPClient. (check-in: [bdf9c4d96b] user: js, branch: trunk, size: 54660) [annotate] [blame] [check-ins using] [diff]

2013-01-23
21:52
[7077269c5c] part of check-in [ea4a43461c] Never compare to @"", use length instead. (check-in: [ea4a43461c] user: js, branch: trunk, size: 54291) [annotate] [blame] [check-ins using] [diff]
2013-01-16
14:27
[0f2f5910d1] part of check-in [7694d37135] OFString: Add -[getCString:maxLength:encoding:]. (check-in: [7694d37135] user: js, branch: trunk, size: 54297) [annotate] [blame] [check-ins using] [diff]
2013-01-15
02:33
[857f08a203] part of check-in [7a14ffd2cb] -[OFString cStringWithEncoding:]: Add Windows-1252 (check-in: [7a14ffd2cb] user: js, branch: trunk, size: 53346) [annotate] [blame] [check-ins using] [diff]
00:01
[a4348af620] part of check-in [14a638f75e] -[OFString cStringWithEncoding:]: Add ISO 8859-15. (check-in: [14a638f75e] user: js, branch: trunk, size: 51335) [annotate] [blame] [check-ins using] [diff]
2013-01-14
23:57
[a4fa320751] part of check-in [18ad960654] OFString: Add -[writeToFile:encoding:]. (check-in: [18ad960654] user: js, branch: trunk, size: 50288) [annotate] [blame] [check-ins using] [diff]
2013-01-13
13:07
[3b195e39ec] part of check-in [545b6f740e] Add of_char{16,32}_t.

For ObjC++, these are defined to char{16,32}_t if C++11 is used. This
means passing e.g. a C++11 UTF-16 string to -[initWithUTF16String:]
works without a warning.

For C11, this is not necessary, as char{16,32}_t are just typedef'd to
uint_least{16,32}_t in <uchar.h> and thus compatible to the definition
of of_char{16,32}_t. The reason for not defining of_char{16,32}_t to
char{16,32}_t when using C11 is that <uchar.h> might be missing and that
char{16,32}_t are not required to be UTF-{16,32}, whereas in C++, they
are required to be UTF-{16,32}. (check-in: [545b6f740e] user: js, branch: trunk, size: 50107) [annotate] [blame] [check-ins using] [diff]

2013-01-12
17:29
[cb1b20524f] part of check-in [9ddd33a258] Rename *UsingEncoding: to *WithEncoding:.

This reverts 5362941.

Even though *UsingEncoding: is what Foundation uses, *WithEncoding: is
more natural and is more consistent with the rest. Also, this means this
restores it to the API of 0.7. (check-in: [9ddd33a258] user: js, branch: trunk, size: 50018) [annotate] [blame] [check-ins using] [diff]

2013-01-11
12:41
[5a8a220443] part of check-in [50916b8dbe] OFString: Improve API for characters / UTF-32.

With this change, there is a clear separation between characters and
UTF-32 strings now. Characters are just an array of characters in the
native endianess, with no BOM prepended. UTF-32 on the other hand may
have a BOM and can be swapped and is optionally zero-terminated.

This also fixes a few missing UTF-16 init methods in OFMutableString. (check-in: [50916b8dbe] user: js, branch: trunk, size: 50023) [annotate] [blame] [check-ins using] [diff]

2013-01-09
22:24
[4f19bc623c] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 49457) [annotate] [blame] [check-ins using] [diff]
2013-01-08
12:33
[2ad39db524] part of check-in [7cddd5f891] OFString: Add methods for UTF-32. (check-in: [7cddd5f891] user: js, branch: trunk, size: 49451) [annotate] [blame] [check-ins using] [diff]
2013-01-07
22:07
[6044846057] part of check-in [9d3cd5e5fe] OFString: Zero-terminate UTF-16 strings.

This partly reverts e8502c7.

The rationale behind this is that, on some OSes, native APIs (on e.g.
Windows) take UTF-16 strings that are zero-terminated.

However, forcing zero-termination for every string so that -[characters]
returns a zero-terminated UTF-32 string does not make sense. Therefore,
in the future, -[UTF32String] will be added, which will include
zero-termination. OFString subclasses can then just return their
internal representation if it includes a terminating zero or create a
copy that has a terminating zero if not. (check-in: [9d3cd5e5fe] user: js, branch: trunk, size: 47681) [annotate] [blame] [check-ins using] [diff]

13:35
[9b71ee7ecc] part of check-in [02ca89285f] Improve API for UTF-16 strings. (check-in: [02ca89285f] user: js, branch: trunk, size: 46480) [annotate] [blame] [check-ins using] [diff]
2012-12-30
00:22
[e59e2f0949] part of check-in [c16e6aca56] Fix -[initWithUTF8StringNoCopy:freeWhenDone:]. (check-in: [c16e6aca56] user: js, branch: trunk, size: 45855) [annotate] [blame] [check-ins using] [diff]
2012-12-29
17:56
[2366afaf49] part of check-in [640b225ba7] OFString: Improve API for Unicode strings.

* Instead of Unicode "strings", it uses the term "Unicode character
array".
* No terminating 0 character anymore, as these are not C strings
anyway. (check-in: [640b225ba7] user: js, branch: trunk, size: 45873) [annotate] [blame] [check-ins using] [diff]

14:43
[03c484c2ac] part of check-in [374956b098] Prettify some code. (check-in: [374956b098] user: js, branch: trunk, size: 48102) [annotate] [blame] [check-ins using] [diff]
2012-12-26
20:55
[f223cdd779] part of check-in [75f187cef5] OFHTTPRequestResult -> OFHTTPRequestReply.

The class also has its own file now. (check-in: [75f187cef5] user: js, branch: trunk, size: 46591) [annotate] [blame] [check-ins using] [diff]

19:55
[8288fa97d2] part of check-in [b98fd10000] Add -[OFString stringByStandardizing(URL)Path]. (check-in: [b98fd10000] user: js, branch: trunk, size: 46568) [annotate] [blame] [check-ins using] [diff]
2012-12-22
15:37
[5f30990c6d] part of check-in [917ce5754c] Add -[doesNotRecognizeSelector:]. (check-in: [917ce5754c] user: js, branch: trunk, size: 45395) [annotate] [blame] [check-ins using] [diff]
2012-12-16
15:04
[9b74d0387e] part of check-in [f835847243] Fix a missing exception argument. (check-in: [f835847243] user: js, branch: trunk, size: 45623) [annotate] [blame] [check-ins using] [diff]
14:57
[221b9ffe16] part of check-in [aecadefe62] Add -[stringByAppendingFormat:arguments:]. (check-in: [aecadefe62] user: js, branch: trunk, size: 45599) [annotate] [blame] [check-ins using] [diff]
01:15
[29ef9c669e] part of check-in [556234e290] Add encodings for -[cStringUsingEncoding:].

This adds ISO 8859-1 and ASCII, ISO 8859-15 and Windows-1252 will
follow. (check-in: [556234e290] user: js, branch: trunk, size: 45390) [annotate] [blame] [check-ins using] [diff]

2012-12-15
23:31
[10b3048cbe] part of check-in [e2f4c1283c] OFString: Improved API for getting C strings. (check-in: [e2f4c1283c] user: js, branch: trunk, size: 44720) [annotate] [blame] [check-ins using] [diff]
17:52
[712053e8f6] part of check-in [c85ff8d35a] OFDataArray: Improve API. (check-in: [c85ff8d35a] user: js, branch: trunk, size: 44556) [annotate] [blame] [check-ins using] [diff]
2012-12-09
12:31
[90ef2353c5] part of check-in [b55b4ab87b] Fix +[OFString stringWithUTF8StringNoCopy:…]. (check-in: [b55b4ab87b] user: js, branch: trunk, size: 44557) [annotate] [blame] [check-ins using] [diff]
12:13
[376b86841b] part of check-in [2b7a70e246] Split OFHTTPRequest into OFHTTP{Client,Request}. (check-in: [2b7a70e246] user: js, branch: trunk, size: 44332) [annotate] [blame] [check-ins using] [diff]
2012-11-11
12:12
[f8021112b9] part of check-in [da23dca008] Add -[OFString stringByAppendingFormat:]. (check-in: [da23dca008] user: js, branch: trunk, size: 44236) [annotate] [blame] [check-ins using] [diff]
2012-10-29
07:59
[38b0945b74] part of check-in [63bf4de97b] Documentation improvements. (check-in: [63bf4de97b] user: js, branch: trunk, size: 43929) [annotate] [blame] [check-ins using] [diff]
2012-10-21
22:12
[5ea7b40c2a] part of check-in [fcade8da38] Make GCC 4.4 happy. (check-in: [fcade8da38] user: js, branch: trunk, size: 43929) [annotate] [blame] [check-ins using] [diff]
2012-10-16
14:47
[5e5459873a] part of check-in [fcaa549324] A few more API improvements.

This should make it more future-proof, as adding new options is easier
than adding new methods for each and every combination of options. (check-in: [fcaa549324] user: js, branch: trunk, size: 43946) [annotate] [blame] [check-ins using] [diff]

2012-10-14
10:36
[3bdf38b289] part of check-in [53af033b0e] More integer overflow checks. (check-in: [53af033b0e] user: js, branch: trunk, size: 43908) [annotate] [blame] [check-ins using] [diff]
00:59
[10f45f3070] part of check-in [f38744df74] OF_INVALID_INDEX -> OF_NOT_FOUND. (check-in: [f38744df74] user: js, branch: trunk, size: 43859) [annotate] [blame] [check-ins using] [diff]
00:54
[651cb0fc54] part of check-in [c9433ea60d] range.start -> range.location. (check-in: [c9433ea60d] user: js, branch: trunk, size: 43867) [annotate] [blame] [check-ins using] [diff]
2012-10-13
22:21
[9f1383c46f] part of check-in [20dddc7345] Add -[OFString rangeOfString:options:range:]. (check-in: [20dddc7345] user: js, branch: trunk, size: 43852) [annotate] [blame] [check-ins using] [diff]
21:06
[3d2b1f904a] part of check-in [1cb8fee5c3] of_bswap* -> OF_BSWAP*.

This makes it clear that multiple evaluation of parameters is possible. (check-in: [1cb8fee5c3] user: js, branch: trunk, size: 43092) [annotate] [blame] [check-ins using] [diff]

20:50
[2ae4fee8c1] part of check-in [9cfefe9c30] Move UTF-8 functions to OFString_UTF8.m. (check-in: [9cfefe9c30] user: js, branch: trunk, size: 43092) [annotate] [blame] [check-ins using] [diff]
20:02
[6a39e4a81c] part of check-in [5209390938] indexOfFirstOccurrenceOfString -> rangeOfString. (check-in: [5209390938] user: js, branch: trunk, size: 46567) [annotate] [blame] [check-ins using] [diff]
19:30
[ba03f0d3c5] part of check-in [255fd75828] of_endianess_t -> of_byte_order_t. (check-in: [255fd75828] user: js, branch: trunk, size: 46754) [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
[9dca518311] part of check-in [fb515e8e24] Make use of instancetype. (check-in: [fb515e8e24] user: js, branch: trunk, size: 46738) [annotate] [blame] [check-ins using] [diff]
2012-10-02
11:05
[813606e445] part of check-in [991ced5333] OFHTTPRequestFailedException: Naming consistency (check-in: [991ced5333] user: js, branch: trunk, size: 46416) [annotate] [blame] [check-ins using] [diff]
2012-09-16
15:27
[113cc54e20] part of check-in [c137da5e5b] Prefix all private methods with OF_. (check-in: [c137da5e5b] user: js, branch: trunk, size: 46416) [annotate] [blame] [check-ins using] [diff]
2012-09-09
14:36
[72e4d9a7ba] part of check-in [56df9c44de] OFNumber: Implement OFComparing. (check-in: [56df9c44de] user: js, branch: trunk, size: 46420) [annotate] [blame] [check-ins using] [diff]
2012-09-06
19:13
[0e4634027e] part of check-in [3659c87c63] Add -[OFString initWithUTF8String:freeWhenDone:]. (check-in: [3659c87c63] user: js, branch: trunk, size: 46395) [annotate] [blame] [check-ins using] [diff]
2012-08-10
20:08
[bc6ced3df8] 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: 46045) [annotate] [blame] [check-ins using] [diff]

2012-07-17
01:11
[ff0024cc41] part of check-in [91dc019442] MinGW fixes, mainly workaround for broken strtod. (check-in: [91dc019442] user: js, branch: trunk, size: 45943) [annotate] [blame] [check-ins using] [diff]
2012-07-16
22:44
[7b53d00689] part of check-in [ff8b2a6c29] Don't require extra parentheses for OF_(UN)LIKELY. (check-in: [ff8b2a6c29] user: js, branch: trunk, size: 45796) [annotate] [blame] [check-ins using] [diff]
2012-07-12
01:28
[2da268688d] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 45810) [annotate] [blame] [check-ins using] [diff]
2012-07-06
15:00
[b81efdf820] part of check-in [9a2430abfc] Add -[OFString capitalizedString]. (check-in: [9a2430abfc] user: js, branch: trunk, size: 45458) [annotate] [blame] [check-ins using] [diff]
2012-07-04
22:50
[7e10de457a] part of check-in [8e995a13e7] Rename -[{upper,lower}] to -[{upper,lower}case]. (check-in: [8e995a13e7] user: js, branch: trunk, size: 45307) [annotate] [blame] [check-ins using] [diff]
20:31
[a7f2176e75] part of check-in [ba0a921534] Fix a bug in -[initWithContentsOfURL:encoding:]. (check-in: [ba0a921534] user: js, branch: trunk, size: 45299) [annotate] [blame] [check-ins using] [diff]
2012-07-01
20:56
[e165bf4e50] part of check-in [e810b8ab15] Reference OFConstantString in OFString.

This is necessary for static linking. Without this, the runtime keeps
static instances of class OFConstantString forever in its list of
objects to initialize. This resulted in string literals still having
their isa set to Nil and thus a crash on the first dispatch. (check-in: [e810b8ab15] user: js, branch: runtime, size: 45339) [annotate] [blame] [check-ins using] [diff]

2012-06-10
13:28
[a987125a46] part of check-in [11d3d69a22] More API improvements. (check-in: [11d3d69a22] user: js, branch: trunk, size: 45265) [annotate] [blame] [check-ins using] [diff]
2012-06-07
12:03
[3028812e1c] part of check-in [0d4059306a] Rework OFStream API. (check-in: [0d4059306a] user: js, branch: trunk, size: 45283) [annotate] [blame] [check-ins using] [diff]
2012-06-06
13:47
[788fd6f59d] part of check-in [f7576a66ce] Slightly change the memory management API.

Also fix a bug where OFBigDataArray would waste memory. (check-in: [f7576a66ce] user: js, branch: trunk, size: 45289) [annotate] [blame] [check-ins using] [diff]

2012-05-22
12:59
[40151bee8f] part of check-in [868e1611f4] Add -[OFString stringByAppendingPathComponent:]. (check-in: [868e1611f4] user: js, branch: trunk, size: 45279) [annotate] [blame] [check-ins using] [diff]
2012-03-17
15:48
[bcea8a4ed5] part of check-in [0dafdc4730] One malloc less for creating an immutable UTF-8 string. (check-in: [0dafdc4730] user: js, branch: trunk, size: 45151) [annotate] [blame] [check-ins using] [diff]
2012-02-28
14:29
[be0c82cd5b] part of check-in [92412c8453] Don't use alloca, as it could be unsafe. (check-in: [92412c8453] user: js, branch: 0.6, size: 43907) [annotate] [blame] [check-ins using] [diff]
14:29
[f2bf50723c] part of check-in [439216041b] Don't use alloca, as it could be unsafe. (check-in: [439216041b] user: js, branch: trunk, size: 44245) [annotate] [blame] [check-ins using] [diff]
2012-02-27
12:25
[eb65ec8863] part of check-in [c007c0d4f7] Add -[OFString componentsSeparatedByString:skipEmpty:]. (check-in: [c007c0d4f7] user: js, branch: trunk, size: 44096) [annotate] [blame] [check-ins using] [diff]
2012-01-31
18:59
[793d434ba8] part of check-in [e5fe02de61] Add -[OFMutableString replaceOccurrencesOfString:withString:inRange:]. (check-in: [e5fe02de61] user: js, branch: trunk, size: 43758) [annotate] [blame] [check-ins using] [diff]
2012-01-24
11:57
[3219cfa2ad] part of check-in [af56ce47e0] Compare pointers of strings before comparing the string content. (check-in: [af56ce47e0] user: js, branch: trunk, size: 43414) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[e0f353ec6a] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 43277) [annotate] [blame] [check-ins using] [diff]
2012-01-01
19:41
[293d78932d] part of check-in [d871468a3a] Some MinGW versions are missing alloca() in <stdlib.h>. (check-in: [d871468a3a] user: js, branch: trunk, size: 43271) [annotate] [blame] [check-ins using] [diff]
2011-12-26
16:57
[3c525cf553] part of check-in [ea76dec036] Implement -[UTF8String] and -[UTF8StringLength] in OFString. (check-in: [ea76dec036] user: js, branch: trunk, size: 43228) [annotate] [blame] [check-ins using] [diff]
2011-12-10
21:46
[eb1dd81502] part of check-in [8ba0a62c0d] Add JSON parsing. (check-in: [8ba0a62c0d] user: js, branch: trunk, size: 41755) [annotate] [blame] [check-ins using] [diff]
13:17
[ff90d8d582] part of check-in [243a96fc2d] Add JSON encoding. (check-in: [243a96fc2d] user: js, branch: trunk, size: 41719) [annotate] [blame] [check-ins using] [diff]
2011-11-21
16:47
[598d9c6c56] part of check-in [d8a6ca3fbd] There is no need to hash 32 bit per character if Unicode has only 24. (check-in: [d8a6ca3fbd] user: js, branch: trunk, size: 40976) [annotate] [blame] [check-ins using] [diff]
2011-11-20
18:41
[c57b8a6b12] part of check-in [301ee63212] Make OFString a class cluster.

It is a class cluster now, but there is still much to improve. (check-in: [301ee63212] user: js, branch: trunk, size: 41020) [annotate] [blame] [check-ins using] [diff]

2011-10-31
22:02
[e38e775f82] part of check-in [a51b3cb390] Add -[UTF16String] to OFString. (check-in: [a51b3cb390] user: js, branch: trunk, size: 44178) [annotate] [blame] [check-ins using] [diff]
22:01
[1d69719094] part of check-in [f412995e6a] Assume big endian encoding for UTF16 if none is specified and no BOM.

This was changed from native to big endian because UCS-2 is defined to
be big endian. (check-in: [f412995e6a] user: js, branch: trunk, size: 43212) [annotate] [blame] [check-ins using] [diff]

21:20
[37713bd91c] part of check-in [dcf50eb53a] Don't prepend a BOM when using -[unicodeString]. (check-in: [dcf50eb53a] user: js, branch: trunk, size: 43204) [annotate] [blame] [check-ins using] [diff]
2011-10-29
01:36
[7ae1259373] part of check-in [4d6f7fc529] Make return type of -[unicodeString] const. (check-in: [4d6f7fc529] user: js, branch: trunk, size: 43225) [annotate] [blame] [check-ins using] [diff]
00:00
[ac74e2bb50] part of check-in [49cf155269] Make the parameter for +[stringWith{Unicode,UTF16}String:] const. (check-in: [49cf155269] user: js, branch: trunk, size: 43219) [annotate] [blame] [check-ins using] [diff]
2011-10-11
21:55
[f8793e2293] part of check-in [6cbbd7c39c] Don't use madvise().

It turns out the overhead of calling madvise() is bigger than the gain
of using it. (check-in: [6cbbd7c39c] user: js, branch: trunk, size: 43123) [annotate] [blame] [check-ins using] [diff]

2011-09-28
14:38
[83cfd0201b] part of check-in [9e82f99f09] Various small bugfixes. (check-in: [9e82f99f09] user: js, branch: trunk, size: 43701) [annotate] [blame] [check-ins using] [diff]
2011-09-22
23:25
[93030ae4fe] 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: 43700) [annotate] [blame] [check-ins using] [diff]

2011-09-19
16:34
[5fcda1615b] part of check-in [f173477bef] Rename -[allocMemoryForNItems:withSize:] and friends.
It is now -[allocMemoryForNItems:ofSize:].
(check-in: [f173477bef] user: js, branch: trunk, size: 43440) [annotate] [blame] [check-ins using] [diff]
12:34
[1e80f1fdb6] part of check-in [d43eb177bc] BOOL naming conventions. (check-in: [d43eb177bc] user: js, branch: trunk, size: 43440) [annotate] [blame] [check-ins using] [diff]
2011-09-15
19:26
[ba997373bf] part of check-in [6dd03a129e] Add -[enumerateLinesUsingBlock:] to OFString. (check-in: [6dd03a129e] user: js, branch: trunk, size: 43488) [annotate] [blame] [check-ins using] [diff]
2011-09-12
19:57
[f1011efbdf] part of check-in [e6fd39d11e] Rename -[cString] to -[UTF8String]. (check-in: [e6fd39d11e] user: js, branch: trunk, size: 42682) [annotate] [blame] [check-ins using] [diff]
18:57
[21b462a461] part of check-in [90369e9323] Add -[cStringWithEncoding:] and -[cStringLengthWithEncoding:]. (check-in: [90369e9323] user: js, branch: trunk, size: 42469) [annotate] [blame] [check-ins using] [diff]
18:26
[a0631a1efb] part of check-in [7920f081ec] Add OF_STRING_ENCODING_ASCII. (check-in: [7920f081ec] user: js, branch: trunk, size: 41676) [annotate] [blame] [check-ins using] [diff]
2011-09-10
20:24
[eb163b9c24] part of check-in [7eff7e3918] Treat \f as whitespace. (check-in: [7eff7e3918] user: js, branch: trunk, size: 41514) [annotate] [blame] [check-ins using] [diff]
17:46
[a9a4d55e1d] part of check-in [a8b61d68ae] Add -[stringByReplacingOccurrencesOfString:withString:]. (check-in: [a8b61d68ae] user: js, branch: trunk, size: 41266) [annotate] [blame] [check-ins using] [diff]
2011-09-09
13:35
[45f23dd776] part of check-in [798d9e6320] [pool release] can never throw by convention now. (check-in: [798d9e6320] user: js, branch: trunk, size: 40975) [annotate] [blame] [check-ins using] [diff]
2011-08-07
16:57
[6c62052489] part of check-in [927dbf6e7d] Add -[makeImmutable] to all mutable classes and use it. (check-in: [927dbf6e7d] user: js, branch: trunk, size: 41002) [annotate] [blame] [check-ins using] [diff]
2011-08-04
16:48
[e16259c02d] part of check-in [f977192a23] Get rid of -[*FromIndex:toIndex:]. (check-in: [f977192a23] user: js, branch: trunk, size: 42540) [annotate] [blame] [check-ins using] [diff]
2011-08-03
00:30
[9e62f802e4] part of check-in [a855618045] Make OFArray an abstract class. (check-in: [a855618045] user: js, branch: trunk, size: 42736) [annotate] [blame] [check-ins using] [diff]
2011-07-09
14:45
[fee37530e3] part of check-in [36e8a94f34] Cache the length of a string.

Also removes -[appendCStringWithoutUTF8Checking:] as it is dangerous and
not compatible with this optimization. (check-in: [36e8a94f34] user: js, branch: trunk, size: 43190) [annotate] [blame] [check-ins using] [diff]

12:04
[d68d151905] part of check-in [1c65e229e8] Optimize +[stringWithPath:]. (check-in: [1c65e229e8] user: js, branch: trunk, size: 42707) [annotate] [blame] [check-ins using] [diff]
00:00
[ee8d4c3fc0] part of check-in [51dff30395] Check for more invalid UTF-8 byte sequences. (check-in: [51dff30395] user: js, branch: trunk, size: 42697) [annotate] [blame] [check-ins using] [diff]
2011-07-08
21:08
[518f441548] part of check-in [e250800382] Optimize +[stringWithString:] and -[appendString:]. (check-in: [e250800382] user: js, branch: trunk, size: 42518) [annotate] [blame] [check-ins using] [diff]
20:13
[39b88703df] part of check-in [7c66260ead] Rename -[deleteLeadingAndTrailingWhitespaces]. (check-in: [7c66260ead] user: js, branch: trunk, size: 42846) [annotate] [blame] [check-ins using] [diff]
20:07
[92607cf374] part of check-in [7d9efc3924] Rename OF_PATH_DELIM to OF_PATH_DELIMITER. (check-in: [7d9efc3924] user: js, branch: trunk, size: 42864) [annotate] [blame] [check-ins using] [diff]
19:58
[c391b87c87] part of check-in [2fca00b926] Fix wrong calculated cStringLength in +[stringWithUTF16String:]. (check-in: [2fca00b926] user: js, branch: trunk, size: 42832) [annotate] [blame] [check-ins using] [diff]
19:15
[77cf5c9b5c] part of check-in [3ffa55524a] Rename ivars in OFString struct to prevent prospective name conflicts. (check-in: [3ffa55524a] user: js, branch: trunk, size: 42742) [annotate] [blame] [check-ins using] [diff]
15:29
[9224bd11b0] part of check-in [0b846bcc4a] Make it possible to add more ivars to OFConstantString. (check-in: [0b846bcc4a] user: js, branch: trunk, size: 41136) [annotate] [blame] [check-ins using] [diff]
2011-07-07
23:19
[8f7c85175f] part of check-in [f6c05b68cf] Fix missing character check in +[stringWithUTF16String:]. (check-in: [f6c05b68cf] user: js, branch: trunk, size: 40366) [annotate] [blame] [check-ins using] [diff]
2011-07-06
22:55
[de837b0b69] part of check-in [7558e235fe] Only allow an OFConstantString as format. (check-in: [7558e235fe] user: js, branch: trunk, size: 40365) [annotate] [blame] [check-ins using] [diff]
2011-06-28
01:51
[88ca1bcd74] part of check-in [756bb26c98] Change serialization format to be way more readable and shorter. (check-in: [756bb26c98] user: js, branch: trunk, size: 40341) [annotate] [blame] [check-ins using] [diff]
2011-06-06
16:19
[44fb801c23] part of check-in [048ed62083] Remove semicolons that should not have been there. (check-in: [048ed62083] user: js, branch: 0.5, size: 29421) [annotate] [blame] [check-ins using] [diff]
16:18
[e237ea2567] part of check-in [65ec63f7c1] Remove semicolons that should not have been there. (check-in: [65ec63f7c1] user: js, branch: trunk, size: 40441) [annotate] [blame] [check-ins using] [diff]
16:05
[f7f948e263] part of check-in [265ebf1d85] Add missing imports to make gcc from trunk happy. (check-in: [265ebf1d85] user: js, branch: 0.5, size: 29422) [annotate] [blame] [check-ins using] [diff]
15:53
[52dddcfe5c] part of check-in [df329a38cd] Add missing imports to make gcc from trunk happy. (check-in: [df329a38cd] user: js, branch: trunk, size: 40443) [annotate] [blame] [check-ins using] [diff]
2011-06-05
22:26
[e6606bec8f] part of check-in [29988c434b] Nicer API for serialization. (check-in: [29988c434b] user: js, branch: trunk, size: 40419) [annotate] [blame] [check-ins using] [diff]
20:45
[56cd9db202] part of check-in [5b7d19e956] Add -[stringByPrependingString:] to OFString. (check-in: [5b7d19e956] user: js, branch: trunk, size: 40379) [annotate] [blame] [check-ins using] [diff]
19:27
[36cad4391c] part of check-in [183825f113] Add OFNull class. (check-in: [183825f113] user: js, branch: trunk, size: 39954) [annotate] [blame] [check-ins using] [diff]
2011-06-04
13:34
[24bf0bd650] part of check-in [675eda4ad3] Remove useless casts. (check-in: [675eda4ad3] user: js, branch: trunk, size: 39953) [annotate] [blame] [check-ins using] [diff]
2011-06-03
15:14
[6df5a31603] part of check-in [dca3061dfc] Add deserialization. (check-in: [dca3061dfc] user: js, branch: trunk, size: 39976) [annotate] [blame] [check-ins using] [diff]
2011-05-15
17:00
[581a424007] part of check-in [3dad5e5803] Make it possible to specify the byte order for Unicode / UTF-16. (check-in: [3dad5e5803] user: js, branch: trunk, size: 39427) [annotate] [blame] [check-ins using] [diff]
2011-05-14
23:52
[3c842a2c2f] part of check-in [ec666ede07] Add -[stringWithUTF16String:] to OFString. (check-in: [ec666ede07] user: js, branch: trunk, size: 37431) [annotate] [blame] [check-ins using] [diff]
23:26
[dd37a07a33] part of check-in [1c2f416cb9] Correctly check the length in of_string_check_utf8. (check-in: [1c2f416cb9] user: js, branch: 0.5, size: 29398) [annotate] [blame] [check-ins using] [diff]
23:25
[c99ccfd8e4] part of check-in [55368ab28a] Correctly check the length in of_string_check_utf8. (check-in: [55368ab28a] user: js, branch: trunk, size: 34983) [annotate] [blame] [check-ins using] [diff]
22:38
[eb8762e376] part of check-in [44bb6eeef3] Fix of_unicode_string_length() and actually use it. (check-in: [44bb6eeef3] user: js, branch: trunk, size: 34634) [annotate] [blame] [check-ins using] [diff]
12:26
[47a649e523] 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: 34751) [annotate] [blame] [check-ins using] [diff]

2011-05-08
22:36
[bb52ca9d4f] part of check-in [17d18368bb] Change serialization format. (check-in: [17d18368bb] user: js, branch: trunk, size: 35207) [annotate] [blame] [check-ins using] [diff]
20:35
[4009def51f] part of check-in [bd879fd455] Nicer formatting for serialization. (check-in: [bd879fd455] user: js, branch: trunk, size: 35207) [annotate] [blame] [check-ins using] [diff]
19:55
[b90f5bed16] part of check-in [b27b3aa3e3] Add support for serialization.
No deserialization yet.
(check-in: [b27b3aa3e3] user: js, branch: trunk, size: 34951) [annotate] [blame] [check-ins using] [diff]
2011-05-02
20:46
[ed76246fb2] part of check-in [04ffb67949] Add +[OFString stringWithUnicodeString:length:]. (check-in: [04ffb67949] user: js, branch: trunk, size: 34214) [annotate] [blame] [check-ins using] [diff]
13:01
[b56b81b94d] part of check-in [3a1cd610ed] Don't free ret in -[unicodeString] as it is autoreleased now. (check-in: [3a1cd610ed] user: js, branch: trunk, size: 33854) [annotate] [blame] [check-ins using] [diff]
2011-05-01
23:58
[fb7ee6732e] part of check-in [7b7250a0ba] Autorelease the return value of -[unicodeString] and include a BOM. (check-in: [7b7250a0ba] user: js, branch: trunk, size: 33874) [annotate] [blame] [check-ins using] [diff]
23:42
[ada3b84c8f] part of check-in [4a9e45c2ad] Fix a possible out-of-bounds read in -[OFString unicodeString]. (check-in: [4a9e45c2ad] user: js, branch: 0.5, size: 29395) [annotate] [blame] [check-ins using] [diff]
23:42
[f44982b7c8] part of check-in [9d25dacab1] Fix a possible out-of-bounds read in -[OFString unicodeString]. (check-in: [9d25dacab1] user: js, branch: trunk, size: 33840) [annotate] [blame] [check-ins using] [diff]
12:43
[04afab8da6] part of check-in [8e8bb78eb5] Correctly set isUTF8 in -[OFString initWithUnicodeString:]. (check-in: [8e8bb78eb5] user: js, branch: trunk, size: 33840) [annotate] [blame] [check-ins using] [diff]
00:35
[b307aaa0bd] part of check-in [e2bbfb45d0] Add +[OFString stringWithUnicodeString:]. (check-in: [e2bbfb45d0] user: js, branch: trunk, size: 33783) [annotate] [blame] [check-ins using] [diff]
2011-04-30
23:33
[e280f8208a] part of check-in [d968d32614] Style improvements. (check-in: [d968d32614] user: js, branch: trunk, size: 32146) [annotate] [blame] [check-ins using] [diff]
15:26
[02548d1e5f] part of check-in [5854471001] Include the complete result in an OFHTTPRequestFailedException. (check-in: [5854471001] user: js, branch: trunk, size: 31769) [annotate] [blame] [check-ins using] [diff]
2011-04-27
16:14
[e3d5101e79] part of check-in [50a6d34eff] Small string optimization. (check-in: [50a6d34eff] user: js, branch: trunk, size: 31789) [annotate] [blame] [check-ins using] [diff]
2011-04-25
22:54
[ac1b639bcb] part of check-in [7d29241068] Actually, it's called charset in the header, not encoding. (check-in: [7d29241068] user: js, branch: trunk, size: 31750) [annotate] [blame] [check-ins using] [diff]
22:50
[1d7ba884bb] part of check-in [c74d7dec0e] Don't fall back to ISO-8859-1 in +[OFString stringWithContentsOfURL:].
This way, we can be sure to never have garbage.
(check-in: [c74d7dec0e] user: js, branch: trunk, size: 31754) [annotate] [blame] [check-ins using] [diff]
22:31
[e4ea0d48b5] part of check-in [1dadc4b4a6] Try to autodetect the encoding in +[OFString stringWithContentsOfURL:]. (check-in: [1dadc4b4a6] user: js, branch: trunk, size: 32111) [annotate] [blame] [check-ins using] [diff]
14:14
[d61077ef08] part of check-in [abff9ac184] Fix a warning when sizeof(size_t) < sizeof(long long). (check-in: [abff9ac184] user: js, branch: 0.5, size: 29395) [annotate] [blame] [check-ins using] [diff]
14:14
[ec60fe00a5] part of check-in [e14961f94d] Fix a warning when sizeof(size_t) < sizeof(long long). (check-in: [e14961f94d] user: js, branch: trunk, size: 30911) [annotate] [blame] [check-ins using] [diff]
00:18
[18e15c80ab] part of check-in [9c4d3e34cd] Add +[OFDataArray dataArrayWithContentsOfURL:]. (check-in: [9c4d3e34cd] user: js, branch: trunk, size: 30805) [annotate] [blame] [check-ins using] [diff]
2011-04-23
14:46
[878e982a3d] part of check-in [becb4c9b86] Add -[uppercaseString] and -[lowercaseString] to OFString. (check-in: [becb4c9b86] user: js, branch: trunk, size: 30818) [annotate] [blame] [check-ins using] [diff]
13:23
[7863930129] part of check-in [6f4bf74c7d] More style improvements. (check-in: [6f4bf74c7d] user: js, branch: trunk, size: 30058) [annotate] [blame] [check-ins using] [diff]
2011-04-12
14:51
[ead9a0ea73] part of check-in [c02e48e140] Use void in declarations when we take no parameters. (check-in: [c02e48e140] user: js, branch: trunk, size: 29264) [annotate] [blame] [check-ins using] [diff]
2011-04-11
00:37
[88aed01d2e] part of check-in [e52ccc8d45] A few readability improvements. (check-in: [e52ccc8d45] user: js, branch: trunk, size: 29260) [annotate] [blame] [check-ins using] [diff]
2011-04-04
23:32
[a034b6e9c4] part of check-in [93fee7265f] Remove now useless defines of _GNU_SOURCE. (check-in: [93fee7265f] user: js, branch: trunk, size: 29289) [annotate] [blame] [check-ins using] [diff]
2011-04-03
10:58
[feba50e66c] part of check-in [72f2eb445d] Use a more fitting exception in -[initWithContentsOfFile:]. (check-in: [72f2eb445d] user: js, branch: trunk, size: 29309) [annotate] [blame] [check-ins using] [diff]
2011-03-30
00:36
[f081783cbe] part of check-in [46881c3773] OFHTTPRequest: Disallow redirects from HTTPS to HTTP by default.
Still works when setting redirectsFromHTTPSToHTTPAllowed.
(check-in: [46881c3773] user: js, branch: trunk, size: 29241) [annotate] [blame] [check-ins using] [diff]
00:03
[0f0b8d53a9] part of check-in [13a4dee1da] A few win32 fixes. (check-in: [13a4dee1da] user: js, branch: trunk, size: 29249) [annotate] [blame] [check-ins using] [diff]
2011-03-29
19:03
[bb07f5cc36] part of check-in [9c59bc9aee] Add -[floatValue] and -[doubleValue]. (check-in: [9c59bc9aee] user: js, branch: trunk, size: 29249) [annotate] [blame] [check-ins using] [diff]
18:20
[2defafe592] part of check-in [e0a8e01190] Ignore leading and trailing whitespaces in -[(hexa)decimalValue]. (check-in: [e0a8e01190] user: js, branch: trunk, size: 28190) [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
[52284dc401] part of check-in [cda44767f4] Get rid of OFExceptions.h. (check-in: [cda44767f4] user: js, branch: trunk, size: 27345) [annotate] [blame] [check-ins using] [diff]
2011-03-23
13:05
[15058207f8] part of check-in [a252dc5c69] Use OF_INVALID_INDEX instead of SIZE_MAX. (check-in: [a252dc5c69] user: js, branch: trunk, size: 27100) [annotate] [blame] [check-ins using] [diff]
00:19
[4c6f19272b] part of check-in [b682102c3d] Add new methods to OFString. (check-in: [b682102c3d] user: js, branch: trunk, size: 27060) [annotate] [blame] [check-ins using] [diff]
2011-03-22
13:10
[e113731f30] part of check-in [67e7d1e222] Move path methods from OFFile to OFString. (check-in: [67e7d1e222] user: js, branch: trunk, size: 25782) [annotate] [blame] [check-ins using] [diff]
2011-02-27
00:35
[117e48e1f5] part of check-in [53213f1d41] Rename -[result] to -[perform] in OFHTTPRequest. (check-in: [53213f1d41] user: js, branch: trunk, size: 23349) [annotate] [blame] [check-ins using] [diff]
2011-02-26
19:40
[88740728b0] part of check-in [06f539766f] Use class swizzling as an optimization. (check-in: [06f539766f] user: js, branch: trunk, size: 23348) [annotate] [blame] [check-ins using] [diff]
2011-02-17
18:29
[b4df8282b2] part of check-in [d932adccc3] Add -[stringWithContentsOfURL:encoding:]. (check-in: [d932adccc3] user: js, branch: trunk, size: 22859) [annotate] [blame] [check-ins using] [diff]
2011-02-09
18:27
[365a738f41] part of check-in [90893f3cbe] Add two missing includes. (check-in: [90893f3cbe] user: js, branch: trunk, size: 21598) [annotate] [blame] [check-ins using] [diff]
09:37
[da97386e32] part of check-in [a6c5af136b] Add -[containsString:] to OFString. (check-in: [a6c5af136b] user: js, branch: trunk, size: 21578) [annotate] [blame] [check-ins using] [diff]
2011-02-07
21:05
[877ceb4ed7] part of check-in [151463e32a] of_vasprintf: Preserve exceptions that happen in -[description]. (check-in: [151463e32a] user: js, branch: trunk, size: 21264) [annotate] [blame] [check-ins using] [diff]
2011-02-05
14:44
[5a7d886f0b] part of check-in [f7c9951937] Make sure that calling -[OFString init] creates a valid empty string. (check-in: [f7c9951937] user: js, branch: trunk, size: 21295) [annotate] [blame] [check-ins using] [diff]
14:38
[802907aead] part of check-in [d9739e7692] Make sure even an empty string has a valid C string. (check-in: [d9739e7692] user: js, branch: trunk, size: 21187) [annotate] [blame] [check-ins using] [diff]
2011-02-01
20:58
[8bb8574c87] part of check-in [58a082efe4] Use OFInvalidFormatException for -[(hexa)decimalValue] on bad strings. (check-in: [58a082efe4] user: js, branch: trunk, size: 21123) [annotate] [blame] [check-ins using] [diff]
2011-01-29
19:01
[d45226b27d] part of check-in [4c4608fbba] Add of_asprintf and allow %@ in format strings. (check-in: [4c4608fbba] user: js, branch: trunk, size: 21131) [annotate] [blame] [check-ins using] [diff]
2011-01-15
18:17
[a9943514ef] part of check-in [b5ec30fa9d] Define enums as types. (check-in: [b5ec30fa9d] user: js, branch: trunk, size: 21230) [annotate] [blame] [check-ins using] [diff]
18:03
[e1b8eb30ed] part of check-in [11c7661a42] Allow + as prefix in -[OFString decimalValue]. (check-in: [11c7661a42] user: js, branch: trunk, size: 21248) [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
[76062f9e81] part of check-in [da6b3d26cb] Change license. (check-in: [da6b3d26cb] user: js, branch: trunk, size: 21228) [annotate] [blame] [check-ins using] [diff]
2010-12-29
12:49
[ba94761fb4] part of check-in [eb328c80df] Allow hexadecimal values with h suffix in -[hexadecimalValue]. (check-in: [eb328c80df] user: js, branch: trunk, size: 20972) [annotate] [blame] [check-ins using] [diff]
2010-12-26
02:47
[03fe30d505] part of check-in [d2567246f9] Nicer overflow check in -[decimalValue]. (check-in: [d2567246f9] user: js, branch: trunk, size: 20817) [annotate] [blame] [check-ins using] [diff]
2010-12-25
13:20
[633e178038] part of check-in [43c60ede3c] Adjust OFString and OFDataArray to OFComparing protocol. (check-in: [43c60ede3c] user: js, branch: trunk, size: 20788) [annotate] [blame] [check-ins using] [diff]
2010-12-13
22:36
[e36cd47ab5] part of check-in [7564bf4445] Rename -[decimalValueAsInteger] to -[decimalValue]. (check-in: [7564bf4445] user: js, branch: trunk, size: 20773) [annotate] [blame] [check-ins using] [diff]
2010-12-11
20:27
[197d311a2d] part of check-in [5e44debc07] Rename a few exception-related methods. (check-in: [5e44debc07] user: js, branch: trunk, size: 20791) [annotate] [blame] [check-ins using] [diff]
2010-12-06
13:24
[b78aed1909] part of check-in [b965dad5f8] Add -[description] to OFNumber. (check-in: [b965dad5f8] user: js, branch: trunk, size: 20794) [annotate] [blame] [check-ins using] [diff]
2010-11-17
22:31
[93873903ed] part of check-in [cc34255955] Close file on exception in +[OFString stringWithContentsOfFile:]. (check-in: [cc34255955] user: js, branch: trunk, size: 20794) [annotate] [blame] [check-ins using] [diff]
2010-11-13
21:57
[408783a5f8] part of check-in [9b50b86632] Add -[description] for OFObject, OFString, OFArray and OFDictionary. (check-in: [9b50b86632] user: js, branch: trunk, size: 20810) [annotate] [blame] [check-ins using] [diff]
2010-11-11
20:52
[04e9fd7c64] part of check-in [1e7e237e6e] Ignore BOM at start of string. (check-in: [1e7e237e6e] user: js, branch: trunk, size: 20745) [annotate] [blame] [check-ins using] [diff]
2010-10-25
23:03
[6583af04e3] part of check-in [8a7ca573c4] Clean up a lot of code (mostly init methods) and fix a missing rethrow. (check-in: [8a7ca573c4] user: js, branch: trunk, size: 20615) [annotate] [blame] [check-ins using] [diff]
2010-10-19
19:38
[2546d1519d] part of check-in [198e343d1f] Fix method signature being different in .h and .m file. (check-in: [198e343d1f] user: js, branch: trunk, size: 22126) [annotate] [blame] [check-ins using] [diff]
2010-09-23
16:40
[76a2397995] part of check-in [64a39262ca] Some older gcc versions require an explicit cast here. (check-in: [64a39262ca] user: js, branch: trunk, size: 22133) [annotate] [blame] [check-ins using] [diff]
2010-09-19
22:59
[4289e64de5] part of check-in [f9ed4c1d11] Optimize handling of ASCII strings. (check-in: [f9ed4c1d11] user: js, branch: trunk, size: 22113) [annotate] [blame] [check-ins using] [diff]
22:35
[2b9702d139] part of check-in [b5f0fc343d] Add -[unicodeString] to OFString. (check-in: [b5f0fc343d] user: js, branch: trunk, size: 21213) [annotate] [blame] [check-ins using] [diff]
2010-08-24
19:24
[5dd44cde77] part of check-in [2328f5eeb2] Fix a bug in +[stringWithPath:] that led to broken unicode. (check-in: [2328f5eeb2] user: js, branch: trunk, size: 20691) [annotate] [blame] [check-ins using] [diff]
2010-07-02
21:56
[5d478c6564] part of check-in [aed0aea0b2] Add -[writeToFile:] to OFString. (check-in: [aed0aea0b2] user: js, branch: trunk, size: 20684) [annotate] [blame] [check-ins using] [diff]
2010-06-12
20:47
[19d4bb0975] part of check-in [67917b918a] Move a few classes and categories so they have their own files. (check-in: [67917b918a] user: js, branch: trunk, size: 20461) [annotate] [blame] [check-ins using] [diff]
2010-04-22
09:05
[1d5af0ad42] part of check-in [d931239e25] Add OF_PATH_DELIM to macros.h. (check-in: [d931239e25] user: js, branch: trunk, size: 20428) [annotate] [blame] [check-ins using] [diff]
2010-04-17
22:27
[7f39ded0e7] part of check-in [37db8f0fb3] New ivar naming convention.

ivars are now named like this: thisIsAnIVar. If an accessor exists for
the ivar, the ivar is named like the accessor. This is required for
@property to work. (check-in: [37db8f0fb3] user: js, branch: trunk, size: 20503) [annotate] [blame] [check-ins using] [diff]

16:09
[f0e2960871] part of check-in [2517f18272] Give the methods in OFNumber better names. (check-in: [2517f18272] user: js, branch: trunk, size: 20509) [annotate] [blame] [check-ins using] [diff]
15:46
[228bd6589d] part of check-in [062a052b50] Don't return self where not necessary, return void or something useful. (check-in: [062a052b50] user: js, branch: trunk, size: 20517) [annotate] [blame] [check-ins using] [diff]
2010-04-11
02:49
[4bb745a125] part of check-in [c7630df319] Add +[stringWithContentsOfFile:] to OFString. (check-in: [c7630df319] user: js, branch: trunk, size: 20474) [annotate] [blame] [check-ins using] [diff]
2010-04-10
23:52
[4ec189c3b9] part of check-in [48190e2a91] Add +[stringWithPath:] to OFString. (check-in: [48190e2a91] user: js, branch: trunk, size: 19149) [annotate] [blame] [check-ins using] [diff]
2010-04-07
21:10
[bdc5753e61] part of check-in [f93fd1838d] Make glibc happy. (check-in: [f93fd1838d] user: js, branch: trunk, size: 17522) [annotate] [blame] [check-ins using] [diff]
18:39
[ae6ba38916] part of check-in [66bbe6da24] Rename -[appendWithFormat:] to -[appendFormat:]. (check-in: [66bbe6da24] user: js, branch: trunk, size: 17503) [annotate] [blame] [check-ins using] [diff]
2010-04-04
16:50
[e681f2fd16] part of check-in [7bc07fede9] Rename -[splitWithDelimiter:] to -[componentsSeparatedByString:]. (check-in: [7bc07fede9] user: js, branch: trunk, size: 17474) [annotate] [blame] [check-ins using] [diff]
15:45
[2490a2fe1b] part of check-in [43b963aba6] Out of memory is way more likely for vasprintf. (check-in: [43b963aba6] user: js, branch: trunk, size: 17465) [annotate] [blame] [check-ins using] [diff]
2010-04-02
16:33
[a9d9dd698d] part of check-in [59dd873fd0] -[hexadecimalValueAsInteger] returns an unsigned value now. (check-in: [59dd873fd0] user: js, branch: trunk, size: 17339) [annotate] [blame] [check-ins using] [diff]
2010-03-05
11:52
[a551f0c4fb] part of check-in [b91a8283fe] Merge a few changesets from the default branch into the 0.2 branch.

Changesets:
* b95fcaa6d694
* 804c68d222b4
* da8cd738da3d
* 1109d5ce3419
* d03f5c1ca95d
* 2a7017722165
* 4fccdc79eeb7
* d228149fbc04
* 8782d412a4a6 (check-in: [b91a8283fe] user: js, branch: 0.2, size: 17196) [annotate] [blame] [check-ins using] [diff]

2010-02-19
16:36
[7e77eaece2] part of check-in [42886185fd] Update copyright. (check-in: [42886185fd] user: js, branch: trunk, size: 17338) [annotate] [blame] [check-ins using] [diff]
2010-02-11
14:05
[d1ca63d71a] part of check-in [a7bed8325c] Add of_range_t and add methods taking an of_range_t. (check-in: [a7bed8325c] user: js, branch: trunk, size: 17338) [annotate] [blame] [check-ins using] [diff]
2010-02-02
18:58
[a8326e5274] part of check-in [832188d759] Rename OFMacros.h to macros.h, as it's not a class. (check-in: [832188d759] user: js, branch: trunk, size: 17194) [annotate] [blame] [check-ins using] [diff]
2010-01-30
18:29
[1aae4ffc35] part of check-in [13f2a20288] Change how the Unicode table is stored.

The recent optimization had a bug in the range check and thus did not
notice that an int16_t is not enough to store the difference, thus
leading to broken results. This reverts it to the old way the Unicode
table was stored. (check-in: [13f2a20288] user: js, branch: trunk, size: 17196) [annotate] [blame] [check-ins using] [diff]

2010-01-16
15:05
[600171252e] part of check-in [1433aef0d0] Reduce dependencies between headers. (check-in: [1433aef0d0] user: js, branch: trunk, size: 17480) [annotate] [blame] [check-ins using] [diff]
14:43
[5c17b2346a] part of check-in [1348a32d47] Remove mutation methods from immutable classes' interfaces. (check-in: [1348a32d47] user: js, branch: trunk, size: 17460) [annotate] [blame] [check-ins using] [diff]
2010-01-08
15:26
[1791ee0081] part of check-in [be4c0f34c5] Generate and use smaller Unicode tables. (check-in: [be4c0f34c5] user: js, branch: trunk, size: 19491) [annotate] [blame] [check-ins using] [diff]
2009-12-02
20:02
[21b0d1d0a2] part of check-in [c7ab3a46d1] Introduce some consistency when to use OFObject* and when to use id. (check-in: [c7ab3a46d1] user: js, branch: trunk, size: 19203) [annotate] [blame] [check-ins using] [diff]
2009-11-14
12:46
[fa163f325d] part of check-in [8afa16c9e9] Fix two more FIXMEs. (check-in: [8afa16c9e9] user: js, branch: trunk, size: 19185) [annotate] [blame] [check-ins using] [diff]
2009-11-13
14:30
[dcfcc7e490] part of check-in [35fda90cf5] Add -[caseInsensitiveCompare:] and fix -[compare:]. (check-in: [35fda90cf5] user: js, branch: trunk, size: 19011) [annotate] [blame] [check-ins using] [diff]
2009-11-10
15:34
[b097e022e5] part of check-in [3d007c8393] Improve of_string_utf8_to_unicode. (check-in: [3d007c8393] user: js, branch: trunk, size: 17827) [annotate] [blame] [check-ins using] [diff]
15:32
[c3f91002a4] part of check-in [6772512e3e] Improve -[compare:]. (check-in: [6772512e3e] user: js, branch: trunk, size: 17857) [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
[d81f7e695a] part of check-in [a3cc34b139] Rename libobjfw to ObjFW. (check-in: [a3cc34b139] user: js, branch: trunk, size: 17384) [annotate] [blame] [check-ins using] [diff]
2009-11-01
19:46
[07267760cd] part of check-in [16ec7469b8] Don't call strlen() in -[initWithCString:encoding:length:].

This can cause trouble when we try to create a string from a buffer
which is not \0-terminated. In these cases, we would need to
\0-terminate it, which would be quite inconvenient. (check-in: [16ec7469b8] user: js, branch: trunk, size: 17387) [annotate] [blame] [check-ins using] [diff]

2009-10-18
14:22
[2b9f485fcd] part of check-in [257fc27253] Use the new, smaller Unicode tables. (check-in: [257fc27253] user: js, branch: trunk, size: 17497) [annotate] [blame] [check-ins using] [diff]
2009-10-15
20:38
[0b43a03a38] part of check-in [0480a27d5e] Full Unicode support for OFMutableString's -[upper] and -[lower]. (check-in: [0480a27d5e] user: js, branch: trunk, size: 17431) [annotate] [blame] [check-ins using] [diff]
2009-10-10
16:57
[2ba568e7fc] part of check-in [d6b2fdffff] Move encodings to a separate .c file. (check-in: [d6b2fdffff] user: js, branch: trunk, size: 17408) [annotate] [blame] [check-ins using] [diff]
2009-10-06
13:02
[fd0de86dc5] part of check-in [4d0bccf77c] Add -[(hexa)decimalValueAsInteger] to OFString. (check-in: [4d0bccf77c] user: js, branch: trunk, size: 17426) [annotate] [blame] [check-ins using] [diff]
2009-10-04
13:43
[b88d3c3e4d] part of check-in [bd1bd1460b] Add -[characterAtIndex:] to OFString. (check-in: [bd1bd1460b] user: js, branch: trunk, size: 16385) [annotate] [blame] [check-ins using] [diff]
12:45
[5d80701917] part of check-in [8b162c7122] Add of_unichar_t type. (check-in: [8b162c7122] user: js, branch: trunk, size: 15332) [annotate] [blame] [check-ins using] [diff]
2009-10-03
21:18
[cf1e219842] part of check-in [0fcb47fb59] Add -[length] to OFString. (check-in: [0fcb47fb59] user: js, branch: trunk, size: 15324) [annotate] [blame] [check-ins using] [diff]
21:12
[5b6856fe26] part of check-in [f01153154d] Fix setting of is_utf8. (check-in: [f01153154d] user: js, branch: trunk, size: 15205) [annotate] [blame] [check-ins using] [diff]
20:41
[329139cf3c] part of check-in [2b615e0443] Indexes are now relative to the Unicode character, not the C character. (check-in: [2b615e0443] user: js, branch: trunk, size: 14850) [annotate] [blame] [check-ins using] [diff]
2009-09-01
11:32
[e5d0b3d2f0] part of check-in [3ed599fe98] Rename -[length] to -[cStringLength] in OFString. (check-in: [3ed599fe98] user: js, branch: trunk, size: 14213) [annotate] [blame] [check-ins using] [diff]
2009-08-27
17:52
[99eed6fe4d] part of check-in [a9ff126697] Add -[removeCharactersFromIndex:toIndex:] to OFMutableString. (check-in: [a9ff126697] user: js, branch: trunk, size: 14164) [annotate] [blame] [check-ins using] [diff]
2009-07-20
23:20
[7a4ce00abf] part of check-in [e04c359780] Add support for C strings encoded in Windows-1252. (check-in: [e04c359780] user: js, branch: trunk, size: 14008) [annotate] [blame] [check-ins using] [diff]
18:39
[472df8f045] part of check-in [0ea758cd9c] Add support for C strings encoded in ISO 8859-15. (check-in: [0ea758cd9c] user: js, branch: trunk, size: 13508) [annotate] [blame] [check-ins using] [diff]
2009-07-19
18:14
[2a8be01528] part of check-in [8216fb9343] Add support for C strings encoded in ISO 8859-1. (check-in: [8216fb9343] user: js, branch: trunk, size: 12505) [annotate] [blame] [check-ins using] [diff]
14:05
[1a350e2ba4] part of check-in [4eae61a78f] Rename andFoo: to foo: in all methods. (check-in: [4eae61a78f] user: js, branch: trunk, size: 11069) [annotate] [blame] [check-ins using] [diff]
13:04
[b274f55ce4] part of check-in [1bbc11d7a5] A few new string methods. (check-in: [1bbc11d7a5] user: js, branch: trunk, size: 11090) [annotate] [blame] [check-ins using] [diff]
2009-07-17
17:17
[a8bcd353b2] part of check-in [5eae1c66bc] Two minor changes. (check-in: [5eae1c66bc] user: js, branch: trunk, size: 10606) [annotate] [blame] [check-ins using] [diff]
12:41
[7a39667e23] part of check-in [d051b1302d] Add OFString (OFHashing) category. (check-in: [d051b1302d] user: js, branch: trunk, size: 10578) [annotate] [blame] [check-ins using] [diff]
2009-07-14
21:58
[c4e41efb24] part of check-in [a80e9b948d] Also parse &#NNNN; and &#xHHHH; in -[stringByXMLUnescaping]. (check-in: [a80e9b948d] user: js, branch: trunk, size: 10551) [annotate] [blame] [check-ins using] [diff]
21:22
[2bac621bba] part of check-in [de937a62e4] Add of_string_unicode_to_utf8 which converts unicode to UTF-8. (check-in: [de937a62e4] user: js, branch: trunk, size: 10554) [annotate] [blame] [check-ins using] [diff]
18:57
[c51d9e7bc3] part of check-in [d8684fc232] Add OFString (OFXMLUnescaping) category and API for OFXMLParser. (check-in: [d8684fc232] user: js, branch: trunk, size: 10046) [annotate] [blame] [check-ins using] [diff]
17:51
[b0bbce5a9e] part of check-in [7bb3494ef9] Optimize some code by using the new stringWithCString:andLength: method. (check-in: [7bb3494ef9] user: js, branch: trunk, size: 10068) [annotate] [blame] [check-ins using] [diff]
17:32
[36e450e8e9] part of check-in [dc7bb2d594] Add methods to handle C strings with length to OF(Mutable)String. (check-in: [dc7bb2d594] user: js, branch: trunk, size: 10712) [annotate] [blame] [check-ins using] [diff]
2009-06-30
22:21
[6fce01c941] part of check-in [9758677802] Implement -[indexOf{First,Last}OccurrenceOfString:] for OFString. (check-in: [9758677802] user: js, branch: trunk, size: 9514) [annotate] [blame] [check-ins using] [diff]
20:12
[26f5edf3f9] part of check-in [cfb401ed3a] Implement -[substringFromIndex:toIndex:] for OFString. (check-in: [cfb401ed3a] user: js, branch: trunk, size: 8781) [annotate] [blame] [check-ins using] [diff]
13:38
[248b3d5447] part of check-in [eddc0ba58c] Implement OFCopying and OFMutableCopying in OFDictionary. (check-in: [eddc0ba58c] user: js, branch: trunk, size: 8190) [annotate] [blame] [check-ins using] [diff]
12:07
[98df1c138a] part of check-in [67bb344ba6] A few renames in OFObject, see details.

* +[conformsTo:] to +[conformsToProtocol:].
* -[isKindOf:] to -[isKindOfClass:].
* -[respondsTo:] to -[respondsToSelector:].
* -[conformsTo:] to -[conformsToProtocol:].
* -[methodFor:] to -[methodForSelector:]. (check-in: [67bb344ba6] user: js, branch: trunk, size: 8190) [annotate] [blame] [check-ins using] [diff]

2009-06-18
18:42
[1b2b877044] part of check-in [f9c673f241] Preliminary OFXMLElement implementation. (check-in: [f9c673f241] user: js, branch: trunk, size: 8180) [annotate] [blame] [check-ins using] [diff]
18:26
[f0f301f9d4] part of check-in [47e65e5a97] Add -[appendCStringWithoutUTF8Checking:]. (check-in: [47e65e5a97] user: js, branch: trunk, size: 8124) [annotate] [blame] [check-ins using] [diff]
2009-06-10
00:02
[67f5019bf6] part of check-in [a0b7eb7a66] Autorelease array returned in -[splitWithDelimiter] properly. (check-in: [a0b7eb7a66] user: js, branch: trunk, size: 7987) [annotate] [blame] [check-ins using] [diff]
2009-06-09
20:47
[16153df8cd] part of check-in [9863810eba] Rename -[append:] to -[appendString:]. (check-in: [9863810eba] user: js, branch: trunk, size: 8034) [annotate] [blame] [check-ins using] [diff]
20:10
[5d82d403f3] part of check-in [41974cf38d] Move documentation of mutating methods.
Mutating methods are now documented in the mutable class.
(check-in: [41974cf38d] user: js, branch: trunk, size: 8028) [annotate] [blame] [check-ins using] [diff]
2009-06-03
03:54
[24b458f3b5] part of check-in [2496d46c35] Add methods to remove leading or trailing whitespaces or both. (check-in: [2496d46c35] user: js, branch: trunk, size: 8028) [annotate] [blame] [check-ins using] [diff]
2009-06-01
20:36
[346940a245] part of check-in [f8b652cc27] Add objfw.h which includes everything.
Only importing what you really need is preferred, though.
(check-in: [f8b652cc27] user: js, branch: trunk, size: 7677) [annotate] [blame] [check-ins using] [diff]
2009-05-29
19:21
[aeeb03c826] part of check-in [033054ad75] A few renames.

OFExceptions:
* OFNoMemException to OFOutOfMemoryException.
* OFMemNotPartOfObjException to OFMemoryNotPartOfObjectException.

OFObject:
* -[addItemToMemoryPool:] to -[addMemoryToPool:].
* -[allocWithSize:] to -[allocMemoryWithSize:].
* -[allocNItems:withSize] to -[allocMemoryForNItems:withSize:].
* -[resizeMem:toSize] to -[resizeMemory:toSize:].
* -[resizeMem:toNItems:withSize:] to
-[resizeMemoryToNItems:withSize:].
* -[freeMem] to -[freeMemory:].

OFString:
* -[urlencode] to -[urlEncodedString].
* -[urldecode] to -[urlDecodedString]. (check-in: [033054ad75] user: js, branch: trunk, size: 7706) [annotate] [blame] [check-ins using] [diff]

2009-05-24
18:04
[27bf821a65] part of check-in [94ea6848a8] Always use #include "config.h" instead of #import "config.h". (check-in: [94ea6848a8] user: js, branch: trunk, size: 7696) [annotate] [blame] [check-ins using] [diff]
10:51
[af05f4b76b] part of check-in [64450cd780] Get rid of one @try-block in OFString. (check-in: [64450cd780] user: js, branch: trunk, size: 7695) [annotate] [blame] [check-ins using] [diff]
00:26
[796905757e] part of check-in [000b2dffdf] Better check for madvise(). (check-in: [000b2dffdf] user: js, branch: trunk, size: 7729) [annotate] [blame] [check-ins using] [diff]
2009-05-23
22:07
[40c6a50185] part of check-in [88163bd172] Add a new convenience method to OFString. (check-in: [88163bd172] user: js, branch: trunk, size: 7732) [annotate] [blame] [check-ins using] [diff]
21:53
[7338b9f854] part of check-in [526d04018d] A few renames.

OFArray:
* -[add:] to -[addObject:].
* -[last] to -[lastObject].

OFAutoreleasePool:
* +[addToPool:] to +[addObjectToTopmostPool:].
* -[addToPool:] to -[addObject:].

OFDataArray:
* -[add:] to -[addItem:].
* -[last] to -[lastItem].

OFObject:
* -[addToMemoryPool:] to -[addItemToMemoryPool:]. (check-in: [526d04018d] user: js, branch: trunk, size: 7227) [annotate] [blame] [check-ins using] [diff]

21:02
[f339ad2a58] part of check-in [bc71bde0dd] Add replaceOccurrencesOfString:withString: to OFString. (check-in: [bc71bde0dd] user: js, branch: trunk, size: 7205) [annotate] [blame] [check-ins using] [diff]
20:32
[4a9dfef866] part of check-in [cabf6ee9e7] Fix splitWithDelimiter:. (check-in: [cabf6ee9e7] user: js, branch: trunk, size: 7042) [annotate] [blame] [check-ins using] [diff]
2009-05-18
18:52
[cff3100081] part of check-in [7fa61023b9] - copy and - mutableCopy should never autorelease. (check-in: [7fa61023b9] user: js, branch: trunk, size: 6847) [annotate] [blame] [check-ins using] [diff]
18:45
[84fc7cbec8] part of check-in [6ba395bacb] Only let - copy create an actual copy if necessary. (check-in: [6ba395bacb] user: js, branch: trunk, size: 6841) [annotate] [blame] [check-ins using] [diff]
18:24
[30c1114698] part of check-in [577023d300] Remove useless convenience method. (check-in: [577023d300] user: js, branch: trunk, size: 6864) [annotate] [blame] [check-ins using] [diff]
18:15
[eb70c8a2e9] part of check-in [79e1893b40] Introduce OFMutableCopying protocol. (check-in: [79e1893b40] user: js, branch: trunk, size: 7019) [annotate] [blame] [check-ins using] [diff]
18:09
[b1b2906cfa] part of check-in [e7e8efd297] More separation for OFString and OFMutableString. (check-in: [e7e8efd297] user: js, branch: trunk, size: 6943) [annotate] [blame] [check-ins using] [diff]
17:50
[1c15b5afa3] part of check-in [163409967e] Split OFArray into OFArray and OFMutableArray. (check-in: [163409967e] user: js, branch: trunk, size: 3820) [annotate] [blame] [check-ins using] [diff]
2009-05-16
14:28
[0327728187] part of check-in [b992a4b0e5] Add OFURLEncoding for OFString category. (check-in: [b992a4b0e5] user: js, branch: trunk, size: 3813) [annotate] [blame] [check-ins using] [diff]
2009-05-15
22:59
[5c5b9e51f6] part of check-in [4c6d6c56ac] As we memset our ivars to 0, get rid of some useless ivar inits. (check-in: [4c6d6c56ac] user: js, branch: trunk, size: 3668) [annotate] [blame] [check-ins using] [diff]
20:01
[dbcbcc49c8] part of check-in [67066be692] Use OFString as much as possible. (check-in: [67066be692] user: js, branch: trunk, size: 3681) [annotate] [blame] [check-ins using] [diff]
2009-05-14
14:24
[5fed7eca62] part of check-in [bdc9b3219f] Get rid of OFNotInSetException. (check-in: [bdc9b3219f] user: js, branch: trunk, size: 3694) [annotate] [blame] [check-ins using] [diff]
2009-05-13
19:39
[7666d17f06] part of check-in [1c798ffa3f] Get rid of a @try block in OFString.

This works since we release all pools on top of the pool being released
as well now. (check-in: [1c798ffa3f] user: js, branch: trunk, size: 3666) [annotate] [blame] [check-ins using] [diff]

2009-05-07
11:55
[e2d9167ac3] part of check-in [1d44132d96] There is no point in splitWithDelimiter: requiring an OFString.
Plus some code clean up in splitWithDelimiter:.
(check-in: [1d44132d96] user: js, branch: trunk, size: 3784) [annotate] [blame] [check-ins using] [diff]
2009-05-05
15:04
[c3388d8ecc] part of check-in [029d4af91d] Add - splitWithDelimiter: to OFString. (check-in: [029d4af91d] user: js, branch: trunk, size: 3864) [annotate] [blame] [check-ins using] [diff]
2009-05-04
14:19
[c5b8e74c51] part of check-in [372211deb7] Make OFString a common class for all strings. (check-in: [372211deb7] user: js, branch: trunk, size: 2677) [annotate] [blame] [check-ins using] [diff]
2009-05-03
14:59
[0c1768f337] part of check-in [1b7a52cdf5] Get rid of two unnecessary variables.

This works as resizeMem:toSize: throws an exception if there's not
enough memory and thus string isn't even set, so the string isn't even
touched and still correct. (check-in: [1b7a52cdf5] user: js, branch: trunk, size: 9168) [annotate] [blame] [check-ins using] [diff]

14:20
[b1e5dbc875] part of check-in [441e5ec29b] Fix wrong free in OFString. Should be [self freeMem:]. (check-in: [441e5ec29b] user: js, branch: trunk, size: 9227) [annotate] [blame] [check-ins using] [diff]
2009-05-01
22:28
[3003617042] part of check-in [06ad922132] Work around a compiler bug that occurs on OS X.

It seems super has the wrong type (struct _objc_super*) inside a
@try block. (check-in: [06ad922132] user: js, branch: trunk, size: 9217) [annotate] [blame] [check-ins using] [diff]

18:15
[8c5b52d99d] part of check-in [e9d48d0beb] Call [super free] on error in init methods.

Reason is that - free might free stuff which is allocated during the
initialization, which might not be allocated when an error occurred. (check-in: [e9d48d0beb] user: js, branch: trunk, size: 9078) [annotate] [blame] [check-ins using] [diff]

2009-04-26
12:44
[db633d72e6] part of check-in [e959fed010] A few renames in OFObject.

getMemWithSize: -> allocWithSize:
getMemForNItems:ofSize: -> allocNItems:withSize:
resizeMem:toNItems:ofSize: -> resizeMem:toNItems:withSize: (check-in: [e959fed010] user: js, branch: trunk, size: 9077) [annotate] [blame] [check-ins using] [diff]

2009-04-21
17:16
[881fc1c877] part of check-in [d87df02e8b] The if ((self = [super init])) construct isn't needed anymore. (check-in: [d87df02e8b] user: js, branch: trunk, size: 9079) [annotate] [blame] [check-ins using] [diff]
2009-04-19
20:34
[3c7d0ee24e] part of check-in [139591afe1] Use isa instead of [self class].

Since we don't use Object anymore and define isa in OFObject, we can
rely on it. (check-in: [139591afe1] user: js, branch: trunk, size: 9160) [annotate] [blame] [check-ins using] [diff]

2009-03-15
13:46
[0784bdbb56] part of check-in [2ff44fe8d7] Preliminary OFConstString implementation and support for @"" literals. (check-in: [2ff44fe8d7] user: js, branch: trunk, size: 9332) [annotate] [blame] [check-ins using] [diff]
2009-02-28
01:49
[365ef7f711] part of check-in [48309788c8] Fix a memory leak in OFString that occours when we're out of memory. (check-in: [48309788c8] user: js, branch: trunk, size: 9212) [annotate] [blame] [check-ins using] [diff]
2009-02-27
11:17
[504b483064] part of check-in [ffd26c8238] Add - hash for OFArray and OFString, main implementation in OFMacros. (check-in: [ffd26c8238] user: js, branch: trunk, size: 9134) [annotate] [blame] [check-ins using] [diff]
2009-02-14
19:04
[6c57bbac26] part of check-in [cc2e866e55] Let OFString's setTo: use const char* instead of OFString*.
This is far more useful.
(check-in: [cc2e866e55] user: js, branch: trunk, size: 8961) [annotate] [blame] [check-ins using] [diff]
17:26
[8d074bf70b] part of check-in [029511474c] Always use #include for libc headers due to glibc being broken.
Do the same for win32 headers, just in case. They should work with
#import, but you never know ;).
(check-in: [029511474c] user: js, branch: trunk, size: 8980) [annotate] [blame] [check-ins using] [diff]
17:08
[d870a955f7] part of check-in [61a6ac873a] Big diff, see details.

* Add OFComparable protocol.
* Add OFInvalidArgument exception - needs that sel_getName vs.
sel_get_name stuff again, therefore reintroduce it.
* Implement proper copy method for OFString and OFArray.
* Add isEqual: and compare: for OFString and OFArray. (check-in: [61a6ac873a] user: js, branch: trunk, size: 8974) [annotate] [blame] [check-ins using] [diff]

2009-01-24
20:28
[69097c8dd7] part of check-in [7feac9e596] [self alloc] isn't a good idea with the new API.
The reason is that a derived class, for example derived from OFArray,
would not return an OFArray when + arrayWithItemSize is called.
(check-in: [7feac9e596] user: js, branch: trunk, size: 8738) [annotate] [blame] [check-ins using] [diff]
15:24
[f753114c1f] part of check-in [1496808b81] Adjust API to introduction of OFAutoreleasePool. (check-in: [1496808b81] user: js, branch: trunk, size: 8722) [annotate] [blame] [check-ins using] [diff]
2009-01-05
02:18
[7c7b5b7fed] part of check-in [41095bf7a1] Fix three stupid warnings. (check-in: [41095bf7a1] user: js, branch: trunk, size: 8384) [annotate] [blame] [check-ins using] [diff]
00:59
[922642403b] part of check-in [f1b749d113] Update copyright. (check-in: [f1b749d113] user: js, branch: trunk, size: 8366) [annotate] [blame] [check-ins using] [diff]
2009-01-04
01:40
[0b49a22c9f] part of check-in [bb1fe89478] Clean up exceptions. (check-in: [bb1fe89478] user: js, branch: trunk, size: 8359) [annotate] [blame] [check-ins using] [diff]
2009-01-02
17:20
[781415eae9] part of check-in [ba01b9c18a] Some import fixes, some static lib and win32 enhancements. (check-in: [ba01b9c18a] user: js, branch: trunk, size: 8270) [annotate] [blame] [check-ins using] [diff]
2008-12-30
14:42
[8055b56c32] part of check-in [555f28985f] Add OFNumber. (check-in: [555f28985f] user: js, branch: trunk, size: 8219) [annotate] [blame] [check-ins using] [diff]
2008-12-26
21:34
[384f44e40d] part of check-in [617ca244c5] Remove redundant method. (check-in: [617ca244c5] user: js, branch: trunk, size: 8230) [annotate] [blame] [check-ins using] [diff]
2008-12-24
19:12
[5ddb402b32] part of check-in [fca9e1997f] Fix imports for glibc. (check-in: [fca9e1997f] user: js, branch: trunk, size: 8270) [annotate] [blame] [check-ins using] [diff]
11:55
[7570d35c8f] part of check-in [486760ed2b] Add methods to initalize from and append from formatted C strings. (check-in: [486760ed2b] user: js, branch: trunk, size: 8231) [annotate] [blame] [check-ins using] [diff]
2008-12-23
03:59
[37b9bc8f4c] part of check-in [7d7b89d775] Remove spaces and tabs at end of line. (check-in: [7d7b89d775] user: js, branch: trunk, size: 6140) [annotate] [blame] [check-ins using] [diff]
02:10
[845a3454e0] part of check-in [14ebaa7ca1] Check for sys/mman.h before trying to use madvise. (check-in: [14ebaa7ca1] user: js, branch: trunk, size: 6143) [annotate] [blame] [check-ins using] [diff]
2008-12-22
03:05
[c064e2be95] part of check-in [ab9eb34112] Don't try to use madvise on win32. (check-in: [ab9eb34112] user: js, branch: trunk, size: 6135) [annotate] [blame] [check-ins using] [diff]
2008-12-21
20:17
[a8b4eb7167] part of check-in [74af3973f8] This looked nicer, but GCC couldn't optimize it. (check-in: [74af3973f8] user: js, branch: trunk, size: 6072) [annotate] [blame] [check-ins using] [diff]
17:50
[1633386c30] part of check-in [fb809020b5] A few optimizations for OFString. (check-in: [fb809020b5] user: js, branch: trunk, size: 6056) [annotate] [blame] [check-ins using] [diff]
15:42
[f391445888] part of check-in [b4a4e95798] Initial UTF-8 support for OFString. (check-in: [b4a4e95798] user: js, branch: trunk, size: 5429) [annotate] [blame] [check-ins using] [diff]
2008-12-20
14:19
[737d54ed05] part of check-in [4360177618] Remove wchar_t stuff, as that's not portable anyway. (check-in: [4360177618] user: js, branch: trunk, size: 2073) [annotate] [blame] [check-ins using] [diff]
2008-12-13
14:50
[9f7f197b86] part of check-in [46b770d066] Add missing const for some return types; new exception. (check-in: [46b770d066] user: js, branch: trunk, size: 3922) [annotate] [blame] [check-ins using] [diff]
2008-12-10
20:53
[f6358fc52b] part of check-in [4f7378978c] Fix FIXMEs in OFString; new exception. (check-in: [4f7378978c] user: js, branch: trunk, size: 3916) [annotate] [blame] [check-ins using] [diff]
17:53
[56af24d281] part of check-in [f48ee629e3] Always use [self alloc] in + new.
This way, derivated classes are not forced to always override + new.
(check-in: [f48ee629e3] user: js, branch: trunk, size: 3814) [annotate] [blame] [check-ins using] [diff]
2008-12-07
10:48
[1aa922997d] part of check-in [88053589dc] Very small API change. (check-in: [88053589dc] user: js, branch: trunk, size: 3826) [annotate] [blame] [check-ins using] [diff]
2008-12-06
15:14
[a1f83fb4fc] part of check-in [9c420c6cc3] Rename cString to getCString, as this needs to be generated. (check-in: [9c420c6cc3] user: js, branch: trunk, size: 3824) [annotate] [blame] [check-ins using] [diff]
2008-11-30
15:17
[66c9692dfd] part of check-in [4b8666fe15] Clean up imports. (check-in: [4b8666fe15] user: js, branch: trunk, size: 3821) [annotate] [blame] [check-ins using] [diff]
2008-11-28
17:31
[46f93c5dbb] part of check-in [ae389818d9] glibc needs one import more. (check-in: [ae389818d9] user: js, branch: trunk, size: 3822) [annotate] [blame] [check-ins using] [diff]
2008-11-27
16:14
[e4cac6da69] part of check-in [2cbf759299] Add lower and upper for OFString. (check-in: [2cbf759299] user: js, branch: trunk, size: 3802) [annotate] [blame] [check-ins using] [diff]
2008-11-26
21:12
[441ab9ee19] part of check-in [baeaca9124] mbstowcs/wcstombs returns the size of bytes exluding \0, thus add 1. (check-in: [baeaca9124] user: js, branch: trunk, size: 3606) [annotate] [blame] [check-ins using] [diff]
2008-11-23
06:11
[cffef7d468] part of check-in [bf02f0ef25] New string API, string class completely rewritten.
One class for all string types now.
(check-in: [bf02f0ef25] user: js, branch: trunk, size: 3594) [annotate] [blame] [check-ins using] [diff]
2008-11-19
18:27
[fbb622def6] part of check-in [cebd6fbbfc] Implement reverse for OF(Wide)CString & rename wcString -> wCString. (check-in: [cebd6fbbfc] user: js, branch: trunk, size: 1515) [annotate] [blame] [check-ins using] [diff]
2008-11-05
17:13
[d41ed2e6b4] part of check-in [2690e9848f] Start documenting stuff. (check-in: [2690e9848f] user: js, branch: trunk, size: 1475) [annotate] [blame] [check-ins using] [diff]
2008-10-29
16:37
[a6d9bc8397] part of check-in [d6a3d8a5db] Add OF_NOT_IMPLEMENTED macro. (check-in: [d6a3d8a5db] user: js, branch: trunk, size: 1508) [annotate] [blame] [check-ins using] [diff]
2008-10-25
22:34
[28feddcc2f] part of check-in [326b0a1c33] initWithFooString -> initAsFooString. (check-in: [326b0a1c33] user: js, branch: trunk, size: 2239) [annotate] [blame] [check-ins using] [diff]
22:25
[ffab6838ef] part of check-in [62abf39400] newWithFooString -> newAsFooString. (check-in: [62abf39400] user: js, branch: trunk, size: 2247) [annotate] [blame] [check-ins using] [diff]
2008-10-22
13:32
[34596a2a5f] part of check-in [e47ad44290] Reworked OFObject and added append(Wide)CString to OFString.

The reworked OFObject lets one test fail on the GNU runtime.
Unfortunately, I have no idea why... (check-in: [e47ad44290] user: js, branch: trunk, size: 2252) [annotate] [blame] [check-ins using] [diff]

2008-10-11
20:26
[bf98b3db86] part of check-in [7b15048e25] Move length from base string class to subclasses & others. (check-in: [7b15048e25] user: js, branch: trunk, size: 1880) [annotate] [blame] [check-ins using] [diff]
2008-10-09
00:25
[595a703a5e] part of check-in [7a49441656] Multiple changes, see details.

* Use config.h.
* Check whether to use sel_get_name or sel_getName.
* Rename freeWithData to freeIncludingData. (check-in: [7a49441656] user: js, branch: trunk, size: 1786) [annotate] [blame] [check-ins using] [diff]

2008-10-08
23:15
[a57e73bfa3] part of check-in [b597d49f43] Multiple changes, see details.

* OFObject getMem: renamd to getMemWithSize:.
* OFString compare: renamed to compareTo:.
* Exceptions don't throw itself anymore.
* Exceptions include an error string now.
* Exceptions now got raise and string.
* New methods for OFFile:
* changeModeOfFile:toMode:
* changeOwnerOfFile:toOwner:andGroup:
* delete:
* link:to:
* symlink:to:
* OFFile isEndOfFile renamd to atEndOfFile
* OFNotImplementedExeception newWithObject:andMethod renamed to
newWithObject:andSelector:.
* Tests updated accordingly.
* TODO list added. (check-in: [b597d49f43] user: js, branch: trunk, size: 1766) [annotate] [blame] [check-ins using] [diff]

2008-10-07
17:18
[7599c02c21] part of check-in [71119a787b] Added OFFile. (check-in: [71119a787b] user: js, branch: trunk, size: 1667) [annotate] [blame] [check-ins using] [diff]
2008-10-05
19:20
[3e627dd8f1] part of check-in [cf85bee74f] Reworked String API. (check-in: [cf85bee74f] user: js, branch: trunk, size: 1602) [annotate] [blame] [check-ins using] [diff]
2008-09-15
11:02
[68b2726756] part of check-in [c7f702cc69] API change. (check-in: [c7f702cc69] user: js, branch: trunk, size: 1721) [annotate] [blame] [check-ins using] [diff]
10:23
[b274f069db] part of check-in [24ce530f56] Add compare: for strings. (check-in: [24ce530f56] user: js, branch: trunk, size: 1677) [annotate] [blame] [check-ins using] [diff]
2008-09-14
20:30
[c2a52dd320] part of check-in [1df0de873b] Same again. (check-in: [1df0de873b] user: js, branch: trunk, size: 1602) [annotate] [blame] [check-ins using] [diff]
20:19
[bb64dfc30f] part of check-in [de929f3cde] Make more use of exceptions. (check-in: [de929f3cde] user: js, branch: trunk, size: 1630) [annotate] [blame] [check-ins using] [diff]
19:03
[fb3d19ec1b] part of check-in [98fe076bd8] More exceptions stuff. (check-in: [98fe076bd8] user: js, branch: trunk, size: 1661) [annotate] [blame] [check-ins using] [diff]
17:59
[1c1ae2a28e] part of check-in [1c2e0d4711] Fix missing terminating char and glibc bug. (check-in: [1c2e0d4711] user: js, branch: trunk, size: 1702) [annotate] [blame] [check-ins using] [diff]
15:29
[52bd147dc6] part of check-in [778be56179] Coding style. (check-in: [778be56179] user: js, branch: trunk, size: 1707) [annotate] [blame] [check-ins using] [diff]
12:53
[7b8481ed3a] part of check-in [1fe9cb366e] Add OFWideString and OFConstWideString. (check-in: [1fe9cb366e] user: js, branch: trunk, size: 1689) [annotate] [blame] [check-ins using] [diff]
2008-09-12
18:26
[ec546376b0] part of check-in [a566e7bb03] Add OFConstString. (check-in: [a566e7bb03] user: js, branch: trunk, size: 1779) [annotate] [blame] [check-ins using] [diff]
18:21
[c26b0e5b15] part of check-in [0256ab4f09] OFString uses OFObject's getMem: and resizeMem:toSize: now. (check-in: [0256ab4f09] user: js, branch: trunk, size: 1815) [annotate] [blame] [check-ins using] [diff]
13:25
Added: [53999e7524] part of check-in [a580136c80] Initial import. (check-in: [a580136c80] user: js, branch: trunk, size: 1516) [annotate] [blame] [check-ins using]