ObjFW  History of src/OFMutableString.m of bc531024f5da3ef7

History of the file that is called src/OFMutableString.m at check-in bc531024f5da3ef7

2024-04-03
02:16
[f4575ddf27] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 13391) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[62c36464cb] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 13183) [annotate] [blame] [check-ins using] [diff]
2023-08-17
14:30
[4603982353] part of check-in [03339575cb] OFString: Add designated initializer (check-in: [03339575cb] user: js, branch: trunk, size: 13183) [annotate] [blame] [check-ins using] [diff]
2023-08-09
10:09
[19236c79ee] part of check-in [281b494de4] More consistency in naming of private classes (check-in: [281b494de4] user: js, branch: trunk, size: 12883) [annotate] [blame] [check-ins using] [diff]
09:08
[b405469c4d] part of check-in [36310f6263] Add OF_SINGLETON_METHODS (check-in: [36310f6263] user: js, branch: trunk, size: 12883) [annotate] [blame] [check-ins using] [diff]
2023-08-08
15:32
[5c70d53726] part of check-in [a6f520157a] A few minor cleanups (check-in: [a6f520157a] user: js, branch: trunk, size: 13016) [annotate] [blame] [check-ins using] [diff]
2023-04-10
19:22
[6babdf726b] 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: 12993) [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
[de2a5d81a3] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 13135) [annotate] [blame] [check-ins using] [diff]
2022-11-24
00:21
[b8b23d5dca] part of check-in [23272e6d43] Rename OFURI to OFIRI (check-in: [23272e6d43] user: js, branch: trunk, size: 13135) [annotate] [blame] [check-ins using] [diff]
2022-09-28
21:40
[eb3bef8a08] part of check-in [e7ab06503c] Rename OFUR{L -> I} in preparation for URI support (check-in: [e7ab06503c] user: js, branch: trunk, size: 13135) [annotate] [blame] [check-ins using] [diff]
2022-09-04
18:46
[b626e8ca80] part of check-in [6c3ec63d96] Remove -[prependString:] and -[reverse] (check-in: [6c3ec63d96] user: js, branch: trunk, size: 13135) [annotate] [blame] [check-ins using] [diff]
2022-08-30
00:48
[538b23eb1a] part of check-in [4ad0c363f3] OFObject: Small API change (check-in: [4ad0c363f3] user: js, branch: trunk, size: 13488) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[a015aada74] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 13488) [annotate] [blame] [check-ins using] [diff]
2021-04-18
22:56
[7608f6e984] part of check-in [e73c65a849] Rename all symbols marked extern (check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 13488) [annotate] [blame] [check-ins using] [diff]
20:51
[75824153ee] part of check-in [35de667566] Rename everything in several smaller files (check-in: [35de667566] user: js, branch: new-naming-convention, size: 13530) [annotate] [blame] [check-ins using] [diff]
15:55
[83dabd7d82] part of check-in [7392685ffc] Rename all functions in macros.h (check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 13532) [annotate] [blame] [check-ins using] [diff]
2021-04-17
14:13
[07b8bb5a1a] part of check-in [eb0cfa6ff9] Always prefix functions with the type (check-in: [eb0cfa6ff9] user: js, branch: new-naming-convention, size: 13552) [annotate] [blame] [check-ins using] [diff]
02:10
[440135bc21] part of check-in [255f21fb3d] of_string_encoding_t -> OFStringEncoding (check-in: [255f21fb3d] user: js, branch: new-naming-convention, size: 13552) [annotate] [blame] [check-ins using] [diff]
01:35
[4fa48e11bf] part of check-in [6d9d790a24] of_char{16,32}_t -> OFChar{16,32} (check-in: [6d9d790a24] user: js, branch: new-naming-convention, size: 13576) [annotate] [blame] [check-ins using] [diff]
01:32
[e296fd7e90] part of check-in [2d3790870d] of_unichar_t -> OFUnichar (check-in: [2d3790870d] user: js, branch: new-naming-convention, size: 13600) [annotate] [blame] [check-ins using] [diff]
00:44
[ba205102b7] part of check-in [d975c53a43] of_range_t -> OFRange (check-in: [d975c53a43] user: js, branch: new-naming-convention, size: 13651) [annotate] [blame] [check-ins using] [diff]
00:31
[219bee6d83] part of check-in [1046d10a20] of_byte_order_t -> OFByteOrder (check-in: [1046d10a20] user: js, branch: new-naming-convention, size: 13642) [annotate] [blame] [check-ins using] [diff]
2021-03-08
00:00
[e8ac978dc5] 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: 13658) [annotate] [blame] [check-ins using] [diff]

2021-03-07
20:25
[65e4058789] part of check-in [1b82d3bf4f] *.m: Fold methods into one line where it fits (check-in: [1b82d3bf4f] user: js, branch: trunk, size: 13720) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[b6e6846a4c] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 14017) [annotate] [blame] [check-ins using] [diff]
2020-06-28
15:03
[bb86d6b9da] part of check-in [b6cb3addd0] Use OF_DIRECT(_MEMBERS) where appropriate (check-in: [b6cb3addd0] user: js, branch: trunk, size: 14106) [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
[3e022bac69] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 14082) [annotate] [blame] [check-ins using] [diff]
2019-06-17
02:33
[3833fffedc] part of check-in [17d57e01ff] Remove underscores from class names (check-in: [17d57e01ff] user: js, branch: trunk, size: 14079) [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
[3ed2ba1cf6] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 14109) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[91653c54ba] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 14143) [annotate] [blame] [check-ins using] [diff]
2018-02-25
04:31
[188469b5c0] 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: 14137) [annotate] [blame] [check-ins using] [diff]

2018-01-03
19:49
[4263a0fe76] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 14113) [annotate] [blame] [check-ins using] [diff]
2017-10-30
00:23
[1a24b0bb52] part of check-in [a2e849c681] Add class properties where appropriate

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

2017-10-22
15:05
[9c395a3fd8] part of check-in [a06354b42a] Make Apple GCC with -Wshadow happy (check-in: [a06354b42a] user: js, branch: trunk, size: 14091) [annotate] [blame] [check-ins using] [diff]
14:09
[d0679a5108] part of check-in [31c0f5b89e] Make Apple GCC with -Wshadow happy (check-in: [31c0f5b89e] user: js, branch: 0.90, size: 13716) [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
[8288a048e9] 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: 14099) [annotate] [blame] [check-ins using] [diff]

2017-06-10
11:46
[7b8005c3d9] part of check-in [dbdc125802] macros.h: Add of_ascii_isspace() (check-in: [dbdc125802] user: js, branch: trunk, size: 13724) [annotate] [blame] [check-ins using] [diff]
2017-06-03
18:37
[b2395b2e90] part of check-in [4ec0948b1b] Properly check for sys/types.h (check-in: [4ec0948b1b] user: js, branch: trunk, size: 14034) [annotate] [blame] [check-ins using] [diff]
2017-05-21
21:28
[f5a01a1e43] 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: 14058) [annotate] [blame] [check-ins using] [diff]

2017-05-07
21:25
[4a06375780] 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: 14058) [annotate] [blame] [check-ins using] [diff]
20:10
[8db593635a] 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: 14082) [annotate] [blame] [check-ins using] [diff]

2017-05-06
19:43
[3e71679146] part of check-in [cca678886f] Clean up a few includes (check-in: [cca678886f] user: js, branch: trunk, size: 14046) [annotate] [blame] [check-ins using] [diff]
19:25
[80f6bf7e02] part of check-in [322bbaf8e9] OFMutableString: Add missing #ifdef (check-in: [322bbaf8e9] user: js, branch: trunk, size: 14065) [annotate] [blame] [check-ins using] [diff]
2017-05-01
12:53
[4ce1d99820] part of check-in [c7f593793e] Fix generic -[deleteTrailingWhitespaces]

This only fixes the generic one in OFMutableString, the specific one in
OFMutableString_UTF8 (that was used for all strings) was not broken. (check-in: [c7f593793e] user: js, branch: trunk, size: 14003) [annotate] [blame] [check-ins using] [diff]

2017-04-09
12:02
[a925bde0fe] part of check-in [8433da5605] Add a missing const (check-in: [8433da5605] user: js, branch: trunk, size: 13794) [annotate] [blame] [check-ins using] [diff]
2017-03-12
00:58
[b4559a9fab] part of check-in [696bc0d890] OFMutableString: Check more arguments for nil (check-in: [696bc0d890] user: js, branch: trunk, size: 13788) [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
[39a9726c51] 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: 13696) [annotate] [blame] [check-ins using] [diff]

2017-01-07
00:37
[3b4d8b06cc] 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: 13690) [annotate] [blame] [check-ins using] [diff]

2016-09-12
00:27
[29e52abbc7] part of check-in [13f4c6c678] Add OF_DEALLOC_UNSUPPORTED macro (check-in: [13f4c6c678] user: js, branch: trunk, size: 13867) [annotate] [blame] [check-ins using] [diff]
2016-08-29
00:05
[7c949926c1] 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: 13923) [annotate] [blame] [check-ins using] [diff]

2016-02-21
15:37
[b0b4b6766d] part of check-in [e0b9167693] Make use of C99-style for loops (check-in: [e0b9167693] user: js, branch: trunk, size: 12577) [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:41
[4c381c3b4d] part of check-in [2a27cf3000] Update copyright

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

2015-05-03
11:34
[4a0b7f4d80] part of check-in [daf78156a7] Check <= SSIZE_MAX before assignign to ssize_t (check-in: [daf78156a7] user: js, branch: trunk, size: 12573) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[5097d3765b] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 12499) [annotate] [blame] [check-ins using] [diff]
2014-06-21
21:43
[f4c986f8d9] 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: 12493) [annotate] [blame] [check-ins using] [diff]

2014-05-15
04:07
[9ed108e4c1] part of check-in [3c7bf2e50c] Don't return void expressions (check-in: [3c7bf2e50c] user: js, branch: trunk, size: 12537) [annotate] [blame] [check-ins using] [diff]
2014-04-14
00:45
[6564d3d79b] part of check-in [9da9b2b64c] Coding style

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

2014-01-09
00:01
[33c49a61cb] part of check-in [f89edd8ed9] Add --disable-files configure flag. (check-in: [f89edd8ed9] user: js, branch: trunk, size: 12546) [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
[f3c05b92fc] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 12518) [annotate] [blame] [check-ins using] [diff]
2013-12-15
18:11
[fc494f773d] part of check-in [ffe7645e3a] Fix a few minor bugs found by the Clang Analyzer. (check-in: [ffe7645e3a] user: js, branch: trunk, size: 12512) [annotate] [blame] [check-ins using] [diff]
2013-11-23
01:27
[8476e8b7af] part of check-in [6e19bd47ee] Add OF_UNRECOGNIZED_SELECTOR. (check-in: [6e19bd47ee] user: js, branch: trunk, size: 12519) [annotate] [blame] [check-ins using] [diff]
2013-08-14
19:17
[ad91789f29] 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: 12567) [annotate] [blame] [check-ins using] [diff]

2013-06-22
12:12
[8d0822912d] 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: 13008) [annotate] [blame] [check-ins using] [diff]

2013-03-04
17:20
[ab8d403b2b] 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: 13113) [annotate] [blame] [check-ins using] [diff]

2013-01-13
13:07
[bfd221d698] 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: 13108) [annotate] [blame] [check-ins using] [diff]

2013-01-11
12:41
[086c316216] 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: 13084) [annotate] [blame] [check-ins using] [diff]

12:13
[a7724d0cb6] part of check-in [beb9051a10] Add -[OFMutableString appendCharacters:length:]. (check-in: [beb9051a10] user: js, branch: trunk, size: 12257) [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
[76c373f5c0] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 11998) [annotate] [blame] [check-ins using] [diff]
2012-12-29
17:56
[5f0048c446] 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: 11992) [annotate] [blame] [check-ins using] [diff]

14:31
[b484829d75] part of check-in [9e8c825616] OFMutableString: Implement more methods.

The only method that needs to be implemented by a subclass now is
-[replaceCharactersInRange:withString:]. (check-in: [9e8c825616] user: js, branch: trunk, size: 12655) [annotate] [blame] [check-ins using] [diff]

2012-12-22
15:37
[e77a1233fc] part of check-in [917ce5754c] Add -[doesNotRecognizeSelector:]. (check-in: [917ce5754c] user: js, branch: trunk, size: 12462) [annotate] [blame] [check-ins using] [diff]
2012-10-21
22:12
[5fcf1bb841] part of check-in [fcade8da38] Make GCC 4.4 happy. (check-in: [fcade8da38] user: js, branch: trunk, size: 12678) [annotate] [blame] [check-ins using] [diff]
2012-10-16
14:47
[c4f091786b] 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: 12701) [annotate] [blame] [check-ins using] [diff]

2012-10-14
10:36
[fbeacc8bf8] part of check-in [53af033b0e] More integer overflow checks. (check-in: [53af033b0e] user: js, branch: trunk, size: 12657) [annotate] [blame] [check-ins using] [diff]
00:54
[0b9877e248] part of check-in [c9433ea60d] range.start -> range.location. (check-in: [c9433ea60d] user: js, branch: trunk, size: 12608) [annotate] [blame] [check-ins using] [diff]
2012-10-13
19:30
[ee0cfc9cd4] part of check-in [255fd75828] of_endianess_t -> of_byte_order_t. (check-in: [255fd75828] user: js, branch: trunk, size: 12599) [annotate] [blame] [check-ins using] [diff]
18:51
[7230c7c71f] part of check-in [e5b31cf72f] Rename -[appendUTF8String:withLength:]. (check-in: [e5b31cf72f] user: js, branch: trunk, size: 12595) [annotate] [blame] [check-ins using] [diff]
2012-09-16
15:27
[869c2383b0] part of check-in [c137da5e5b] Prefix all private methods with OF_. (check-in: [c137da5e5b] user: js, branch: trunk, size: 12623) [annotate] [blame] [check-ins using] [diff]
2012-08-10
20:08
[808aebc7d8] 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: 12619) [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
[dd89e81e6e] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 12594) [annotate] [blame] [check-ins using] [diff]
2012-07-06
15:00
[a950dfa678] part of check-in [9a2430abfc] Add -[OFString capitalizedString]. (check-in: [9a2430abfc] user: js, branch: trunk, size: 12499) [annotate] [blame] [check-ins using] [diff]
2012-07-04
22:50
[9288f5195e] part of check-in [8e995a13e7] Rename -[{upper,lower}] to -[{upper,lower}case]. (check-in: [8e995a13e7] user: js, branch: trunk, size: 11460) [annotate] [blame] [check-ins using] [diff]
20:07
[5ef83f0de3] part of check-in [d5c4406548] Generate titlecase tables. (check-in: [d5c4406548] user: js, branch: trunk, size: 11452) [annotate] [blame] [check-ins using] [diff]
2012-02-27
13:14
[13cf3f76d3] part of check-in [337895d46c] Fix missing includes of <sys/types.h> for ssize_t. (check-in: [337895d46c] user: js, branch: 0.6, size: 11436) [annotate] [blame] [check-ins using] [diff]
2012-01-31
18:59
[9d0d0e1c5d] part of check-in [e5fe02de61] Add -[OFMutableString replaceOccurrencesOfString:withString:inRange:]. (check-in: [e5fe02de61] user: js, branch: trunk, size: 11412) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[9b4155a1d7] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 11020) [annotate] [blame] [check-ins using] [diff]
2011-11-20
19:36
[bd2a3492a4] part of check-in [41e6f07b2a] Remove a useless variable. (check-in: [41e6f07b2a] user: js, branch: trunk, size: 11014) [annotate] [blame] [check-ins using] [diff]
18:41
[b1a528232d] 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: 11046) [annotate] [blame] [check-ins using] [diff]

2011-10-11
21:55
[a718ee6404] 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: 15227) [annotate] [blame] [check-ins using] [diff]

2011-09-22
23:25
[471b2f9466] 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: 15789) [annotate] [blame] [check-ins using] [diff]

2011-09-19
16:34
[e446d14903] part of check-in [f173477bef] Rename -[allocMemoryForNItems:withSize:] and friends.
It is now -[allocMemoryForNItems:ofSize:].
(check-in: [f173477bef] user: js, branch: trunk, size: 15696) [annotate] [blame] [check-ins using] [diff]
12:34
[bc1cbfd1e0] part of check-in [d43eb177bc] BOOL naming conventions. (check-in: [d43eb177bc] user: js, branch: trunk, size: 15696) [annotate] [blame] [check-ins using] [diff]
2011-09-12
19:57
[2744e572a4] part of check-in [e6fd39d11e] Rename -[cString] to -[UTF8String]. (check-in: [e6fd39d11e] user: js, branch: trunk, size: 15714) [annotate] [blame] [check-ins using] [diff]
19:14
[f3abcc1339] part of check-in [d511962e09] Remove -[setToCString:]. (check-in: [d511962e09] user: js, branch: trunk, size: 15313) [annotate] [blame] [check-ins using] [diff]
2011-09-10
20:24
[79d9601955] part of check-in [7eff7e3918] Treat \f as whitespace. (check-in: [7eff7e3918] user: js, branch: trunk, size: 15990) [annotate] [blame] [check-ins using] [diff]
16:07
[e3840cf4e3] part of check-in [8c8e90bd66] Fix a forgotten comment. (check-in: [8c8e90bd66] user: js, branch: trunk, size: 15888) [annotate] [blame] [check-ins using] [diff]
2011-08-07
16:57
[2936968cd3] part of check-in [927dbf6e7d] Add -[makeImmutable] to all mutable classes and use it. (check-in: [927dbf6e7d] user: js, branch: trunk, size: 15889) [annotate] [blame] [check-ins using] [diff]
2011-08-04
16:48
[f5b0d569c9] part of check-in [f977192a23] Get rid of -[*FromIndex:toIndex:]. (check-in: [f977192a23] user: js, branch: trunk, size: 15837) [annotate] [blame] [check-ins using] [diff]
2011-07-09
14:45
[3c8f4c2bc5] 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: 16105) [annotate] [blame] [check-ins using] [diff]

2011-07-08
21:08
[8b9a1eb927] part of check-in [e250800382] Optimize +[stringWithString:] and -[appendString:]. (check-in: [e250800382] user: js, branch: trunk, size: 15883) [annotate] [blame] [check-ins using] [diff]
20:13
[736e731460] part of check-in [7c66260ead] Rename -[deleteLeadingAndTrailingWhitespaces]. (check-in: [7c66260ead] user: js, branch: trunk, size: 15784) [annotate] [blame] [check-ins using] [diff]
19:15
[34b8bce34b] part of check-in [3ffa55524a] Rename ivars in OFString struct to prevent prospective name conflicts. (check-in: [3ffa55524a] user: js, branch: trunk, size: 15793) [annotate] [blame] [check-ins using] [diff]
15:34
[7a74906b05] part of check-in [348ac73b77] Don't kill the old string in -[setToCString:] due to invalid encoding. (check-in: [348ac73b77] user: js, branch: trunk, size: 14495) [annotate] [blame] [check-ins using] [diff]
15:29
[17605d93c9] part of check-in [0b846bcc4a] Make it possible to add more ivars to OFConstantString. (check-in: [0b846bcc4a] user: js, branch: trunk, size: 14561) [annotate] [blame] [check-ins using] [diff]
2011-07-06
22:55
[9305a9d8ab] part of check-in [7558e235fe] Only allow an OFConstantString as format. (check-in: [7558e235fe] user: js, branch: trunk, size: 13979) [annotate] [blame] [check-ins using] [diff]
2011-05-08
17:33
[a73fb6b373] part of check-in [1eedeefc72] Get rid of appendCStringWithoutUTF8Checking:encoding:length:]. (check-in: [1eedeefc72] user: js, branch: trunk, size: 13963) [annotate] [blame] [check-ins using] [diff]
2011-04-25
17:17
[6944810146] part of check-in [810b0028ed] Skip possible BOMs in OFMutableString. (check-in: [810b0028ed] user: js, branch: 0.5, size: 12801) [annotate] [blame] [check-ins using] [diff]
17:14
[0eff2f55bc] part of check-in [7aefcd5ede] Skip possible BOMs in OFMutableString. (check-in: [7aefcd5ede] user: js, branch: trunk, size: 14432) [annotate] [blame] [check-ins using] [diff]
16:57
[9261f4b9e0] part of check-in [b2dd4f049b] OFXMLParser: Add support for different encodings and other improvements. (check-in: [b2dd4f049b] user: js, branch: trunk, size: 14115) [annotate] [blame] [check-ins using] [diff]
2011-04-23
13:23
[fa9bcee55c] part of check-in [6f4bf74c7d] More style improvements. (check-in: [6f4bf74c7d] user: js, branch: trunk, size: 13179) [annotate] [blame] [check-ins using] [diff]
02:15
[4ddd782651] part of check-in [6649214059] OFMutableString: Call madvise() on the correct length. (check-in: [6649214059] user: js, branch: 0.5, size: 12549) [annotate] [blame] [check-ins using] [diff]
01:32
[af20c160ff] part of check-in [1acf3d2817] Fix too big buffer in -[OFMutableString _applyTable:withSize:]. (check-in: [1acf3d2817] user: js, branch: 0.5, size: 12525) [annotate] [blame] [check-ins using] [diff]
2011-04-04
23:32
[fe52a06baf] part of check-in [93fee7265f] Remove now useless defines of _GNU_SOURCE. (check-in: [93fee7265f] user: js, branch: trunk, size: 12522) [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
[73cbfce137] part of check-in [cda44767f4] Get rid of OFExceptions.h. (check-in: [cda44767f4] user: js, branch: trunk, size: 12542) [annotate] [blame] [check-ins using] [diff]
2011-03-22
20:57
[2e55f69888] part of check-in [c9e2f6b548] Rename remove to delete in OFMutableString. (check-in: [c9e2f6b548] user: js, branch: trunk, size: 12381) [annotate] [blame] [check-ins using] [diff]
2011-02-09
16:35
[d31ec13d9e] part of check-in [a3fef2953d] Don't allow nil as argument for -[appendString:]. (check-in: [a3fef2953d] user: js, branch: trunk, size: 12381) [annotate] [blame] [check-ins using] [diff]
2011-02-07
21:05
[e762638600] part of check-in [151463e32a] of_vasprintf: Preserve exceptions that happen in -[description]. (check-in: [151463e32a] user: js, branch: trunk, size: 12278) [annotate] [blame] [check-ins using] [diff]
2011-01-29
19:01
[751ced34bb] part of check-in [4c4608fbba] Add of_asprintf and allow %@ in format strings. (check-in: [4c4608fbba] user: js, branch: trunk, size: 12308) [annotate] [blame] [check-ins using] [diff]
2011-01-08
15:59
[8301473e4d] part of check-in [c53575653d] Prefer -[release] over -[dealloc]. (check-in: [c53575653d] user: js, branch: trunk, size: 12373) [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
[353370f742] part of check-in [da6b3d26cb] Change license. (check-in: [da6b3d26cb] user: js, branch: trunk, size: 12373) [annotate] [blame] [check-ins using] [diff]
2010-12-26
00:01
[617a9d8416] part of check-in [05207af0f6] Don't use strlen in -[appendCString:withLength:].
This might cause trouble if the string is not terminated.
(check-in: [05207af0f6] user: js, branch: trunk, size: 12117) [annotate] [blame] [check-ins using] [diff]
2010-11-17
16:06
[bb152a87a3] part of check-in [e6c5c90751] Remove strlen in -[appendCStringWithoutUTF8Checking:length:].

When passing a string without \0-termination, strlen would access the
passed string out of bounds. (check-in: [e6c5c90751] user: js, branch: trunk, size: 12194) [annotate] [blame] [check-ins using] [diff]

2010-11-13
21:26
[b3b5f8f9a0] part of check-in [5a75edd60e] Add -[OFMutableString prependString:]. (check-in: [5a75edd60e] user: js, branch: trunk, size: 12271) [annotate] [blame] [check-ins using] [diff]
2010-10-25
23:03
[21aaad94ff] 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: 12178) [annotate] [blame] [check-ins using] [diff]
2010-10-24
22:32
[a7c6aaf7d8] part of check-in [e9db0f7013] Add -[OFMutableString insertString:atIndex:]. (check-in: [e9db0f7013] user: js, branch: trunk, size: 12208) [annotate] [blame] [check-ins using] [diff]
22:12
[4f2f2b15be] part of check-in [3f14a43fbf] Add -[OFMutableString replaceCharactersFromIndex:toIndex:withString:]. (check-in: [3f14a43fbf] user: js, branch: trunk, size: 11705) [annotate] [blame] [check-ins using] [diff]
2010-04-17
22:27
[920953956a] 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: 10749) [annotate] [blame] [check-ins using] [diff]

16:09
[7172dc591d] part of check-in [2517f18272] Give the methods in OFNumber better names. (check-in: [2517f18272] user: js, branch: trunk, size: 10757) [annotate] [blame] [check-ins using] [diff]
15:56
[276880c8d3] part of check-in [baeb7b379a] Make applying a table a private method. (check-in: [baeb7b379a] user: js, branch: trunk, size: 10761) [annotate] [blame] [check-ins using] [diff]
15:46
[702fa32298] 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: 10888) [annotate] [blame] [check-ins using] [diff]
2010-04-10
23:52
[e8c7a3fc62] part of check-in [48190e2a91] Add +[stringWithPath:] to OFString. (check-in: [48190e2a91] user: js, branch: trunk, size: 11063) [annotate] [blame] [check-ins using] [diff]
2010-04-07
18:39
[7f7b9ed83b] part of check-in [66bbe6da24] Rename -[appendWithFormat:] to -[appendFormat:]. (check-in: [66bbe6da24] user: js, branch: trunk, size: 11119) [annotate] [blame] [check-ins using] [diff]
2010-04-04
15:45
[f8d1ab3b42] part of check-in [43b963aba6] Out of memory is way more likely for vasprintf. (check-in: [43b963aba6] user: js, branch: trunk, size: 11089) [annotate] [blame] [check-ins using] [diff]
2010-03-05
11:52
[6ba90ce87d] 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: 10986) [annotate] [blame] [check-ins using] [diff]

2010-02-19
16:36
[80c8a0ca31] part of check-in [42886185fd] Update copyright. (check-in: [42886185fd] user: js, branch: trunk, size: 11138) [annotate] [blame] [check-ins using] [diff]
2010-02-11
14:05
[9cfb356b64] 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: 11138) [annotate] [blame] [check-ins using] [diff]
2010-02-02
18:58
[ca1764da14] 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: 10984) [annotate] [blame] [check-ins using] [diff]
2010-01-31
22:05
[2a95dc6ba0] part of check-in [305317e5ea] Small optimization. (check-in: [305317e5ea] user: js, branch: trunk, size: 10986) [annotate] [blame] [check-ins using] [diff]
2010-01-30
18:29
[5bfa0023ae] 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: 10973) [annotate] [blame] [check-ins using] [diff]

2010-01-16
15:05
[b2dec79243] part of check-in [1433aef0d0] Reduce dependencies between headers. (check-in: [1433aef0d0] user: js, branch: trunk, size: 10904) [annotate] [blame] [check-ins using] [diff]
2010-01-08
15:26
[006e62d4d8] part of check-in [be4c0f34c5] Generate and use smaller Unicode tables. (check-in: [be4c0f34c5] user: js, branch: trunk, size: 10911) [annotate] [blame] [check-ins using] [diff]
2009-11-29
16:23
[8b3fe48252] part of check-in [d57228d9d6] Allow NULL as parameter for -[freeMemory:]. (check-in: [d57228d9d6] user: js, branch: trunk, size: 11004) [annotate] [blame] [check-ins using] [diff]
2009-11-10
15:34
[ae31141f77] part of check-in [3d007c8393] Improve of_string_utf8_to_unicode. (check-in: [3d007c8393] user: js, branch: trunk, size: 11026) [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
[be87eedb20] part of check-in [a3cc34b139] Rename libobjfw to ObjFW. (check-in: [a3cc34b139] user: js, branch: trunk, size: 11233) [annotate] [blame] [check-ins using] [diff]
2009-10-18
19:24
[858fa47b24] part of check-in [92c42bbe32] Only get UTF-8 position if the string is using UTF-8. (check-in: [92c42bbe32] user: js, branch: trunk, size: 11236) [annotate] [blame] [check-ins using] [diff]
14:22
[3d29c4b702] part of check-in [257fc27253] Use the new, smaller Unicode tables. (check-in: [257fc27253] user: js, branch: trunk, size: 11215) [annotate] [blame] [check-ins using] [diff]
2009-10-16
10:46
[b1198e7c3f] part of check-in [deea33a4d9] Implement -[hash] for OFArray. (check-in: [deea33a4d9] user: js, branch: trunk, size: 11164) [annotate] [blame] [check-ins using] [diff]
08:44
[feeaa349e9] part of check-in [8389241a05] OFMutableString's -[upper] and -[lower]: Get rid of code duplication. (check-in: [8389241a05] user: js, branch: trunk, size: 11174) [annotate] [blame] [check-ins using] [diff]
2009-10-15
20:38
[faf789896c] part of check-in [0480a27d5e] Full Unicode support for OFMutableString's -[upper] and -[lower]. (check-in: [0480a27d5e] user: js, branch: trunk, size: 12587) [annotate] [blame] [check-ins using] [diff]
2009-10-03
21:12
[693bddf4d9] part of check-in [f01153154d] Fix setting of is_utf8. (check-in: [f01153154d] user: js, branch: trunk, size: 9393) [annotate] [blame] [check-ins using] [diff]
20:41
[e137055b69] 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: 9314) [annotate] [blame] [check-ins using] [diff]
2009-09-01
11:32
[c3c573eb68] part of check-in [3ed599fe98] Rename -[length] to -[cStringLength] in OFString. (check-in: [3ed599fe98] user: js, branch: trunk, size: 9195) [annotate] [blame] [check-ins using] [diff]
2009-08-27
17:52
[c9b26460ed] part of check-in [a9ff126697] Add -[removeCharactersFromIndex:toIndex:] to OFMutableString. (check-in: [a9ff126697] user: js, branch: trunk, size: 9181) [annotate] [blame] [check-ins using] [diff]
2009-08-14
01:01
[0296655a87] part of check-in [a5aed6da30] Treat \n and \r as whitespaces in whitespace removing methods. (check-in: [a5aed6da30] user: js, branch: trunk, size: 8624) [annotate] [blame] [check-ins using] [diff]
2009-07-19
14:05
[aa0351ec1a] part of check-in [4eae61a78f] Rename andFoo: to foo: in all methods. (check-in: [4eae61a78f] user: js, branch: trunk, size: 8470) [annotate] [blame] [check-ins using] [diff]
2009-07-14
17:32
[d6f1d8e020] 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: 8477) [annotate] [blame] [check-ins using] [diff]
2009-06-30
13:38
[fdbe2b51a4] part of check-in [eddc0ba58c] Implement OFCopying and OFMutableCopying in OFDictionary. (check-in: [eddc0ba58c] user: js, branch: trunk, size: 7701) [annotate] [blame] [check-ins using] [diff]
2009-06-18
18:26
[b1e7f862ab] part of check-in [47e65e5a97] Add -[appendCStringWithoutUTF8Checking:]. (check-in: [47e65e5a97] user: js, branch: trunk, size: 7701) [annotate] [blame] [check-ins using] [diff]
2009-06-09
20:47
[69cd258f82] part of check-in [9863810eba] Rename -[append:] to -[appendString:]. (check-in: [9863810eba] user: js, branch: trunk, size: 7417) [annotate] [blame] [check-ins using] [diff]
2009-06-03
03:54
[3cf489fd9b] part of check-in [2496d46c35] Add methods to remove leading or trailing whitespaces or both. (check-in: [2496d46c35] user: js, branch: trunk, size: 7411) [annotate] [blame] [check-ins using] [diff]
2009-06-01
20:36
[6f55d4cb4b] 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: 6020) [annotate] [blame] [check-ins using] [diff]
2009-05-29
19:21
[fb06bc791e] 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: 6049) [annotate] [blame] [check-ins using] [diff]

2009-05-24
18:04
[7aa9b82d5b] part of check-in [94ea6848a8] Always use #include "config.h" instead of #import "config.h". (check-in: [94ea6848a8] user: js, branch: trunk, size: 6025) [annotate] [blame] [check-ins using] [diff]
00:26
[0d6ff799d4] part of check-in [000b2dffdf] Better check for madvise(). (check-in: [000b2dffdf] user: js, branch: trunk, size: 6024) [annotate] [blame] [check-ins using] [diff]
2009-05-23
22:07
[d29d560858] part of check-in [88163bd172] Add a new convenience method to OFString. (check-in: [88163bd172] user: js, branch: trunk, size: 6027) [annotate] [blame] [check-ins using] [diff]
21:02
[da1cf273ef] part of check-in [bc71bde0dd] Add replaceOccurrencesOfString:withString: to OFString. (check-in: [bc71bde0dd] user: js, branch: trunk, size: 6030) [annotate] [blame] [check-ins using] [diff]
2009-05-18
18:52
[fa80b4b8f3] part of check-in [7fa61023b9] - copy and - mutableCopy should never autorelease. (check-in: [7fa61023b9] user: js, branch: trunk, size: 4911) [annotate] [blame] [check-ins using] [diff]
18:45
[91e1854508] part of check-in [6ba395bacb] Only let - copy create an actual copy if necessary. (check-in: [6ba395bacb] user: js, branch: trunk, size: 4905) [annotate] [blame] [check-ins using] [diff]
18:09
[61830ce984] part of check-in [e7e8efd297] More separation for OFString and OFMutableString. (check-in: [e7e8efd297] user: js, branch: trunk, size: 4843) [annotate] [blame] [check-ins using] [diff]
2009-05-15
22:59
[9dc4884694] 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: 7821) [annotate] [blame] [check-ins using] [diff]
20:01
[a4955aa6db] part of check-in [67066be692] Use OFString as much as possible. (check-in: [67066be692] user: js, branch: trunk, size: 7879) [annotate] [blame] [check-ins using] [diff]
2009-05-13
20:31
[f3d57089d4] part of check-in [9e6dd00ef5] Rename - free to - (void)dealloc. (check-in: [9e6dd00ef5] user: js, branch: trunk, size: 7895) [annotate] [blame] [check-ins using] [diff]
2009-05-04
14:19
Added: [d47bbbd95a] part of check-in [372211deb7] Make OFString a common class for all strings. (check-in: [372211deb7] user: js, branch: trunk, size: 7863) [annotate] [blame] [check-ins using]