ObjFW  All files named ”src/OFString.m”

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Ancestors of file src/OFString.m from check-in 1bf4f2e210

2017-03-12
23:40
Fix compilation with --disable-files file: [99b26a69a8] check-in: [1bf4f2e210] user: js branch: trunk, size: 64466
2017-02-05
22:47
Add ISO-8859-3 file: [d951599798] check-in: [52e6e8aa89] user: js branch: trunk, size: 64500
21:22
Add KOI8-U encoding file: [318583ea01] check-in: [2c489201b7] user: js branch: trunk, size: 63877
01:31
Add KOI8-R encoding file: [5396444804] check-in: [59348cd51d] user: js branch: trunk, size: 63326
2017-01-19
23:08
Add support for disabling encodings This allows building a smaller ObjFW if those are not needed. file: [25043e1af3] check-in: [766eedef4c] user: js branch: trunk, size: 62775
2017-01-18
03:45
Move parsing of encoding names to a single place file: [b05a76cd1f] check-in: [4c8d02cc0d] user: js branch: trunk, size: 62525
2017-01-17
03:23
Add ISO-8859-2 file: [0c0cd023b8] check-in: [7a27ce7b0b] user: js branch: trunk, size: 60606
2017-01-15
04:32
Add codepage 858 This only differs from codepage 850 by a single code point. file: [3404c5b7b6] check-in: [adbf31f2f9] user: js branch: trunk, size: 60140
2017-01-11
04:33
Reduce code duplication file: [3935514fea] check-in: [44ea4f9322] user: js branch: trunk, size: 59664
04:22
Add Windows-1251 encoding file: [c458b1a41f] check-in: [0f88ccfb04] user: js branch: trunk, size: 61032
2017-01-10
23:23
Add Mac OS Roman encoding file: [a66e682c7d] check-in: [0832fcf579] user: js branch: trunk, size: 60405
21:38
Add codepage 850 file: [f0fd5cc4db] check-in: [878c25c9d7] user: js branch: trunk, size: 59782
2017-01-09
17:36
Update copyright Forgot to add 2017, even though I already did quite some changes in 2017. file: [0f58e25244] check-in: [44f45c2e35] user: js branch: trunk, size: 59318
06:26
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. file: [451da8b217] check-in: [06bcb21fc7] user: js branch: trunk, size: 59312
2017-01-07
03:26
Use strtof_l, strtod_l and asprintf_l if available This avoids the hacks introduced in the previous commit, if those functions are available. file: [011cdaca0e] check-in: [0ad678f125] user: js branch: trunk, size: 59306
02:34
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. file: [2a34be912f] check-in: [6dff0f5922] user: js branch: trunk, size: 58336
00:37
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. file: [4bcce6446e] check-in: [d9eb7b50b3] user: js branch: trunk, size: 58031
2016-09-12
00:27
Add OF_DEALLOC_UNSUPPORTED macro file: [d7680287a6] check-in: [13f4c6c678] user: js branch: trunk, size: 58050
2016-08-29
00:05
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). file: [719f50f06e] check-in: [b7b33247d6] user: js branch: trunk, size: 58106
2016-07-24
00:06
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. file: [4050f6aba6] check-in: [951f530aee] user: js branch: trunk, size: 57989
2016-07-03
19:38
-[pathComponents]: Include drive in 1st component file: [e8667bc529] check-in: [541aab7a03] user: js branch: trunk, size: 57983
2016-05-28
11:37
Add a reference to OFStdIOStream_Win32Console This is required for static linking, as otherwise +[OFStdIOStream_Win32Console load] will not be called. file: [63687acf9a] check-in: [e53a4fd61c] user: js branch: trunk, size: 57684
2016-05-22
17:38
Add -[OFString octalValue] file: [0f58946fa2] check-in: [6ea8c2f107] user: js branch: trunk, size: 57684
12:08
Fix --disable-files with --enable-sockets file: [b978deee43] check-in: [36c2ceaeb0] user: js branch: trunk, size: 56439
2016-05-06
20:39
Enable -Wsign-compare file: [6aa1a96c52] check-in: [2a2e17d8d0] user: js branch: trunk, size: 56405
2016-03-13
13:16
of_string_utf8_decode(): Check all surrogate bytes file: [51291209ea] check-in: [a83b261f72] user: js branch: trunk, size: 56346
11:19
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. file: [b713fffc4b] check-in: [5e2ef97c35] user: js branch: trunk, size: 56129
2016-02-21
15:37
Make use of C99-style for loops file: [e3e6e72034] check-in: [e0b9167693] user: js branch: trunk, size: 56060
2016-01-03
00:41
Update copyright While at it, also update the mail address. file: [63a41717d2] check-in: [2a27cf3000] user: js branch: trunk, size: 56018
2015-11-29
14:23
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. file: [f76a1b5752] check-in: [2aca549d60] user: js branch: trunk, size: 56014
14:02
Make use of fast enumeration Now that we require GCC >= 4.6 anyway, there's no more reason to not use it anymore. file: [01f9bb127a] check-in: [6b13727ce0] user: js branch: trunk, size: 56033
2015-10-19
22:15
Add platform.h & make platform defines consistent file: [0176c8e382] check-in: [1ba08eebc5] user: js branch: trunk, size: 56232
2015-10-04
13:10
OFString: int i -> size_t i file: [2be273de51] check-in: [57f386c9a7] user: js branch: trunk, size: 56227
2015-05-14
09:10
initWithContentsOfURL: Require files or sockets file: [c1b245bad8] check-in: [dbe286c39f] user: js branch: trunk, size: 56237
2015-05-03
11:34
Check <= SSIZE_MAX before assignign to ssize_t file: [ef29c8b8a2] check-in: [daf78156a7] user: js branch: trunk, size: 56045
2015-04-11
11:01
OFOpenFileFailedException: Rename File -> Item file: [3315fcda12] check-in: [ff17b98ab2] user: js branch: trunk, size: 55971
2015-02-16
08:39
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. file: [52d4d85f15] check-in: [62e2de30b9] user: js branch: trunk, size: 55971
2015-01-29
20:58
-[OFString lastPathComponent]: Return @"" for / file: [e0dd905710] check-in: [775d6b52a5] user: js branch: trunk, size: 56022
2015-01-03
20:57
Update copyright file: [b444f3a688] check-in: [cfd374b906] user: js branch: trunk, size: 55950
2014-10-04
21:59
Add +[OFSystemInfo native8BitEncoding] This replaces +[OFString nativeOSEncoding]. file: [f631bc6b9b] check-in: [ec66e49dca] user: js branch: trunk, size: 55944
2014-07-07
22:28
OFURL: Allow all RFC 1808 compatible schemes file: [1c567dbe1d] check-in: [65afbedbd4] user: js branch: trunk, size: 56084
2014-06-21
21:43
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. file: [c9e153f6dd] check-in: [13ee56edf3] user: js branch: trunk, size: 56115
2014-05-15
15:32
Fix a few instances of signed vs. unsigned file: [78d8e753df] check-in: [7f0359ce68] user: js branch: trunk, size: 56158
04:07
Don't return void expressions file: [ab26efe707] check-in: [3c7bf2e50c] user: js branch: trunk, size: 56115
2014-04-27
19:34
Initial Nintendo DS port file: [f4d00fc2db] check-in: [cd0a632472] user: js branch: trunk, size: 56122
2014-04-14
09:37
Fix unused variable warning with --disable-files file: [9584b4567b] check-in: [cac74a9513] user: js branch: trunk, size: 56054
00:45
Coding style No functional change intended. file: [3cae95280a] check-in: [9da9b2b64c] user: js branch: trunk, size: 56030
2014-02-10
18:56
OFString: Add a cast which is needed on NetBSD file: [5c8d912349] check-in: [66c20e115f] user: js branch: trunk, size: 55982
2014-02-08
18:04
Add JSON5 output option file: [ab5f534f76] check-in: [e07fa89b44] user: js branch: trunk, size: 55977
09:26
Add -[JSONRepresentationWithOptions:] This also adds OF_JSON_REPRESENTATION_PRETTY. file: [006b401a4b] check-in: [eaa612ad50] user: js branch: trunk, size: 55435
2014-01-19
14:17
Add Unicode -> Codepage 437 conversion. file: [f9a79a3ca8] check-in: [e66defc073] user: js branch: trunk, size: 55055
14:10
Clean up Unicode -> * conversions. file: [04e1844f94] check-in: [7c26551b67] user: js branch: trunk, size: 54604
2014-01-17
16:41
Move Unicode -> * conversions to separate files. file: [17a63459d4] check-in: [a1bcdc2ff6] user: js branch: trunk, size: 54663
03:12
Add -[OFString lossyCStringWithEncoding:]. file: [48162efaaf] check-in: [1b0a5cf829] user: js branch: trunk, size: 57113
2014-01-16
23:38
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). file: [548eca2146] check-in: [e54c8c0368] user: js branch: trunk, size: 55470
2014-01-09
00:01
Add --disable-files configure flag. file: [699fa5f856] check-in: [f89edd8ed9] user: js branch: trunk, size: 55375
2014-01-04
00:24
Update copyright. file: [8041d2c2b7] check-in: [3b97fc3cd9] user: js branch: trunk, size: 55135
2013-12-01
11:50
Clean up the path delimiter mess. file: [0e48ad1696] check-in: [00dbb47969] user: js branch: trunk, size: 55129
02:08
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). file: [95256ec388] check-in: [a0b63a8df4] user: js branch: trunk, size: 55950
2013-11-23
01:27
Add OF_UNRECOGNIZED_SELECTOR. file: [cca222946b] check-in: [6e19bd47ee] user: js branch: trunk, size: 55747
01:12
Add OF_INVALID_INIT_METHOD. file: [5368d29b65] check-in: [35dafd5c57] user: js branch: trunk, size: 55819
2013-10-30
00:09
OFStringTests: Fix a path test on Win32. file: [c9aea4c452] check-in: [7561b9244e] user: js branch: trunk, size: 56347
2013-09-15
18:51
OFAutoreleasePool: Free pool cache on thread exit. file: [afe2a7a5d7] check-in: [29e4d00225] user: js branch: trunk, size: 56351
2013-08-25
21:16
Add -[OFString pathExtension]. file: [08f92f7b9f] check-in: [37dc5d933f] user: js branch: trunk, size: 56351
20:59
Add -[OFString stringByDeletingPathExtension]. file: [9aca46e7ea] check-in: [0222de872b] user: js branch: trunk, size: 55887
2013-08-15
19:00
Move private methods into private headers. file: [742f45a0e9] check-in: [1d7a1cbca0] user: js branch: trunk, size: 55053
2013-08-14
19:17
+[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. file: [6989417794] check-in: [7c4179ab9b] user: js branch: trunk, size: 55019
2013-07-29
19:43
Rename OFHTTPRequestReply to OFHTTPResponse. file: [db848cd405] check-in: [36d0b1e2d8] user: js branch: trunk, size: 55445
2013-06-22
12:12
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. file: [dc3e1b10e9] check-in: [3d16a30f41] user: js branch: trunk, size: 55435
2013-06-19
19:14
Implement the new MessagePack specification. No support for extensions yet. This obsoletes BinaryPack. file: [b10086fe78] check-in: [cba771824e] user: js branch: trunk, size: 56601
2013-06-17
09:36
OFString: Fix standardize_path(). It still needs some more special casing for Windows. file: [efdad56a90] check-in: [379d75e1bc] user: js branch: trunk, size: 56600
2013-04-26
19:42
Make it possible to disable sockets. file: [250db502f2] check-in: [590c377d8a] user: js branch: trunk, size: 56139
2013-03-04
17:20
Replace BOOL with bool. The only places where BOOL is left are those where they are required by the ABI. file: [76e87b40ed] check-in: [c5ef582958] user: js branch: trunk, size: 55902
2013-02-24
10:41
Update to BinaryPack1pre2. file: [2d59404d46] check-in: [c4df7d61b6] user: js branch: trunk, size: 55844
2013-02-23
10:03
Update to BinaryPack1pre1. file: [d8fe56c8e7] check-in: [19f5a60438] user: js branch: trunk, size: 55844
2013-02-21
19:35
Add support for generating BinaryPack. file: [e8f0aa0e9e] check-in: [23c798d4f1] user: js branch: trunk, size: 55624
2013-02-05
22:24
Move abort() to make old GCCs happy. file: [6fe7a945dd] check-in: [737a82e1a4] user: js branch: trunk, size: 54660
2013-01-26
00:13
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. file: [537b9ea7bb] check-in: [bdf9c4d96b] user: js branch: trunk, size: 54660
2013-01-23
21:52
Never compare to @"", use length instead. file: [7077269c5c] check-in: [ea4a43461c] user: js branch: trunk, size: 54291
2013-01-16
14:27
OFString: Add -[getCString:maxLength:encoding:]. file: [0f2f5910d1] check-in: [7694d37135] user: js branch: trunk, size: 54297
2013-01-15
02:33
-[OFString cStringWithEncoding:]: Add Windows-1252 file: [857f08a203] check-in: [7a14ffd2cb] user: js branch: trunk, size: 53346
00:01
-[OFString cStringWithEncoding:]: Add ISO 8859-15. file: [a4348af620] check-in: [14a638f75e] user: js branch: trunk, size: 51335
2013-01-14
23:57
OFString: Add -[writeToFile:encoding:]. file: [a4fa320751] check-in: [18ad960654] user: js branch: trunk, size: 50288
2013-01-13
13:07
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}. file: [3b195e39ec] check-in: [545b6f740e] user: js branch: trunk, size: 50107
2013-01-12
17:29
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. file: [cb1b20524f] check-in: [9ddd33a258] user: js branch: trunk, size: 50018
2013-01-11
12:41
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. file: [5a8a220443] check-in: [50916b8dbe] user: js branch: trunk, size: 50023
2013-01-09
22:24
Update copyright. file: [4f19bc623c] check-in: [813c00ccf0] user: js branch: trunk, size: 49457
2013-01-08
12:33
OFString: Add methods for UTF-32. file: [2ad39db524] check-in: [7cddd5f891] user: js branch: trunk, size: 49451
2013-01-07
22:07
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. file: [6044846057] check-in: [9d3cd5e5fe] user: js branch: trunk, size: 47681
13:35
Improve API for UTF-16 strings. file: [9b71ee7ecc] check-in: [02ca89285f] user: js branch: trunk, size: 46480
2012-12-30
00:22
Fix -[initWithUTF8StringNoCopy:freeWhenDone:]. file: [e59e2f0949] check-in: [c16e6aca56] user: js branch: trunk, size: 45855
2012-12-29
17:56
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. file: [2366afaf49] check-in: [640b225ba7] user: js branch: trunk, size: 45873
14:43
Prettify some code. file: [03c484c2ac] check-in: [374956b098] user: js branch: trunk, size: 48102
2012-12-26
20:55
OFHTTPRequestResult -> OFHTTPRequestReply. The class also has its own file now. file: [f223cdd779] check-in: [75f187cef5] user: js branch: trunk, size: 46591
19:55
Add -[OFString stringByStandardizing(URL)Path]. file: [8288fa97d2] check-in: [b98fd10000] user: js branch: trunk, size: 46568
2012-12-22
15:37
Add -[doesNotRecognizeSelector:]. file: [5f30990c6d] check-in: [917ce5754c] user: js branch: trunk, size: 45395
2012-12-16
15:04
Fix a missing exception argument. file: [9b74d0387e] check-in: [f835847243] user: js branch: trunk, size: 45623
14:57
Add -[stringByAppendingFormat:arguments:]. file: [221b9ffe16] check-in: [aecadefe62] user: js branch: trunk, size: 45599
01:15
Add encodings for -[cStringUsingEncoding:]. This adds ISO 8859-1 and ASCII, ISO 8859-15 and Windows-1252 will follow. file: [29ef9c669e] check-in: [556234e290] user: js branch: trunk, size: 45390
2012-12-15
23:31
OFString: Improved API for getting C strings. file: [10b3048cbe] check-in: [e2f4c1283c] user: js branch: trunk, size: 44720
17:52
OFDataArray: Improve API. file: [712053e8f6] check-in: [c85ff8d35a] user: js branch: trunk, size: 44556
2012-12-09
12:31
Fix +[OFString stringWithUTF8StringNoCopy:…]. file: [90ef2353c5] check-in: [b55b4ab87b] user: js branch: trunk, size: 44557
12:13
Split OFHTTPRequest into OFHTTP{Client,Request}. file: [376b86841b] check-in: [2b7a70e246] user: js branch: trunk, size: 44332
2012-11-11
12:12
Add -[OFString stringByAppendingFormat:]. file: [f8021112b9] check-in: [da23dca008] user: js branch: trunk, size: 44236
2012-10-29
07:59
Documentation improvements. file: [38b0945b74] check-in: [63bf4de97b] user: js branch: trunk, size: 43929
2012-10-21
22:12
Make GCC 4.4 happy. file: [5ea7b40c2a] check-in: [fcade8da38] user: js branch: trunk, size: 43929
2012-10-16
14:47
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. file: [5e5459873a] check-in: [fcaa549324] user: js branch: trunk, size: 43946
2012-10-14
10:36
More integer overflow checks. file: [3bdf38b289] check-in: [53af033b0e] user: js branch: trunk, size: 43908
00:59
OF_INVALID_INDEX -> OF_NOT_FOUND. file: [10f45f3070] check-in: [f38744df74] user: js branch: trunk, size: 43859
00:54
range.start -> range.location. file: [651cb0fc54] check-in: [c9433ea60d] user: js branch: trunk, size: 43867
2012-10-13
22:21
Add -[OFString rangeOfString:options:range:]. file: [9f1383c46f] check-in: [20dddc7345] user: js branch: trunk, size: 43852
21:06
of_bswap* -> OF_BSWAP*. This makes it clear that multiple evaluation of parameters is possible. file: [3d2b1f904a] check-in: [1cb8fee5c3] user: js branch: trunk, size: 43092
20:50
Move UTF-8 functions to OFString_UTF8.m. file: [2ae4fee8c1] check-in: [9cfefe9c30] user: js branch: trunk, size: 43092
20:02
indexOfFirstOccurrenceOfString -> rangeOfString. file: [6a39e4a81c] check-in: [5209390938] user: js branch: trunk, size: 46567
19:30
of_endianess_t -> of_byte_order_t. file: [ba03f0d3c5] check-in: [255fd75828] user: js branch: trunk, size: 46754
2012-10-09
15:07
Make use of instancetype. file: [9dca518311] check-in: [fb515e8e24] user: js branch: trunk, size: 46738
2012-10-02
11:05
OFHTTPRequestFailedException: Naming consistency file: [813606e445] check-in: [991ced5333] user: js branch: trunk, size: 46416
2012-09-16
15:27
Prefix all private methods with OF_. file: [113cc54e20] check-in: [c137da5e5b] user: js branch: trunk, size: 46416
2012-09-09
14:36
OFNumber: Implement OFComparing. file: [72e4d9a7ba] check-in: [56df9c44de] user: js branch: trunk, size: 46420
2012-09-06
19:13
Add -[OFString initWithUTF8String:freeWhenDone:]. file: [0e4634027e] check-in: [3659c87c63] user: js branch: trunk, size: 46395
2012-08-10
20:08
Directly use the runtime's autorelease pools. This greatly improves performance, as it gets rid of the overhead of OFAutoreleasePool. file: [bc6ced3df8] check-in: [1255f3a11a] user: js branch: trunk, size: 46045
2012-07-17
01:11
MinGW fixes, mainly workaround for broken strtod. file: [ff0024cc41] check-in: [91dc019442] user: js branch: trunk, size: 45943
2012-07-16
22:44
Don't require extra parentheses for OF_(UN)LIKELY. file: [7b53d00689] check-in: [ff8b2a6c29] user: js branch: trunk, size: 45796
2012-07-12
01:28
Don't access isa directly. file: [2da268688d] check-in: [8892ae9fcc] user: js branch: trunk, size: 45810
2012-07-06
15:00
Add -[OFString capitalizedString]. file: [b81efdf820] check-in: [9a2430abfc] user: js branch: trunk, size: 45458
2012-07-04
22:50
Rename -[{upper,lower}] to -[{upper,lower}case]. file: [7e10de457a] check-in: [8e995a13e7] user: js branch: trunk, size: 45307
20:31
Fix a bug in -[initWithContentsOfURL:encoding:]. file: [a7f2176e75] check-in: [ba0a921534] user: js branch: trunk, size: 45299
2012-07-03
15:50
Merge branch 'runtime' * runtime: (76 commits) runtime: Add exception handling. ... file: [e165bf4e50] check-in: [4c4fdb3429] user: js branch: trunk, size: 45339
2012-06-10
13:28
More API improvements. file: [a987125a46] check-in: [11d3d69a22] user: js branch: trunk, size: 45265
2012-06-07
12:03
Rework OFStream API. file: [3028812e1c] check-in: [0d4059306a] user: js branch: trunk, size: 45283
2012-06-06
13:47
Slightly change the memory management API. Also fix a bug where OFBigDataArray would waste memory. file: [788fd6f59d] check-in: [f7576a66ce] user: js branch: trunk, size: 45289
2012-05-22
12:59
Add -[OFString stringByAppendingPathComponent:]. file: [40151bee8f] check-in: [868e1611f4] user: js branch: trunk, size: 45279
2012-03-17
15:48
One malloc less for creating an immutable UTF-8 string. file: [bcea8a4ed5] check-in: [0dafdc4730] user: js branch: trunk, size: 45151
2012-02-28
14:29
Don't use alloca, as it could be unsafe. file: [f2bf50723c] check-in: [439216041b] user: js branch: trunk, size: 44245
2012-02-27
12:25
Add -[OFString componentsSeparatedByString:skipEmpty:]. file: [eb65ec8863] check-in: [c007c0d4f7] user: js branch: trunk, size: 44096
2012-01-31
18:59
Add -[OFMutableString replaceOccurrencesOfString:withString:inRange:]. file: [793d434ba8] check-in: [e5fe02de61] user: js branch: trunk, size: 43758
2012-01-24
11:57
Compare pointers of strings before comparing the string content. file: [3219cfa2ad] check-in: [af56ce47e0] user: js branch: trunk, size: 43414
2012-01-05
00:56
Update copyright. file: [e0f353ec6a] check-in: [ce70e17b38] user: js branch: trunk, size: 43277
2012-01-01
19:41
Some MinGW versions are missing alloca() in <stdlib.h>. file: [293d78932d] check-in: [d871468a3a] user: js branch: trunk, size: 43271
2011-12-26
16:57
Implement -[UTF8String] and -[UTF8StringLength] in OFString. file: [3c525cf553] check-in: [ea76dec036] user: js branch: trunk, size: 43228
2011-12-10
21:46
Add JSON parsing. file: [eb1dd81502] check-in: [8ba0a62c0d] user: js branch: trunk, size: 41755
13:17
Add JSON encoding. file: [ff90d8d582] check-in: [243a96fc2d] user: js branch: trunk, size: 41719
2011-11-21
16:47
There is no need to hash 32 bit per character if Unicode has only 24. file: [598d9c6c56] check-in: [d8a6ca3fbd] user: js branch: trunk, size: 40976
2011-11-20
18:41
Make OFString a class cluster. It is a class cluster now, but there is still much to improve. file: [c57b8a6b12] check-in: [301ee63212] user: js branch: trunk, size: 41020
2011-10-31
22:02
Add -[UTF16String] to OFString. file: [e38e775f82] check-in: [a51b3cb390] user: js branch: trunk, size: 44178
22:01
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. file: [1d69719094] check-in: [f412995e6a] user: js branch: trunk, size: 43212
21:20
Don't prepend a BOM when using -[unicodeString]. file: [37713bd91c] check-in: [dcf50eb53a] user: js branch: trunk, size: 43204
2011-10-29
01:36
Make return type of -[unicodeString] const. file: [7ae1259373] check-in: [4d6f7fc529] user: js branch: trunk, size: 43225
00:00
Make the parameter for +[stringWith{Unicode,UTF16}String:] const. file: [ac74e2bb50] check-in: [49cf155269] user: js branch: trunk, size: 43219
2011-10-11
21:55
Don't use madvise(). It turns out the overhead of calling madvise() is bigger than the gain of using it. file: [f8793e2293] check-in: [6cbbd7c39c] user: js branch: trunk, size: 43123
2011-09-28
14:38
Various small bugfixes. file: [83cfd0201b] check-in: [9e82f99f09] user: js branch: trunk, size: 43701
2011-09-22
23:25
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. file: [93030ae4fe] check-in: [e1e7ffa903] user: js branch: trunk, size: 43700
2011-09-19
16:34
Rename -[allocMemoryForNItems:withSize:] and friends. It is now -[allocMemoryForNItems:ofSize:]. file: [5fcda1615b] check-in: [f173477bef] user: js branch: trunk, size: 43440
12:34
BOOL naming conventions. file: [1e80f1fdb6] check-in: [d43eb177bc] user: js branch: trunk, size: 43440
2011-09-15
19:26
Add -[enumerateLinesUsingBlock:] to OFString. file: [ba997373bf] check-in: [6dd03a129e] user: js branch: trunk, size: 43488
2011-09-12
19:57
Rename -[cString] to -[UTF8String]. file: [f1011efbdf] check-in: [e6fd39d11e] user: js branch: trunk, size: 42682
18:57
Add -[cStringWithEncoding:] and -[cStringLengthWithEncoding:]. file: [21b462a461] check-in: [90369e9323] user: js branch: trunk, size: 42469
18:26
Add OF_STRING_ENCODING_ASCII. file: [a0631a1efb] check-in: [7920f081ec] user: js branch: trunk, size: 41676
2011-09-10
20:24
Treat \f as whitespace. file: [eb163b9c24] check-in: [7eff7e3918] user: js branch: trunk, size: 41514
17:46
Add -[stringByReplacingOccurrencesOfString:withString:]. file: [a9a4d55e1d] check-in: [a8b61d68ae] user: js branch: trunk, size: 41266
2011-09-09
13:35
[pool release] can never throw by convention now. file: [45f23dd776] check-in: [798d9e6320] user: js branch: trunk, size: 40975
2011-08-07
16:57
Add -[makeImmutable] to all mutable classes and use it. file: [6c62052489] check-in: [927dbf6e7d] user: js branch: trunk, size: 41002
2011-08-04
16:48
Get rid of -[*FromIndex:toIndex:]. file: [e16259c02d] check-in: [f977192a23] user: js branch: trunk, size: 42540
2011-08-03
00:30
Make OFArray an abstract class. file: [9e62f802e4] check-in: [a855618045] user: js branch: trunk, size: 42736
2011-07-09
14:45
Cache the length of a string. Also removes -[appendCStringWithoutUTF8Checking:] as it is dangerous and not compatible with this optimization. file: [fee37530e3] check-in: [36e8a94f34] user: js branch: trunk, size: 43190
12:04
Optimize +[stringWithPath:]. file: [d68d151905] check-in: [1c65e229e8] user: js branch: trunk, size: 42707
00:00
Check for more invalid UTF-8 byte sequences. file: [ee8d4c3fc0] check-in: [51dff30395] user: js branch: trunk, size: 42697
2011-07-08
21:08
Optimize +[stringWithString:] and -[appendString:]. file: [518f441548] check-in: [e250800382] user: js branch: trunk, size: 42518
20:13
Rename -[deleteLeadingAndTrailingWhitespaces]. file: [39b88703df] check-in: [7c66260ead] user: js branch: trunk, size: 42846
20:07
Rename OF_PATH_DELIM to OF_PATH_DELIMITER. file: [92607cf374] check-in: [7d9efc3924] user: js branch: trunk, size: 42864
19:58
Fix wrong calculated cStringLength in +[stringWithUTF16String:]. file: [c391b87c87] check-in: [2fca00b926] user: js branch: trunk, size: 42832
19:15
Rename ivars in OFString struct to prevent prospective name conflicts. file: [77cf5c9b5c] check-in: [3ffa55524a] user: js branch: trunk, size: 42742
15:29
Make it possible to add more ivars to OFConstantString. file: [9224bd11b0] check-in: [0b846bcc4a] user: js branch: trunk, size: 41136
2011-07-07
23:19
Fix missing character check in +[stringWithUTF16String:]. file: [8f7c85175f] check-in: [f6c05b68cf] user: js branch: trunk, size: 40366
2011-07-06
22:55
Only allow an OFConstantString as format. file: [de837b0b69] check-in: [7558e235fe] user: js branch: trunk, size: 40365
2011-06-28
01:51
Change serialization format to be way more readable and shorter. file: [88ca1bcd74] check-in: [756bb26c98] user: js branch: trunk, size: 40341
2011-06-06
16:18
Remove semicolons that should not have been there. file: [e237ea2567] check-in: [65ec63f7c1] user: js branch: trunk, size: 40441
15:53
Add missing imports to make gcc from trunk happy. file: [52dddcfe5c] check-in: [df329a38cd] user: js branch: trunk, size: 40443
2011-06-05
22:26
Nicer API for serialization. file: [e6606bec8f] check-in: [29988c434b] user: js branch: trunk, size: 40419
20:45
Add -[stringByPrependingString:] to OFString. file: [56cd9db202] check-in: [5b7d19e956] user: js branch: trunk, size: 40379
19:27
Add OFNull class. file: [36cad4391c] check-in: [183825f113] user: js branch: trunk, size: 39954
2011-06-04
13:34
Remove useless casts. file: [24bf0bd650] check-in: [675eda4ad3] user: js branch: trunk, size: 39953
2011-06-03
15:14
Add deserialization. file: [6df5a31603] check-in: [dca3061dfc] user: js branch: trunk, size: 39976
2011-05-15
17:00
Make it possible to specify the byte order for Unicode / UTF-16. file: [581a424007] check-in: [3dad5e5803] user: js branch: trunk, size: 39427
2011-05-14
23:52
Add -[stringWithUTF16String:] to OFString. file: [3c842a2c2f] check-in: [ec666ede07] user: js branch: trunk, size: 37431
23:25
Correctly check the length in of_string_check_utf8. file: [c99ccfd8e4] check-in: [55368ab28a] user: js branch: trunk, size: 34983
22:38
Fix of_unicode_string_length() and actually use it. file: [eb8762e376] check-in: [44bb6eeef3] user: js branch: trunk, size: 34634
12:26
Use XML for serialization. This way, we don't need a new parser and don't use a new format. file: [47a649e523] check-in: [494dca4ae4] user: js branch: trunk, size: 34751
2011-05-08
22:36
Change serialization format. file: [bb52ca9d4f] check-in: [17d18368bb] user: js branch: trunk, size: 35207
20:35
Nicer formatting for serialization. file: [4009def51f] check-in: [bd879fd455] user: js branch: trunk, size: 35207
19:55
Add support for serialization. No deserialization yet. file: [b90f5bed16] check-in: [b27b3aa3e3] user: js branch: trunk, size: 34951
2011-05-02
20:46
Add +[OFString stringWithUnicodeString:length:]. file: [ed76246fb2] check-in: [04ffb67949] user: js branch: trunk, size: 34214
13:01
Don't free ret in -[unicodeString] as it is autoreleased now. file: [b56b81b94d] check-in: [3a1cd610ed] user: js branch: trunk, size: 33854
2011-05-01
23:58
Autorelease the return value of -[unicodeString] and include a BOM. file: [fb7ee6732e] check-in: [7b7250a0ba] user: js branch: trunk, size: 33874
23:42
Fix a possible out-of-bounds read in -[OFString unicodeString]. file: [f44982b7c8] check-in: [9d25dacab1] user: js branch: trunk, size: 33840
12:43
Correctly set isUTF8 in -[OFString initWithUnicodeString:]. file: [04afab8da6] check-in: [8e8bb78eb5] user: js branch: trunk, size: 33840
00:35
Add +[OFString stringWithUnicodeString:]. file: [b307aaa0bd] check-in: [e2bbfb45d0] user: js branch: trunk, size: 33783
2011-04-30
23:33
Style improvements. file: [e280f8208a] check-in: [d968d32614] user: js branch: trunk, size: 32146
15:26
Include the complete result in an OFHTTPRequestFailedException. file: [02548d1e5f] check-in: [5854471001] user: js branch: trunk, size: 31769
2011-04-27
16:14
Small string optimization. file: [e3d5101e79] check-in: [50a6d34eff] user: js branch: trunk, size: 31789
2011-04-25
22:54
Actually, it's called charset in the header, not encoding. file: [ac1b639bcb] check-in: [7d29241068] user: js branch: trunk, size: 31750
22:50
Don't fall back to ISO-8859-1 in +[OFString stringWithContentsOfURL:]. This way, we can be sure to never have garbage. file: [1d7ba884bb] check-in: [c74d7dec0e] user: js branch: trunk, size: 31754
22:31
Try to autodetect the encoding in +[OFString stringWithContentsOfURL:]. file: [e4ea0d48b5] check-in: [1dadc4b4a6] user: js branch: trunk, size: 32111
14:14
Fix a warning when sizeof(size_t) < sizeof(long long). file: [ec60fe00a5] check-in: [e14961f94d] user: js branch: trunk, size: 30911
00:18
Add +[OFDataArray dataArrayWithContentsOfURL:]. file: [18e15c80ab] check-in: [9c4d3e34cd] user: js branch: trunk, size: 30805
2011-04-23
14:46
Add -[uppercaseString] and -[lowercaseString] to OFString. file: [878e982a3d] check-in: [becb4c9b86] user: js branch: trunk, size: 30818
13:23
More style improvements. file: [7863930129] check-in: [6f4bf74c7d] user: js branch: trunk, size: 30058
2011-04-12
14:51
Use void in declarations when we take no parameters. file: [ead9a0ea73] check-in: [c02e48e140] user: js branch: trunk, size: 29264
2011-04-11
00:37
A few readability improvements. file: [88aed01d2e] check-in: [e52ccc8d45] user: js branch: trunk, size: 29260
2011-04-04
23:32
Remove now useless defines of _GNU_SOURCE. file: [a034b6e9c4] check-in: [93fee7265f] user: js branch: trunk, size: 29289
2011-04-03
10:58
Use a more fitting exception in -[initWithContentsOfFile:]. file: [feba50e66c] check-in: [72f2eb445d] user: js branch: trunk, size: 29309
2011-03-30
00:36
OFHTTPRequest: Disallow redirects from HTTPS to HTTP by default. Still works when setting redirectsFromHTTPSToHTTPAllowed. file: [f081783cbe] check-in: [46881c3773] user: js branch: trunk, size: 29241
00:03
A few win32 fixes. file: [0f0b8d53a9] check-in: [13a4dee1da] user: js branch: trunk, size: 29249
2011-03-29
19:03
Add -[floatValue] and -[doubleValue]. file: [bb07f5cc36] check-in: [9c59bc9aee] user: js branch: trunk, size: 29249
18:20
Ignore leading and trailing whitespaces in -[(hexa)decimalValue]. file: [2defafe592] check-in: [e0a8e01190] user: js branch: trunk, size: 28190
2011-03-24
19:42
Get rid of OFExceptions.h. file: [52284dc401] check-in: [cda44767f4] user: js branch: trunk, size: 27345
2011-03-23
13:05
Use OF_INVALID_INDEX instead of SIZE_MAX. file: [15058207f8] check-in: [a252dc5c69] user: js branch: trunk, size: 27100
00:19
Add new methods to OFString. file: [4c6f19272b] check-in: [b682102c3d] user: js branch: trunk, size: 27060
2011-03-22
13:10
Move path methods from OFFile to OFString. file: [e113731f30] check-in: [67e7d1e222] user: js branch: trunk, size: 25782
2011-02-27
00:35
Rename -[result] to -[perform] in OFHTTPRequest. file: [117e48e1f5] check-in: [53213f1d41] user: js branch: trunk, size: 23349
2011-02-26
19:40
Use class swizzling as an optimization. file: [88740728b0] check-in: [06f539766f] user: js branch: trunk, size: 23348
2011-02-17
18:29
Add -[stringWithContentsOfURL:encoding:]. file: [b4df8282b2] check-in: [d932adccc3] user: js branch: trunk, size: 22859
2011-02-09
18:27
Add two missing includes. file: [365a738f41] check-in: [90893f3cbe] user: js branch: trunk, size: 21598
09:37
Add -[containsString:] to OFString. file: [da97386e32] check-in: [a6c5af136b] user: js branch: trunk, size: 21578
2011-02-07
21:05
of_vasprintf: Preserve exceptions that happen in -[description]. file: [877ceb4ed7] check-in: [151463e32a] user: js branch: trunk, size: 21264
2011-02-05
14:44
Make sure that calling -[OFString init] creates a valid empty string. file: [5a7d886f0b] check-in: [f7c9951937] user: js branch: trunk, size: 21295
14:38
Make sure even an empty string has a valid C string. file: [802907aead] check-in: [d9739e7692] user: js branch: trunk, size: 21187
2011-02-01
20:58
Use OFInvalidFormatException for -[(hexa)decimalValue] on bad strings. file: [8bb8574c87] check-in: [58a082efe4] user: js branch: trunk, size: 21123
2011-01-29
19:01
Add of_asprintf and allow %@ in format strings. file: [d45226b27d] check-in: [4c4608fbba] user: js branch: trunk, size: 21131
2011-01-15
18:17
Define enums as types. file: [a9943514ef] check-in: [b5ec30fa9d] user: js branch: trunk, size: 21230
18:03
Allow + as prefix in -[OFString decimalValue]. file: [e1b8eb30ed] check-in: [11c7661a42] user: js branch: trunk, size: 21248
2011-01-01
20:19
Change license. file: [76062f9e81] check-in: [da6b3d26cb] user: js branch: trunk, size: 21228
2010-12-29
12:49
Allow hexadecimal values with h suffix in -[hexadecimalValue]. file: [ba94761fb4] check-in: [eb328c80df] user: js branch: trunk, size: 20972
2010-12-26
02:47
Nicer overflow check in -[decimalValue]. file: [03fe30d505] check-in: [d2567246f9] user: js branch: trunk, size: 20817
2010-12-25
13:20
Adjust OFString and OFDataArray to OFComparing protocol. file: [633e178038] check-in: [43c60ede3c] user: js branch: trunk, size: 20788
2010-12-13
22:36
Rename -[decimalValueAsInteger] to -[decimalValue]. file: [e36cd47ab5] check-in: [7564bf4445] user: js branch: trunk, size: 20773
2010-12-11
20:27
Rename a few exception-related methods. file: [197d311a2d] check-in: [5e44debc07] user: js branch: trunk, size: 20791
2010-12-06
13:24
Add -[description] to OFNumber. file: [b78aed1909] check-in: [b965dad5f8] user: js branch: trunk, size: 20794
2010-11-17
22:31
Close file on exception in +[OFString stringWithContentsOfFile:]. file: [93873903ed] check-in: [cc34255955] user: js branch: trunk, size: 20794
2010-11-13
21:57
Add -[description] for OFObject, OFString, OFArray and OFDictionary. file: [408783a5f8] check-in: [9b50b86632] user: js branch: trunk, size: 20810
2010-11-11
20:52
Ignore BOM at start of string. file: [04e9fd7c64] check-in: [1e7e237e6e] user: js branch: trunk, size: 20745
2010-10-25
23:03
Clean up a lot of code (mostly init methods) and fix a missing rethrow. file: [6583af04e3] check-in: [8a7ca573c4] user: js branch: trunk, size: 20615
2010-10-19
19:38
Fix method signature being different in .h and .m file. file: [2546d1519d] check-in: [198e343d1f] user: js branch: trunk, size: 22126
2010-09-23
16:40
Some older gcc versions require an explicit cast here. file: [76a2397995] check-in: [64a39262ca] user: js branch: trunk, size: 22133
2010-09-19
22:59
Optimize handling of ASCII strings. file: [4289e64de5] check-in: [f9ed4c1d11] user: js branch: trunk, size: 22113
22:35
Add -[unicodeString] to OFString. file: [2b9702d139] check-in: [b5f0fc343d] user: js branch: trunk, size: 21213
2010-08-24
19:24
Fix a bug in +[stringWithPath:] that led to broken unicode. file: [5dd44cde77] check-in: [2328f5eeb2] user: js branch: trunk, size: 20691
2010-07-02
21:56
Add -[writeToFile:] to OFString. file: [5d478c6564] check-in: [aed0aea0b2] user: js branch: trunk, size: 20684
2010-06-12
20:47
Move a few classes and categories so they have their own files. file: [19d4bb0975] check-in: [67917b918a] user: js branch: trunk, size: 20461
2010-04-22
09:05
Add OF_PATH_DELIM to macros.h. file: [1d5af0ad42] check-in: [d931239e25] user: js branch: trunk, size: 20428
2010-04-17
22:27
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. file: [7f39ded0e7] check-in: [37db8f0fb3] user: js branch: trunk, size: 20503
16:09
Give the methods in OFNumber better names. file: [f0e2960871] check-in: [2517f18272] user: js branch: trunk, size: 20509
15:46
Don't return self where not necessary, return void or something useful. file: [228bd6589d] check-in: [062a052b50] user: js branch: trunk, size: 20517
2010-04-11
02:49
Add +[stringWithContentsOfFile:] to OFString. file: [4bb745a125] check-in: [c7630df319] user: js branch: trunk, size: 20474
2010-04-10
23:52
Add +[stringWithPath:] to OFString. file: [4ec189c3b9] check-in: [48190e2a91] user: js branch: trunk, size: 19149
2010-04-07
21:10
Make glibc happy. file: [bdc5753e61] check-in: [f93fd1838d] user: js branch: trunk, size: 17522
18:39
Rename -[appendWithFormat:] to -[appendFormat:]. file: [ae6ba38916] check-in: [66bbe6da24] user: js branch: trunk, size: 17503
2010-04-04
16:50
Rename -[splitWithDelimiter:] to -[componentsSeparatedByString:]. file: [e681f2fd16] check-in: [7bc07fede9] user: js branch: trunk, size: 17474
15:45
Out of memory is way more likely for vasprintf. file: [2490a2fe1b] check-in: [43b963aba6] user: js branch: trunk, size: 17465
2010-04-02
16:33
-[hexadecimalValueAsInteger] returns an unsigned value now. file: [a9d9dd698d] check-in: [59dd873fd0] user: js branch: trunk, size: 17339
2010-02-24
22:56
Merge to fix wrong parent of last commit. file: [7e77eaece2] check-in: [b190519866] user: js branch: trunk, size: 17338
2010-02-11
14:05
Add of_range_t and add methods taking an of_range_t. file: [d1ca63d71a] check-in: [a7bed8325c] user: js branch: trunk, size: 17338
2010-02-02
18:58
Rename OFMacros.h to macros.h, as it's not a class. file: [a8326e5274] check-in: [832188d759] user: js branch: trunk, size: 17194
2010-01-30
18:29
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. file: [1aae4ffc35] check-in: [13f2a20288] user: js branch: trunk, size: 17196
2010-01-16
15:05
Reduce dependencies between headers. file: [600171252e] check-in: [1433aef0d0] user: js branch: trunk, size: 17480
14:43
Remove mutation methods from immutable classes' interfaces. file: [5c17b2346a] check-in: [1348a32d47] user: js branch: trunk, size: 17460
2010-01-08
15:26
Generate and use smaller Unicode tables. file: [1791ee0081] check-in: [be4c0f34c5] user: js branch: trunk, size: 19491
2009-12-02
20:02
Introduce some consistency when to use OFObject* and when to use id. file: [21b0d1d0a2] check-in: [c7ab3a46d1] user: js branch: trunk, size: 19203
2009-11-14
12:46
Fix two more FIXMEs. file: [fa163f325d] check-in: [8afa16c9e9] user: js branch: trunk, size: 19185
2009-11-13
14:30
Add -[caseInsensitiveCompare:] and fix -[compare:]. file: [dcfcc7e490] check-in: [35fda90cf5] user: js branch: trunk, size: 19011
2009-11-10
15:34
Improve of_string_utf8_to_unicode. file: [b097e022e5] check-in: [3d007c8393] user: js branch: trunk, size: 17827
15:32
Improve -[compare:]. file: [c3f91002a4] check-in: [6772512e3e] user: js branch: trunk, size: 17857
2009-11-09
22:45
Rename libobjfw to ObjFW. file: [d81f7e695a] check-in: [a3cc34b139] user: js branch: trunk, size: 17384
2009-11-01
19:46
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. file: [07267760cd] check-in: [16ec7469b8] user: js branch: trunk, size: 17387
2009-10-18
14:22
Use the new, smaller Unicode tables. file: [2b9f485fcd] check-in: [257fc27253] user: js branch: trunk, size: 17497
2009-10-15
20:38
Full Unicode support for OFMutableString's -[upper] and -[lower]. file: [0b43a03a38] check-in: [0480a27d5e] user: js branch: trunk, size: 17431
2009-10-10
16:57
Move encodings to a separate .c file. file: [2ba568e7fc] check-in: [d6b2fdffff] user: js branch: trunk, size: 17408
2009-10-06
13:02
Add -[(hexa)decimalValueAsInteger] to OFString. file: [fd0de86dc5] check-in: [4d0bccf77c] user: js branch: trunk, size: 17426
2009-10-04
13:43
Add -[characterAtIndex:] to OFString. file: [b88d3c3e4d] check-in: [bd1bd1460b] user: js branch: trunk, size: 16385
12:45
Add of_unichar_t type. file: [5d80701917] check-in: [8b162c7122] user: js branch: trunk, size: 15332
2009-10-03
21:18
Add -[length] to OFString. file: [cf1e219842] check-in: [0fcb47fb59] user: js branch: trunk, size: 15324
21:12
Fix setting of is_utf8. file: [5b6856fe26] check-in: [f01153154d] user: js branch: trunk, size: 15205
20:41
Indexes are now relative to the Unicode character, not the C character. file: [329139cf3c] check-in: [2b615e0443] user: js branch: trunk, size: 14850
2009-09-01
11:32
Rename -[length] to -[cStringLength] in OFString. file: [e5d0b3d2f0] check-in: [3ed599fe98] user: js branch: trunk, size: 14213
2009-08-27
17:52
Add -[removeCharactersFromIndex:toIndex:] to OFMutableString. file: [99eed6fe4d] check-in: [a9ff126697] user: js branch: trunk, size: 14164
2009-07-20
23:20
Add support for C strings encoded in Windows-1252. file: [7a4ce00abf] check-in: [e04c359780] user: js branch: trunk, size: 14008
18:39
Add support for C strings encoded in ISO 8859-15. file: [472df8f045] check-in: [0ea758cd9c] user: js branch: trunk, size: 13508
2009-07-19
18:14
Add support for C strings encoded in ISO 8859-1. file: [2a8be01528] check-in: [8216fb9343] user: js branch: trunk, size: 12505
14:05
Rename andFoo: to foo: in all methods. file: [1a350e2ba4] check-in: [4eae61a78f] user: js branch: trunk, size: 11069
13:04
A few new string methods. file: [b274f55ce4] check-in: [1bbc11d7a5] user: js branch: trunk, size: 11090
2009-07-17
17:17
Two minor changes. file: [a8bcd353b2] check-in: [5eae1c66bc] user: js branch: trunk, size: 10606
12:41
Add OFString (OFHashing) category. file: [7a39667e23] check-in: [d051b1302d] user: js branch: trunk, size: 10578
2009-07-14
21:58
Also parse &#NNNN; and &#xHHHH; in -[stringByXMLUnescaping]. file: [c4e41efb24] check-in: [a80e9b948d] user: js branch: trunk, size: 10551
21:22
Add of_string_unicode_to_utf8 which converts unicode to UTF-8. file: [2bac621bba] check-in: [de937a62e4] user: js branch: trunk, size: 10554
18:57
Add OFString (OFXMLUnescaping) category and API for OFXMLParser. file: [c51d9e7bc3] check-in: [d8684fc232] user: js branch: trunk, size: 10046
17:51
Optimize some code by using the new stringWithCString:andLength: method. file: [b0bbce5a9e] check-in: [7bb3494ef9] user: js branch: trunk, size: 10068
17:32
Add methods to handle C strings with length to OF(Mutable)String. file: [36e450e8e9] check-in: [dc7bb2d594] user: js branch: trunk, size: 10712
2009-06-30
22:21
Implement -[indexOf{First,Last}OccurrenceOfString:] for OFString. file: [6fce01c941] check-in: [9758677802] user: js branch: trunk, size: 9514
20:12
Implement -[substringFromIndex:toIndex:] for OFString. file: [26f5edf3f9] check-in: [cfb401ed3a] user: js branch: trunk, size: 8781
13:38
Implement OFCopying and OFMutableCopying in OFDictionary. file: [248b3d5447] check-in: [eddc0ba58c] user: js branch: trunk, size: 8190
12:07
A few renames in OFObject, see details. * +[conformsTo:] to +[conformsToProtocol:]. * -[isKindOf:] to -[isKindOfClass:]. * -[respondsTo:] to -[respondsToSelector:]. * -[conformsTo:] to -[conformsToProtocol:]. * -[methodFor:] to -[methodForSelector:]. file: [98df1c138a] check-in: [67bb344ba6] user: js branch: trunk, size: 8190
2009-06-18
18:42
Preliminary OFXMLElement implementation. file: [1b2b877044] check-in: [f9c673f241] user: js branch: trunk, size: 8180
18:26
Add -[appendCStringWithoutUTF8Checking:]. file: [f0f301f9d4] check-in: [47e65e5a97] user: js branch: trunk, size: 8124
2009-06-10
00:02
Autorelease array returned in -[splitWithDelimiter] properly. file: [67f5019bf6] check-in: [a0b7eb7a66] user: js branch: trunk, size: 7987
2009-06-09
20:47
Rename -[append:] to -[appendString:]. file: [16153df8cd] check-in: [9863810eba] user: js branch: trunk, size: 8034
20:10
Move documentation of mutating methods. Mutating methods are now documented in the mutable class. file: [5d82d403f3] check-in: [41974cf38d] user: js branch: trunk, size: 8028
2009-06-03
03:54
Add methods to remove leading or trailing whitespaces or both. file: [24b458f3b5] check-in: [2496d46c35] user: js branch: trunk, size: 8028
2009-06-01
20:36
Add objfw.h which includes everything. Only importing what you really need is preferred, though. file: [346940a245] check-in: [f8b652cc27] user: js branch: trunk, size: 7677
2009-05-29
19:21
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]. file: [aeeb03c826] check-in: [033054ad75] user: js branch: trunk, size: 7706
2009-05-24
18:04
Always use #include "config.h" instead of #import "config.h". file: [27bf821a65] check-in: [94ea6848a8] user: js branch: trunk, size: 7696
10:51
Get rid of one @try-block in OFString. file: [af05f4b76b] check-in: [64450cd780] user: js branch: trunk, size: 7695
00:26
Better check for madvise(). file: [796905757e] check-in: [000b2dffdf] user: js branch: trunk, size: 7729
2009-05-23
22:07
Add a new convenience method to OFString. file: [40c6a50185] check-in: [88163bd172] user: js branch: trunk, size: 7732
21:53
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:]. file: [7338b9f854] check-in: [526d04018d] user: js branch: trunk, size: 7227
21:02
Add replaceOccurrencesOfString:withString: to OFString. file: [f339ad2a58] check-in: [bc71bde0dd] user: js branch: trunk, size: 7205
20:32
Fix splitWithDelimiter:. file: [4a9dfef866] check-in: [cabf6ee9e7] user: js branch: trunk, size: 7042
2009-05-18
18:52
- copy and - mutableCopy should never autorelease. file: [cff3100081] check-in: [7fa61023b9] user: js branch: trunk, size: 6847
18:45
Only let - copy create an actual copy if necessary. file: [84fc7cbec8] check-in: [6ba395bacb] user: js branch: trunk, size: 6841
18:24
Remove useless convenience method. file: [30c1114698] check-in: [577023d300] user: js branch: trunk, size: 6864
18:15
Introduce OFMutableCopying protocol. file: [eb70c8a2e9] check-in: [79e1893b40] user: js branch: trunk, size: 7019
18:09
More separation for OFString and OFMutableString. file: [b1b2906cfa] check-in: [e7e8efd297] user: js branch: trunk, size: 6943
17:50
Split OFArray into OFArray and OFMutableArray. file: [1c15b5afa3] check-in: [163409967e] user: js branch: trunk, size: 3820
2009-05-16
14:28
Add OFURLEncoding for OFString category. file: [0327728187] check-in: [b992a4b0e5] user: js branch: trunk, size: 3813
2009-05-15
22:59
As we memset our ivars to 0, get rid of some useless ivar inits. file: [5c5b9e51f6] check-in: [4c6d6c56ac] user: js branch: trunk, size: 3668
20:01
Use OFString as much as possible. file: [dbcbcc49c8] check-in: [67066be692] user: js branch: trunk, size: 3681
2009-05-14
14:24
Get rid of OFNotInSetException. file: [5fed7eca62] check-in: [bdc9b3219f] user: js branch: trunk, size: 3694
2009-05-13
19:39
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. file: [7666d17f06] check-in: [1c798ffa3f] user: js branch: trunk, size: 3666
2009-05-07
11:55
There is no point in splitWithDelimiter: requiring an OFString. Plus some code clean up in splitWithDelimiter:. file: [e2d9167ac3] check-in: [1d44132d96] user: js branch: trunk, size: 3784
2009-05-05
15:04
Add - splitWithDelimiter: to OFString. file: [c3388d8ecc] check-in: [029d4af91d] user: js branch: trunk, size: 3864
2009-05-04
14:19
Make OFString a common class for all strings. file: [c5b8e74c51] check-in: [372211deb7] user: js branch: trunk, size: 2677
2009-05-03
14:59
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. file: [0c1768f337] check-in: [1b7a52cdf5] user: js branch: trunk, size: 9168
14:20
Fix wrong free in OFString. Should be [self freeMem:]. file: [b1e5dbc875] check-in: [441e5ec29b] user: js branch: trunk, size: 9227
2009-05-01
22:28
Work around a compiler bug that occurs on OS X. It seems super has the wrong type (struct _objc_super*) inside a @try block. file: [3003617042] check-in: [06ad922132] user: js branch: trunk, size: 9217
18:15
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. file: [8c5b52d99d] check-in: [e9d48d0beb] user: js branch: trunk, size: 9078
2009-04-26
12:44
A few renames in OFObject. getMemWithSize: -> allocWithSize: getMemForNItems:ofSize: -> allocNItems:withSize: resizeMem:toNItems:ofSize: -> resizeMem:toNItems:withSize: file: [db633d72e6] check-in: [e959fed010] user: js branch: trunk, size: 9077
2009-04-21
17:16
The if ((self = [super init])) construct isn't needed anymore. file: [881fc1c877] check-in: [d87df02e8b] user: js branch: trunk, size: 9079
2009-04-19
20:34
Use isa instead of [self class]. Since we don't use Object anymore and define isa in OFObject, we can rely on it. file: [3c7d0ee24e] check-in: [139591afe1] user: js branch: trunk, size: 9160
2009-03-15
13:46
Preliminary OFConstString implementation and support for @"" literals. file: [0784bdbb56] check-in: [2ff44fe8d7] user: js branch: trunk, size: 9332
2009-02-28
01:49
Fix a memory leak in OFString that occours when we're out of memory. file: [365ef7f711] check-in: [48309788c8] user: js branch: trunk, size: 9212
2009-02-27
11:17
Add - hash for OFArray and OFString, main implementation in OFMacros. file: [504b483064] check-in: [ffd26c8238] user: js branch: trunk, size: 9134
2009-02-14
19:04
Let OFString's setTo: use const char* instead of OFString*. This is far more useful. file: [6c57bbac26] check-in: [cc2e866e55] user: js branch: trunk, size: 8961
17:26
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 ;). file: [8d074bf70b] check-in: [029511474c] user: js branch: trunk, size: 8980
17:08
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. file: [d870a955f7] check-in: [61a6ac873a] user: js branch: trunk, size: 8974
2009-01-24
20:28
[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. file: [69097c8dd7] check-in: [7feac9e596] user: js branch: trunk, size: 8738
15:24
Adjust API to introduction of OFAutoreleasePool. file: [f753114c1f] check-in: [1496808b81] user: js branch: trunk, size: 8722
2009-01-05
02:18
Fix three stupid warnings. file: [7c7b5b7fed] check-in: [41095bf7a1] user: js branch: trunk, size: 8384
00:59
Update copyright. file: [922642403b] check-in: [f1b749d113] user: js branch: trunk, size: 8366
2009-01-04
01:40
Clean up exceptions. file: [0b49a22c9f] check-in: [bb1fe89478] user: js branch: trunk, size: 8359
2009-01-02
17:20
Some import fixes, some static lib and win32 enhancements. file: [781415eae9] check-in: [ba01b9c18a] user: js branch: trunk, size: 8270
2008-12-30
14:42
Add OFNumber. file: [8055b56c32] check-in: [555f28985f] user: js branch: trunk, size: 8219
2008-12-26
21:34
Remove redundant method. file: [384f44e40d] check-in: [617ca244c5] user: js branch: trunk, size: 8230
2008-12-24
19:12
Fix imports for glibc. file: [5ddb402b32] check-in: [fca9e1997f] user: js branch: trunk, size: 8270
11:55
Add methods to initalize from and append from formatted C strings. file: [7570d35c8f] check-in: [486760ed2b] user: js branch: trunk, size: 8231
2008-12-23
03:59
Remove spaces and tabs at end of line. file: [37b9bc8f4c] check-in: [7d7b89d775] user: js branch: trunk, size: 6140
02:10
Check for sys/mman.h before trying to use madvise. file: [845a3454e0] check-in: [14ebaa7ca1] user: js branch: trunk, size: 6143
2008-12-22
03:05
Don't try to use madvise on win32. file: [c064e2be95] check-in: [ab9eb34112] user: js branch: trunk, size: 6135
2008-12-21
20:17
This looked nicer, but GCC couldn't optimize it. file: [a8b4eb7167] check-in: [74af3973f8] user: js branch: trunk, size: 6072
17:50
A few optimizations for OFString. file: [1633386c30] check-in: [fb809020b5] user: js branch: trunk, size: 6056
15:42
Initial UTF-8 support for OFString. file: [f391445888] check-in: [b4a4e95798] user: js branch: trunk, size: 5429
2008-12-20
14:19
Remove wchar_t stuff, as that's not portable anyway. file: [737d54ed05] check-in: [4360177618] user: js branch: trunk, size: 2073
2008-12-13
14:50
Add missing const for some return types; new exception. file: [9f7f197b86] check-in: [46b770d066] user: js branch: trunk, size: 3922
2008-12-10
20:53
Fix FIXMEs in OFString; new exception. file: [f6358fc52b] check-in: [4f7378978c] user: js branch: trunk, size: 3916
17:53
Always use [self alloc] in + new. This way, derivated classes are not forced to always override + new. file: [56af24d281] check-in: [f48ee629e3] user: js branch: trunk, size: 3814
2008-12-07
10:48
Very small API change. file: [1aa922997d] check-in: [88053589dc] user: js branch: trunk, size: 3826
2008-12-06
15:14
Rename cString to getCString, as this needs to be generated. file: [a1f83fb4fc] check-in: [9c420c6cc3] user: js branch: trunk, size: 3824
2008-11-30
15:17
Clean up imports. file: [66c9692dfd] check-in: [4b8666fe15] user: js branch: trunk, size: 3821
2008-11-28
17:31
glibc needs one import more. file: [46f93c5dbb] check-in: [ae389818d9] user: js branch: trunk, size: 3822
2008-11-27
16:14
Add lower and upper for OFString. file: [e4cac6da69] check-in: [2cbf759299] user: js branch: trunk, size: 3802
2008-11-26
21:12
mbstowcs/wcstombs returns the size of bytes exluding \0, thus add 1. file: [441ab9ee19] check-in: [baeaca9124] user: js branch: trunk, size: 3606
2008-11-23
06:11
New string API, string class completely rewritten. One class for all string types now. file: [cffef7d468] check-in: [bf02f0ef25] user: js branch: trunk, size: 3594
2008-11-19
18:27
Implement reverse for OF(Wide)CString & rename wcString -> wCString. file: [fbb622def6] check-in: [cebd6fbbfc] user: js branch: trunk, size: 1515
2008-11-05
17:13
Start documenting stuff. file: [d41ed2e6b4] check-in: [2690e9848f] user: js branch: trunk, size: 1475
2008-10-29
16:37
Add OF_NOT_IMPLEMENTED macro. file: [a6d9bc8397] check-in: [d6a3d8a5db] user: js branch: trunk, size: 1508
2008-10-25
22:34
initWithFooString -> initAsFooString. file: [28feddcc2f] check-in: [326b0a1c33] user: js branch: trunk, size: 2239
22:25
newWithFooString -> newAsFooString. file: [ffab6838ef] check-in: [62abf39400] user: js branch: trunk, size: 2247
2008-10-22
13:32
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... file: [34596a2a5f] check-in: [e47ad44290] user: js branch: trunk, size: 2252
2008-10-11
20:26
Move length from base string class to subclasses & others. file: [bf98b3db86] check-in: [7b15048e25] user: js branch: trunk, size: 1880
2008-10-09
00:25
Multiple changes, see details. * Use config.h. * Check whether to use sel_get_name or sel_getName. * Rename freeWithData to freeIncludingData. file: [595a703a5e] check-in: [7a49441656] user: js branch: trunk, size: 1786
2008-10-08
23:15
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. file: [a57e73bfa3] check-in: [b597d49f43] user: js branch: trunk, size: 1766
2008-10-07
17:18
Added OFFile. file: [7599c02c21] check-in: [71119a787b] user: js branch: trunk, size: 1667
2008-10-05
19:20
Reworked String API. file: [3e627dd8f1] check-in: [cf85bee74f] user: js branch: trunk, size: 1602
2008-09-15
11:02
API change. file: [68b2726756] check-in: [c7f702cc69] user: js branch: trunk, size: 1721
10:23
Add compare: for strings. file: [b274f069db] check-in: [24ce530f56] user: js branch: trunk, size: 1677
2008-09-14
20:30
Same again. file: [c2a52dd320] check-in: [1df0de873b] user: js branch: trunk, size: 1602
20:19
Make more use of exceptions. file: [bb64dfc30f] check-in: [de929f3cde] user: js branch: trunk, size: 1630
19:03
More exceptions stuff. file: [fb3d19ec1b] check-in: [98fe076bd8] user: js branch: trunk, size: 1661
17:59
Fix missing terminating char and glibc bug. file: [1c1ae2a28e] check-in: [1c2e0d4711] user: js branch: trunk, size: 1702
15:29
Coding style. file: [52bd147dc6] check-in: [778be56179] user: js branch: trunk, size: 1707
12:53
Add OFWideString and OFConstWideString. file: [7b8481ed3a] check-in: [1fe9cb366e] user: js branch: trunk, size: 1689
2008-09-12
18:26
Add OFConstString. file: [ec546376b0] check-in: [a566e7bb03] user: js branch: trunk, size: 1779
18:21
OFString uses OFObject's getMem: and resizeMem:toSize: now. file: [c26b0e5b15] check-in: [0256ab4f09] user: js branch: trunk, size: 1815
13:25
Added: Initial import. file: [53999e7524] check-in: [a580136c80] user: js branch: trunk, size: 1516