ObjFW  History of src/OFString.m of 49cb6ada5f8e15f4

History of the file that is called src/OFString.m at checkin 49cb6ada5f8e15f4

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

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

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

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

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

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

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

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

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

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

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

02:24
Future-proof some code using freeWhenDone

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

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

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

2020-11-04
23:18
Remove of_free()

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

2020-11-01
11:35
OFString: Add -[substring{From,To}Index:] file: [b2cfcd4f85] check-in: [4bbac7ab17] user: js, branch: trunk, size: 65474 [annotate] [blame] [check-ins using] [diff]
2020-10-25
23:33
Add of_{malloc,calloc,realloc,free} file: [25e18e82dd] check-in: [d0ae3bfd6c] user: js, branch: trunk, size: 65252 [annotate] [blame] [check-ins using] [diff]
2020-10-10
14:27
OFObject: Change type of -[hash] to unsigned long

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

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

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

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

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

19:27
Always cast argument to isspace() to unsigned char

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

2020-08-12
20:56
Avoid using (u)intmax_t in methods

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

2020-08-11
19:45
OFString: Rework number parsing API

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

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

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

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

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

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

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

2018-04-22
23:42
Make all tests pass on AmigaOS 3

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

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

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

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

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

2018-02-25
17:16
No self = [self init…] with self-releasing @catch

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

04:31
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. file: [8f9360fade] check-in: [505137f25f] user: js, branch: trunk, size: 69675 [annotate] [blame] [check-ins using] [diff]

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

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

2017-11-14
23:27
Add -[OFString stringByAppendingURLPathComponent:] file: [2722cbc855] check-in: [ad18d4f976] user: js, branch: trunk, size: 69174 [annotate] [blame] [check-ins using] [diff]
23:19
Improve -[stringByAppendingPathComponent:]

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

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

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

2017-11-06
00:10
of_string_utf8_encode(): Remove a variable file: [a97d47a4cf] check-in: [455caa7063] user: js, branch: trunk, size: 66980 [annotate] [blame] [check-ins using] [diff]
2017-11-05
18:25
Use -[isMemberOfClass:] instead of object_getClass file: [42646dafbd] check-in: [0a4565fb0f] user: js, branch: trunk, size: 67008 [annotate] [blame] [check-ins using] [diff]
2017-11-04
21:12
OFString: Improve freeWhenDone in case of error file: [e6724ae75a] check-in: [ca0621da09] user: js, branch: 0.90, size: 66435 [annotate] [blame] [check-ins using] [diff]
21:09
OFString: Improve freeWhenDone in case of error file: [8d27f950a1] check-in: [9f3a4dfbc0] user: js, branch: trunk, size: 67009 [annotate] [blame] [check-ins using] [diff]
16:01
+[stringWithUTF8StringNoCopy:length:freeWhenDone:] file: [00802d6b23] check-in: [1ec122d57c] user: js, branch: trunk, size: 66874 [annotate] [blame] [check-ins using] [diff]
2017-10-29
00:41
Fix conversion between URL and path on Win32

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

2017-10-22
15:05
Make Apple GCC with -Wshadow happy file: [66df8d1952] check-in: [a06354b42a] user: js, branch: trunk, size: 66345 [annotate] [blame] [check-ins using] [diff]
14:09
Make Apple GCC with -Wshadow happy file: [29ce2b94a9] check-in: [31c0f5b89e] user: js, branch: 0.90, size: 66368 [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. file: [0cbd68fca6] check-in: [2f4e0df8be] user: js, branch: trunk, size: 66347 [annotate] [blame] [check-ins using] [diff]

2017-09-24
00:59
Make OFHTTPClient asynchronous

This does not make OFHTTPClientResponse completely asynchronous yet.

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

2017-07-23
18:02
Add -[OFString dataWithEncoding:] file: [fc3a0af468] check-in: [db06863643] user: js, branch: trunk, size: 66370 [annotate] [blame] [check-ins using] [diff]
17:55
Add +[OFString stringWithData:encoding:] file: [3b9b1e2811] check-in: [9aacc26542] user: js, branch: trunk, size: 66043 [annotate] [blame] [check-ins using] [diff]
2017-07-22
23:04
OFFile: Simplify mode

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

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

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

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

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

2017-05-30
22:01
MorphOS: Name variable handle instead of fd file: [fd491800a0] check-in: [c5c3df3abe] user: js, branch: trunk, size: 64573 [annotate] [blame] [check-ins using] [diff]
2017-05-21
21:28
Prefix private methods with of_ instead of OF_

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

2017-05-07
23:14
Add OF_UNAVAILABLE file: [583af651c3] check-in: [16c05e87e1] user: js, branch: trunk, size: 64571 [annotate] [blame] [check-ins using] [diff]
21:25
Use char{16,32}_t instead of of_char{16,32}_t file: [f26acdf614] check-in: [37d2a81754] user: js, branch: trunk, size: 64559 [annotate] [blame] [check-ins using] [diff]
20:10
Small code style change

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

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

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 [annotate] [blame] [check-ins using] [diff]
2017-01-17
03:23
Add ISO-8859-2 file: [0c0cd023b8] check-in: [7a27ce7b0b] user: js, branch: trunk, size: 60606 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2017-01-11
04:33
Reduce code duplication file: [3935514fea] check-in: [44ea4f9322] user: js, branch: trunk, size: 59664 [annotate] [blame] [check-ins using] [diff]
04:22
Add Windows-1251 encoding file: [c458b1a41f] check-in: [0f88ccfb04] user: js, branch: trunk, size: 61032 [annotate] [blame] [check-ins using] [diff]
2017-01-10
23:23
Add Mac OS Roman encoding file: [a66e682c7d] check-in: [0832fcf579] user: js, branch: trunk, size: 60405 [annotate] [blame] [check-ins using] [diff]
21:38
Add codepage 850 file: [f0fd5cc4db] check-in: [878c25c9d7] user: js, branch: trunk, size: 59782 [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
Update copyright

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

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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

2016-09-12
00:27
Add OF_DEALLOC_UNSUPPORTED macro file: [d7680287a6] check-in: [13f4c6c678] user: js, branch: trunk, size: 58050 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

2016-07-03
19:38
-[pathComponents]: Include drive in 1st component file: [e8667bc529] check-in: [541aab7a03] user: js, branch: trunk, size: 57983 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2016-05-22
17:38
Add -[OFString octalValue] file: [0f58946fa2] check-in: [6ea8c2f107] user: js, branch: trunk, size: 57684 [annotate] [blame] [check-ins using] [diff]
12:08
Fix --disable-files with --enable-sockets file: [b978deee43] check-in: [36c2ceaeb0] user: js, branch: trunk, size: 56439 [annotate] [blame] [check-ins using] [diff]
2016-05-06
20:39
Enable -Wsign-compare file: [6aa1a96c52] check-in: [2a2e17d8d0] user: js, branch: trunk, size: 56405 [annotate] [blame] [check-ins using] [diff]
2016-03-13
13:16
of_string_utf8_decode(): Check all surrogate bytes file: [51291209ea] check-in: [a83b261f72] user: js, branch: trunk, size: 56346 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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

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

00:41
Update copyright

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

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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
Add platform.h & make platform defines consistent file: [0176c8e382] check-in: [1ba08eebc5] user: js, branch: trunk, size: 56232 [annotate] [blame] [check-ins using] [diff]
2015-10-04
13:10
OFString: int i -> size_t i file: [2be273de51] check-in: [57f386c9a7] user: js, branch: trunk, size: 56227 [annotate] [blame] [check-ins using] [diff]
2015-05-14
09:10
initWithContentsOfURL: Require files or sockets file: [c1b245bad8] check-in: [dbe286c39f] user: js, branch: trunk, size: 56237 [annotate] [blame] [check-ins using] [diff]
2015-05-03
11:34
Check <= SSIZE_MAX before assignign to ssize_t file: [ef29c8b8a2] check-in: [daf78156a7] user: js, branch: trunk, size: 56045 [annotate] [blame] [check-ins using] [diff]
2015-04-11
11:01
OFOpenFileFailedException: Rename File -> Item file: [3315fcda12] check-in: [ff17b98ab2] user: js, branch: trunk, size: 55971 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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

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

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

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

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

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 [annotate] [blame] [check-ins using] [diff]
2014-02-08
18:04
Add JSON5 output option file: [ab5f534f76] check-in: [e07fa89b44] user: js, branch: trunk, size: 55977 [annotate] [blame] [check-ins using] [diff]
09:26
Add -[JSONRepresentationWithOptions:]

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

2014-01-19
14:17
Add Unicode -> Codepage 437 conversion. file: [f9a79a3ca8] check-in: [e66defc073] user: js, branch: trunk, size: 55055 [annotate] [blame] [check-ins using] [diff]
14:10
Clean up Unicode -> * conversions. file: [04e1844f94] check-in: [7c26551b67] user: js, branch: trunk, size: 54604 [annotate] [blame] [check-ins using] [diff]
2014-01-17
16:41
Move Unicode -> * conversions to separate files. file: [17a63459d4] check-in: [a1bcdc2ff6] user: js, branch: trunk, size: 54663 [annotate] [blame] [check-ins using] [diff]
03:12
Add -[OFString lossyCStringWithEncoding:]. file: [48162efaaf] check-in: [1b0a5cf829] user: js, branch: trunk, size: 57113 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2014-01-09
00:01
Add --disable-files configure flag. file: [699fa5f856] check-in: [f89edd8ed9] user: js, branch: trunk, size: 55375 [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
Update copyright. file: [8041d2c2b7] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 55135 [annotate] [blame] [check-ins using] [diff]
2013-12-01
11:50
Clean up the path delimiter mess. file: [0e48ad1696] check-in: [00dbb47969] user: js, branch: trunk, size: 55129 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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

2013-07-29
19:43
Rename OFHTTPRequestReply to OFHTTPResponse. file: [db848cd405] check-in: [36d0b1e2d8] user: js, branch: trunk, size: 55445 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

2013-04-26
19:42
Make it possible to disable sockets. file: [250db502f2] check-in: [590c377d8a] user: js, branch: trunk, size: 56139 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2013-02-24
10:41
Update to BinaryPack1pre2. file: [2d59404d46] check-in: [c4df7d61b6] user: js, branch: trunk, size: 55844 [annotate] [blame] [check-ins using] [diff]
2013-02-23
10:03
Update to BinaryPack1pre1. file: [d8fe56c8e7] check-in: [19f5a60438] user: js, branch: trunk, size: 55844 [annotate] [blame] [check-ins using] [diff]
2013-02-21
19:35
Add support for generating BinaryPack. file: [e8f0aa0e9e] check-in: [23c798d4f1] user: js, branch: trunk, size: 55624 [annotate] [blame] [check-ins using] [diff]
2013-02-05
22:24
Move abort() to make old GCCs happy. file: [6fe7a945dd] check-in: [737a82e1a4] user: js, branch: trunk, size: 54660 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2013-01-23
21:52
Never compare to @"", use length instead. file: [7077269c5c] check-in: [ea4a43461c] user: js, branch: trunk, size: 54291 [annotate] [blame] [check-ins using] [diff]
2013-01-16
14:27
OFString: Add -[getCString:maxLength:encoding:]. file: [0f2f5910d1] check-in: [7694d37135] user: js, branch: trunk, size: 54297 [annotate] [blame] [check-ins using] [diff]
2013-01-15
02:33
-[OFString cStringWithEncoding:]: Add Windows-1252 file: [857f08a203] check-in: [7a14ffd2cb] user: js, branch: trunk, size: 53346 [annotate] [blame] [check-ins using] [diff]
00:01
-[OFString cStringWithEncoding:]: Add ISO 8859-15. file: [a4348af620] check-in: [14a638f75e] user: js, branch: trunk, size: 51335 [annotate] [blame] [check-ins using] [diff]
2013-01-14
23:57
OFString: Add -[writeToFile:encoding:]. file: [a4fa320751] check-in: [18ad960654] user: js, branch: trunk, size: 50288 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

2013-01-09
22:24
Update copyright. file: [4f19bc623c] check-in: [813c00ccf0] user: js, branch: trunk, size: 49457 [annotate] [blame] [check-ins using] [diff]
2013-01-08
12:33
OFString: Add methods for UTF-32. file: [2ad39db524] check-in: [7cddd5f891] user: js, branch: trunk, size: 49451 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

13:35
Improve API for UTF-16 strings. file: [9b71ee7ecc] check-in: [02ca89285f] user: js, branch: trunk, size: 46480 [annotate] [blame] [check-ins using] [diff]
2012-12-30
00:22
Fix -[initWithUTF8StringNoCopy:freeWhenDone:]. file: [e59e2f0949] check-in: [c16e6aca56] user: js, branch: trunk, size: 45855 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

14:43
Prettify some code. file: [03c484c2ac] check-in: [374956b098] user: js, branch: trunk, size: 48102 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

19:55
Add -[OFString stringByStandardizing(URL)Path]. file: [8288fa97d2] check-in: [b98fd10000] user: js, branch: trunk, size: 46568 [annotate] [blame] [check-ins using] [diff]
2012-12-22
15:37
Add -[doesNotRecognizeSelector:]. file: [5f30990c6d] check-in: [917ce5754c] user: js, branch: trunk, size: 45395 [annotate] [blame] [check-ins using] [diff]
2012-12-16
15:04
Fix a missing exception argument. file: [9b74d0387e] check-in: [f835847243] user: js, branch: trunk, size: 45623 [annotate] [blame] [check-ins using] [diff]
14:57
Add -[stringByAppendingFormat:arguments:]. file: [221b9ffe16] check-in: [aecadefe62] user: js, branch: trunk, size: 45599 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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

2012-10-14
10:36
More integer overflow checks. file: [3bdf38b289] check-in: [53af033b0e] user: js, branch: trunk, size: 43908 [annotate] [blame] [check-ins using] [diff]
00:59
OF_INVALID_INDEX -> OF_NOT_FOUND. file: [10f45f3070] check-in: [f38744df74] user: js, branch: trunk, size: 43859 [annotate] [blame] [check-ins using] [diff]
00:54
range.start -> range.location. file: [651cb0fc54] check-in: [c9433ea60d] user: js, branch: trunk, size: 43867 [annotate] [blame] [check-ins using] [diff]
2012-10-13
22:21
Add -[OFString rangeOfString:options:range:]. file: [9f1383c46f] check-in: [20dddc7345] user: js, branch: trunk, size: 43852 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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

2012-07-17
01:11
MinGW fixes, mainly workaround for broken strtod. file: [ff0024cc41] check-in: [91dc019442] user: js, branch: trunk, size: 45943 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2012-07-12
01:28
Don't access isa directly. file: [2da268688d] check-in: [8892ae9fcc] user: js, branch: trunk, size: 45810 [annotate] [blame] [check-ins using] [diff]
2012-07-06
15:00
Add -[OFString capitalizedString]. file: [b81efdf820] check-in: [9a2430abfc] user: js, branch: trunk, size: 45458 [annotate] [blame] [check-ins using] [diff]
2012-07-04
22:50
Rename -[{upper,lower}] to -[{upper,lower}case]. file: [7e10de457a] check-in: [8e995a13e7] user: js, branch: trunk, size: 45307 [annotate] [blame] [check-ins using] [diff]
20:31
Fix a bug in -[initWithContentsOfURL:encoding:]. file: [a7f2176e75] check-in: [ba0a921534] user: js, branch: trunk, size: 45299 [annotate] [blame] [check-ins using] [diff]
2012-07-01
20:56
Reference OFConstantString in OFString.

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

2012-06-10
13:28
More API improvements. file: [a987125a46] check-in: [11d3d69a22] user: js, branch: trunk, size: 45265 [annotate] [blame] [check-ins using] [diff]
2012-06-07
12:03
Rework OFStream API. file: [3028812e1c] check-in: [0d4059306a] user: js, branch: trunk, size: 45283 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2012-05-22
12:59
Add -[OFString stringByAppendingPathComponent:]. file: [40151bee8f] check-in: [868e1611f4] user: js, branch: trunk, size: 45279 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2012-02-28
14:29
Don't use alloca, as it could be unsafe. file: [be0c82cd5b] check-in: [92412c8453] user: js, branch: 0.6, size: 43907 [annotate] [blame] [check-ins using] [diff]
14:29
Don't use alloca, as it could be unsafe. file: [f2bf50723c] check-in: [439216041b] user: js, branch: trunk, size: 44245 [annotate] [blame] [check-ins using] [diff]
2012-02-27
12:25
Add -[OFString componentsSeparatedByString:skipEmpty:]. file: [eb65ec8863] check-in: [c007c0d4f7] user: js, branch: trunk, size: 44096 [annotate] [blame] [check-ins using] [diff]
2012-01-31
18:59
Add -[OFMutableString replaceOccurrencesOfString:withString:inRange:]. file: [793d434ba8] check-in: [e5fe02de61] user: js, branch: trunk, size: 43758 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
Update copyright. file: [e0f353ec6a] check-in: [ce70e17b38] user: js, branch: trunk, size: 43277 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2011-12-26
16:57
Implement -[UTF8String] and -[UTF8StringLength] in OFString. file: [3c525cf553] check-in: [ea76dec036] user: js, branch: trunk, size: 43228 [annotate] [blame] [check-ins using] [diff]
2011-12-10
21:46
Add JSON parsing. file: [eb1dd81502] check-in: [8ba0a62c0d] user: js, branch: trunk, size: 41755 [annotate] [blame] [check-ins using] [diff]
13:17
Add JSON encoding. file: [ff90d8d582] check-in: [243a96fc2d] user: js, branch: trunk, size: 41719 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2011-10-31
22:02
Add -[UTF16String] to OFString. file: [e38e775f82] check-in: [a51b3cb390] user: js, branch: trunk, size: 44178 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

21:20
Don't prepend a BOM when using -[unicodeString]. file: [37713bd91c] check-in: [dcf50eb53a] user: js, branch: trunk, size: 43204 [annotate] [blame] [check-ins using] [diff]
2011-10-29
01:36
Make return type of -[unicodeString] const. file: [7ae1259373] check-in: [4d6f7fc529] user: js, branch: trunk, size: 43225 [annotate] [blame] [check-ins using] [diff]
00:00
Make the parameter for +[stringWith{Unicode,UTF16}String:] const. file: [ac74e2bb50] check-in: [49cf155269] user: js, branch: trunk, size: 43219 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2011-09-28
14:38
Various small bugfixes. file: [83cfd0201b] check-in: [9e82f99f09] user: js, branch: trunk, size: 43701 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]
12:34
BOOL naming conventions. file: [1e80f1fdb6] check-in: [d43eb177bc] user: js, branch: trunk, size: 43440 [annotate] [blame] [check-ins using] [diff]
2011-09-15
19:26
Add -[enumerateLinesUsingBlock:] to OFString. file: [ba997373bf] check-in: [6dd03a129e] user: js, branch: trunk, size: 43488 [annotate] [blame] [check-ins using] [diff]
2011-09-12
19:57
Rename -[cString] to -[UTF8String]. file: [f1011efbdf] check-in: [e6fd39d11e] user: js, branch: trunk, size: 42682 [annotate] [blame] [check-ins using] [diff]
18:57
Add -[cStringWithEncoding:] and -[cStringLengthWithEncoding:]. file: [21b462a461] check-in: [90369e9323] user: js, branch: trunk, size: 42469 [annotate] [blame] [check-ins using] [diff]
18:26
Add OF_STRING_ENCODING_ASCII. file: [a0631a1efb] check-in: [7920f081ec] user: js, branch: trunk, size: 41676 [annotate] [blame] [check-ins using] [diff]
2011-09-10
20:24
Treat \f as whitespace. file: [eb163b9c24] check-in: [7eff7e3918] user: js, branch: trunk, size: 41514 [annotate] [blame] [check-ins using] [diff]
17:46
Add -[stringByReplacingOccurrencesOfString:withString:]. file: [a9a4d55e1d] check-in: [a8b61d68ae] user: js, branch: trunk, size: 41266 [annotate] [blame] [check-ins using] [diff]
2011-09-09
13:35
[pool release] can never throw by convention now. file: [45f23dd776] check-in: [798d9e6320] user: js, branch: trunk, size: 40975 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2011-08-04
16:48
Get rid of -[*FromIndex:toIndex:]. file: [e16259c02d] check-in: [f977192a23] user: js, branch: trunk, size: 42540 [annotate] [blame] [check-ins using] [diff]
2011-08-03
00:30
Make OFArray an abstract class. file: [9e62f802e4] check-in: [a855618045] user: js, branch: trunk, size: 42736 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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

2011-05-08
22:36
Change serialization format. file: [bb52ca9d4f] check-in: [17d18368bb] user: js, branch: trunk, size: 35207 [annotate] [blame] [check-ins using] [diff]
20:35
Nicer formatting for serialization. file: [4009def51f] check-in: [bd879fd455] user: js, branch: trunk, size: 35207 [annotate] [blame] [check-ins using] [diff]
19:55
Add support for serialization.
No deserialization yet.
file: [b90f5bed16] check-in: [b27b3aa3e3] user: js, branch: trunk, size: 34951 [annotate] [blame] [check-ins using] [diff]
2011-05-02
20:46
Add +[OFString stringWithUnicodeString:length:]. file: [ed76246fb2] check-in: [04ffb67949] user: js, branch: trunk, size: 34214 [annotate] [blame] [check-ins using] [diff]
13:01
Don't free ret in -[unicodeString] as it is autoreleased now. file: [b56b81b94d] check-in: [3a1cd610ed] user: js, branch: trunk, size: 33854 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
23:42
Fix a possible out-of-bounds read in -[OFString unicodeString]. file: [ada3b84c8f] check-in: [4a9e45c2ad] user: js, branch: 0.5, size: 29395 [annotate] [blame] [check-ins using] [diff]
23:42
Fix a possible out-of-bounds read in -[OFString unicodeString]. file: [f44982b7c8] check-in: [9d25dacab1] user: js, branch: trunk, size: 33840 [annotate] [blame] [check-ins using] [diff]
12:43
Correctly set isUTF8 in -[OFString initWithUnicodeString:]. file: [04afab8da6] check-in: [8e8bb78eb5] user: js, branch: trunk, size: 33840 [annotate] [blame] [check-ins using] [diff]
00:35
Add +[OFString stringWithUnicodeString:]. file: [b307aaa0bd] check-in: [e2bbfb45d0] user: js, branch: trunk, size: 33783 [annotate] [blame] [check-ins using] [diff]
2011-04-30
23:33
Style improvements. file: [e280f8208a] check-in: [d968d32614] user: js, branch: trunk, size: 32146 [annotate] [blame] [check-ins using] [diff]
15:26
Include the complete result in an OFHTTPRequestFailedException. file: [02548d1e5f] check-in: [5854471001] user: js, branch: trunk, size: 31769 [annotate] [blame] [check-ins using] [diff]
2011-04-27
16:14
Small string optimization. file: [e3d5101e79] check-in: [50a6d34eff] user: js, branch: trunk, size: 31789 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
22:31
Try to autodetect the encoding in +[OFString stringWithContentsOfURL:]. file: [e4ea0d48b5] check-in: [1dadc4b4a6] user: js, branch: trunk, size: 32111 [annotate] [blame] [check-ins using] [diff]
14:14
Fix a warning when sizeof(size_t) < sizeof(long long). file: [d61077ef08] check-in: [abff9ac184] user: js, branch: 0.5, size: 29395 [annotate] [blame] [check-ins using] [diff]
14:14
Fix a warning when sizeof(size_t) < sizeof(long long). file: [ec60fe00a5] check-in: [e14961f94d] user: js, branch: trunk, size: 30911 [annotate] [blame] [check-ins using] [diff]
00:18
Add +[OFDataArray dataArrayWithContentsOfURL:]. file: [18e15c80ab] check-in: [9c4d3e34cd] user: js, branch: trunk, size: 30805 [annotate] [blame] [check-ins using] [diff]
2011-04-23
14:46
Add -[uppercaseString] and -[lowercaseString] to OFString. file: [878e982a3d] check-in: [becb4c9b86] user: js, branch: trunk, size: 30818 [annotate] [blame] [check-ins using] [diff]
13:23
More style improvements. file: [7863930129] check-in: [6f4bf74c7d] user: js, branch: trunk, size: 30058 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2011-04-11
00:37
A few readability improvements. file: [88aed01d2e] check-in: [e52ccc8d45] user: js, branch: trunk, size: 29260 [annotate] [blame] [check-ins using] [diff]
2011-04-04
23:32
Remove now useless defines of _GNU_SOURCE. file: [a034b6e9c4] check-in: [93fee7265f] user: js, branch: trunk, size: 29289 [annotate] [blame] [check-ins using] [diff]
2011-04-03
10:58
Use a more fitting exception in -[initWithContentsOfFile:]. file: [feba50e66c] check-in: [72f2eb445d] user: js, branch: trunk, size: 29309 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
00:03
A few win32 fixes. file: [0f0b8d53a9] check-in: [13a4dee1da] user: js, branch: trunk, size: 29249 [annotate] [blame] [check-ins using] [diff]
2011-03-29
19:03
Add -[floatValue] and -[doubleValue]. file: [bb07f5cc36] check-in: [9c59bc9aee] user: js, branch: trunk, size: 29249 [annotate] [blame] [check-ins using] [diff]
18:20
Ignore leading and trailing whitespaces in -[(hexa)decimalValue]. file: [2defafe592] check-in: [e0a8e01190] user: js, branch: trunk, size: 28190 [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
Get rid of OFExceptions.h. file: [52284dc401] check-in: [cda44767f4] user: js, branch: trunk, size: 27345 [annotate] [blame] [check-ins using] [diff]
2011-03-23
13:05
Use OF_INVALID_INDEX instead of SIZE_MAX. file: [15058207f8] check-in: [a252dc5c69] user: js, branch: trunk, size: 27100 [annotate] [blame] [check-ins using] [diff]
00:19
Add new methods to OFString. file: [4c6f19272b] check-in: [b682102c3d] user: js, branch: trunk, size: 27060 [annotate] [blame] [check-ins using] [diff]
2011-03-22
13:10
Move path methods from OFFile to OFString. file: [e113731f30] check-in: [67e7d1e222] user: js, branch: trunk, size: 25782 [annotate] [blame] [check-ins using] [diff]
2011-02-27
00:35
Rename -[result] to -[perform] in OFHTTPRequest. file: [117e48e1f5] check-in: [53213f1d41] user: js, branch: trunk, size: 23349 [annotate] [blame] [check-ins using] [diff]
2011-02-26
19:40
Use class swizzling as an optimization. file: [88740728b0] check-in: [06f539766f] user: js, branch: trunk, size: 23348 [annotate] [blame] [check-ins using] [diff]
2011-02-17
18:29
Add -[stringWithContentsOfURL:encoding:]. file: [b4df8282b2] check-in: [d932adccc3] user: js, branch: trunk, size: 22859 [annotate] [blame] [check-ins using] [diff]
2011-02-09
18:27
Add two missing includes. file: [365a738f41] check-in: [90893f3cbe] user: js, branch: trunk, size: 21598 [annotate] [blame] [check-ins using] [diff]
09:37
Add -[containsString:] to OFString. file: [da97386e32] check-in: [a6c5af136b] user: js, branch: trunk, size: 21578 [annotate] [blame] [check-ins using] [diff]
2011-02-07
21:05
of_vasprintf: Preserve exceptions that happen in -[description]. file: [877ceb4ed7] check-in: [151463e32a] user: js, branch: trunk, size: 21264 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
14:38
Make sure even an empty string has a valid C string. file: [802907aead] check-in: [d9739e7692] user: js, branch: trunk, size: 21187 [annotate] [blame] [check-ins using] [diff]
2011-02-01
20:58
Use OFInvalidFormatException for -[(hexa)decimalValue] on bad strings. file: [8bb8574c87] check-in: [58a082efe4] user: js, branch: trunk, size: 21123 [annotate] [blame] [check-ins using] [diff]
2011-01-29
19:01
Add of_asprintf and allow %@ in format strings. file: [d45226b27d] check-in: [4c4608fbba] user: js, branch: trunk, size: 21131 [annotate] [blame] [check-ins using] [diff]
2011-01-15
18:17
Define enums as types. file: [a9943514ef] check-in: [b5ec30fa9d] user: js, branch: trunk, size: 21230 [annotate] [blame] [check-ins using] [diff]
18:03
Allow + as prefix in -[OFString decimalValue]. file: [e1b8eb30ed] check-in: [11c7661a42] user: js, branch: trunk, size: 21248 [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
Change license. file: [76062f9e81] check-in: [da6b3d26cb] user: js, branch: trunk, size: 21228 [annotate] [blame] [check-ins using] [diff]
2010-12-29
12:49
Allow hexadecimal values with h suffix in -[hexadecimalValue]. file: [ba94761fb4] check-in: [eb328c80df] user: js, branch: trunk, size: 20972 [annotate] [blame] [check-ins using] [diff]
2010-12-26
02:47
Nicer overflow check in -[decimalValue]. file: [03fe30d505] check-in: [d2567246f9] user: js, branch: trunk, size: 20817 [annotate] [blame] [check-ins using] [diff]
2010-12-25
13:20
Adjust OFString and OFDataArray to OFComparing protocol. file: [633e178038] check-in: [43c60ede3c] user: js, branch: trunk, size: 20788 [annotate] [blame] [check-ins using] [diff]
2010-12-13
22:36
Rename -[decimalValueAsInteger] to -[decimalValue]. file: [e36cd47ab5] check-in: [7564bf4445] user: js, branch: trunk, size: 20773 [annotate] [blame] [check-ins using] [diff]
2010-12-11
20:27
Rename a few exception-related methods. file: [197d311a2d] check-in: [5e44debc07] user: js, branch: trunk, size: 20791 [annotate] [blame] [check-ins using] [diff]
2010-12-06
13:24
Add -[description] to OFNumber. file: [b78aed1909] check-in: [b965dad5f8] user: js, branch: trunk, size: 20794 [annotate] [blame] [check-ins using] [diff]
2010-11-17
22:31
Close file on exception in +[OFString stringWithContentsOfFile:]. file: [93873903ed] check-in: [cc34255955] user: js, branch: trunk, size: 20794 [annotate] [blame] [check-ins using] [diff]
2010-11-13
21:57
Add -[description] for OFObject, OFString, OFArray and OFDictionary. file: [408783a5f8] check-in: [9b50b86632] user: js, branch: trunk, size: 20810 [annotate] [blame] [check-ins using] [diff]
2010-11-11
20:52
Ignore BOM at start of string. file: [04e9fd7c64] check-in: [1e7e237e6e] user: js, branch: trunk, size: 20745 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2010-09-19
22:59
Optimize handling of ASCII strings. file: [4289e64de5] check-in: [f9ed4c1d11] user: js, branch: trunk, size: 22113 [annotate] [blame] [check-ins using] [diff]
22:35
Add -[unicodeString] to OFString. file: [2b9702d139] check-in: [b5f0fc343d] user: js, branch: trunk, size: 21213 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2010-07-02
21:56
Add -[writeToFile:] to OFString. file: [5d478c6564] check-in: [aed0aea0b2] user: js, branch: trunk, size: 20684 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2010-04-22
09:05
Add OF_PATH_DELIM to macros.h. file: [1d5af0ad42] check-in: [d931239e25] user: js, branch: trunk, size: 20428 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

16:09
Give the methods in OFNumber better names. file: [f0e2960871] check-in: [2517f18272] user: js, branch: trunk, size: 20509 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2010-04-11
02:49
Add +[stringWithContentsOfFile:] to OFString. file: [4bb745a125] check-in: [c7630df319] user: js, branch: trunk, size: 20474 [annotate] [blame] [check-ins using] [diff]
2010-04-10
23:52
Add +[stringWithPath:] to OFString. file: [4ec189c3b9] check-in: [48190e2a91] user: js, branch: trunk, size: 19149 [annotate] [blame] [check-ins using] [diff]
2010-04-07
21:10
Make glibc happy. file: [bdc5753e61] check-in: [f93fd1838d] user: js, branch: trunk, size: 17522 [annotate] [blame] [check-ins using] [diff]
18:39
Rename -[appendWithFormat:] to -[appendFormat:]. file: [ae6ba38916] check-in: [66bbe6da24] user: js, branch: trunk, size: 17503 [annotate] [blame] [check-ins using] [diff]
2010-04-04
16:50
Rename -[splitWithDelimiter:] to -[componentsSeparatedByString:]. file: [e681f2fd16] check-in: [7bc07fede9] user: js, branch: trunk, size: 17474 [annotate] [blame] [check-ins using] [diff]
15:45
Out of memory is way more likely for vasprintf. file: [2490a2fe1b] check-in: [43b963aba6] user: js, branch: trunk, size: 17465 [annotate] [blame] [check-ins using] [diff]
2010-04-02
16:33
-[hexadecimalValueAsInteger] returns an unsigned value now. file: [a9d9dd698d] check-in: [59dd873fd0] user: js, branch: trunk, size: 17339 [annotate] [blame] [check-ins using] [diff]
2010-03-05
11:52
Merge a few changesets from the default branch into the 0.2 branch.

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

2010-02-19
16:36
Update copyright. file: [7e77eaece2] check-in: [42886185fd] user: js, branch: trunk, size: 17338 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2010-01-16
15:05
Reduce dependencies between headers. file: [600171252e] check-in: [1433aef0d0] user: js, branch: trunk, size: 17480 [annotate] [blame] [check-ins using] [diff]
14:43
Remove mutation methods from immutable classes' interfaces. file: [5c17b2346a] check-in: [1348a32d47] user: js, branch: trunk, size: 17460 [annotate] [blame] [check-ins using] [diff]
2010-01-08
15:26
Generate and use smaller Unicode tables. file: [1791ee0081] check-in: [be4c0f34c5] user: js, branch: trunk, size: 19491 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2009-11-14
12:46
Fix two more FIXMEs. file: [fa163f325d] check-in: [8afa16c9e9] user: js, branch: trunk, size: 19185 [annotate] [blame] [check-ins using] [diff]
2009-11-13
14:30
Add -[caseInsensitiveCompare:] and fix -[compare:]. file: [dcfcc7e490] check-in: [35fda90cf5] user: js, branch: trunk, size: 19011 [annotate] [blame] [check-ins using] [diff]
2009-11-10
15:34
Improve of_string_utf8_to_unicode. file: [b097e022e5] check-in: [3d007c8393] user: js, branch: trunk, size: 17827 [annotate] [blame] [check-ins using] [diff]
15:32
Improve -[compare:]. file: [c3f91002a4] check-in: [6772512e3e] user: js, branch: trunk, size: 17857 [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
Rename libobjfw to ObjFW. file: [d81f7e695a] check-in: [a3cc34b139] user: js, branch: trunk, size: 17384 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2009-10-18
14:22
Use the new, smaller Unicode tables. file: [2b9f485fcd] check-in: [257fc27253] user: js, branch: trunk, size: 17497 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2009-10-10
16:57
Move encodings to a separate .c file. file: [2ba568e7fc] check-in: [d6b2fdffff] user: js, branch: trunk, size: 17408 [annotate] [blame] [check-ins using] [diff]
2009-10-06
13:02
Add -[(hexa)decimalValueAsInteger] to OFString. file: [fd0de86dc5] check-in: [4d0bccf77c] user: js, branch: trunk, size: 17426 [annotate] [blame] [check-ins using] [diff]
2009-10-04
13:43
Add -[characterAtIndex:] to OFString. file: [b88d3c3e4d] check-in: [bd1bd1460b] user: js, branch: trunk, size: 16385 [annotate] [blame] [check-ins using] [diff]
12:45
Add of_unichar_t type. file: [5d80701917] check-in: [8b162c7122] user: js, branch: trunk, size: 15332 [annotate] [blame] [check-ins using] [diff]
2009-10-03
21:18
Add -[length] to OFString. file: [cf1e219842] check-in: [0fcb47fb59] user: js, branch: trunk, size: 15324 [annotate] [blame] [check-ins using] [diff]
21:12
Fix setting of is_utf8. file: [5b6856fe26] check-in: [f01153154d] user: js, branch: trunk, size: 15205 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2009-09-01
11:32
Rename -[length] to -[cStringLength] in OFString. file: [e5d0b3d2f0] check-in: [3ed599fe98] user: js, branch: trunk, size: 14213 [annotate] [blame] [check-ins using] [diff]
2009-08-27
17:52
Add -[removeCharactersFromIndex:toIndex:] to OFMutableString. file: [99eed6fe4d] check-in: [a9ff126697] user: js, branch: trunk, size: 14164 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
18:39
Add support for C strings encoded in ISO 8859-15. file: [472df8f045] check-in: [0ea758cd9c] user: js, branch: trunk, size: 13508 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
14:05
Rename andFoo: to foo: in all methods. file: [1a350e2ba4] check-in: [4eae61a78f] user: js, branch: trunk, size: 11069 [annotate] [blame] [check-ins using] [diff]
13:04
A few new string methods. file: [b274f55ce4] check-in: [1bbc11d7a5] user: js, branch: trunk, size: 11090 [annotate] [blame] [check-ins using] [diff]
2009-07-17
17:17
Two minor changes. file: [a8bcd353b2] check-in: [5eae1c66bc] user: js, branch: trunk, size: 10606 [annotate] [blame] [check-ins using] [diff]
12:41
Add OFString (OFHashing) category. file: [7a39667e23] check-in: [d051b1302d] user: js, branch: trunk, size: 10578 [annotate] [blame] [check-ins using] [diff]
2009-07-14
21:58
Also parse &#NNNN; and &#xHHHH; in -[stringByXMLUnescaping]. file: [c4e41efb24] check-in: [a80e9b948d] user: js, branch: trunk, size: 10551 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
18:57
Add OFString (OFXMLUnescaping) category and API for OFXMLParser. file: [c51d9e7bc3] check-in: [d8684fc232] user: js, branch: trunk, size: 10046 [annotate] [blame] [check-ins using] [diff]
17:51
Optimize some code by using the new stringWithCString:andLength: method. file: [b0bbce5a9e] check-in: [7bb3494ef9] user: js, branch: trunk, size: 10068 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2009-06-30
22:21
Implement -[indexOf{First,Last}OccurrenceOfString:] for OFString. file: [6fce01c941] check-in: [9758677802] user: js, branch: trunk, size: 9514 [annotate] [blame] [check-ins using] [diff]
20:12
Implement -[substringFromIndex:toIndex:] for OFString. file: [26f5edf3f9] check-in: [cfb401ed3a] user: js, branch: trunk, size: 8781 [annotate] [blame] [check-ins using] [diff]
13:38
Implement OFCopying and OFMutableCopying in OFDictionary. file: [248b3d5447] check-in: [eddc0ba58c] user: js, branch: trunk, size: 8190 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2009-06-18
18:42
Preliminary OFXMLElement implementation. file: [1b2b877044] check-in: [f9c673f241] user: js, branch: trunk, size: 8180 [annotate] [blame] [check-ins using] [diff]
18:26
Add -[appendCStringWithoutUTF8Checking:]. file: [f0f301f9d4] check-in: [47e65e5a97] user: js, branch: trunk, size: 8124 [annotate] [blame] [check-ins using] [diff]
2009-06-10
00:02
Autorelease array returned in -[splitWithDelimiter] properly. file: [67f5019bf6] check-in: [a0b7eb7a66] user: js, branch: trunk, size: 7987 [annotate] [blame] [check-ins using] [diff]
2009-06-09
20:47
Rename -[append:] to -[appendString:]. file: [16153df8cd] check-in: [9863810eba] user: js, branch: trunk, size: 8034 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]
10:51
Get rid of one @try-block in OFString. file: [af05f4b76b] check-in: [64450cd780] user: js, branch: trunk, size: 7695 [annotate] [blame] [check-ins using] [diff]
00:26
Better check for madvise(). file: [796905757e] check-in: [000b2dffdf] user: js, branch: trunk, size: 7729 [annotate] [blame] [check-ins using] [diff]
2009-05-23
22:07
Add a new convenience method to OFString. file: [40c6a50185] check-in: [88163bd172] user: js, branch: trunk, size: 7732 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

21:02
Add replaceOccurrencesOfString:withString: to OFString. file: [f339ad2a58] check-in: [bc71bde0dd] user: js, branch: trunk, size: 7205 [annotate] [blame] [check-ins using] [diff]
20:32
Fix splitWithDelimiter:. file: [4a9dfef866] check-in: [cabf6ee9e7] user: js, branch: trunk, size: 7042 [annotate] [blame] [check-ins using] [diff]
2009-05-18
18:52
- copy and - mutableCopy should never autorelease. file: [cff3100081] check-in: [7fa61023b9] user: js, branch: trunk, size: 6847 [annotate] [blame] [check-ins using] [diff]
18:45
Only let - copy create an actual copy if necessary. file: [84fc7cbec8] check-in: [6ba395bacb] user: js, branch: trunk, size: 6841 [annotate] [blame] [check-ins using] [diff]
18:24
Remove useless convenience method. file: [30c1114698] check-in: [577023d300] user: js, branch: trunk, size: 6864 [annotate] [blame] [check-ins using] [diff]
18:15
Introduce OFMutableCopying protocol. file: [eb70c8a2e9] check-in: [79e1893b40] user: js, branch: trunk, size: 7019 [annotate] [blame] [check-ins using] [diff]
18:09
More separation for OFString and OFMutableString. file: [b1b2906cfa] check-in: [e7e8efd297] user: js, branch: trunk, size: 6943 [annotate] [blame] [check-ins using] [diff]
17:50
Split OFArray into OFArray and OFMutableArray. file: [1c15b5afa3] check-in: [163409967e] user: js, branch: trunk, size: 3820 [annotate] [blame] [check-ins using] [diff]
2009-05-16
14:28
Add OFURLEncoding for OFString category. file: [0327728187] check-in: [b992a4b0e5] user: js, branch: trunk, size: 3813 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
20:01
Use OFString as much as possible. file: [dbcbcc49c8] check-in: [67066be692] user: js, branch: trunk, size: 3681 [annotate] [blame] [check-ins using] [diff]
2009-05-14
14:24
Get rid of OFNotInSetException. file: [5fed7eca62] check-in: [bdc9b3219f] user: js, branch: trunk, size: 3694 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]
2009-05-05
15:04
Add - splitWithDelimiter: to OFString. file: [c3388d8ecc] check-in: [029d4af91d] user: js, branch: trunk, size: 3864 [annotate] [blame] [check-ins using] [diff]
2009-05-04
14:19
Make OFString a common class for all strings. file: [c5b8e74c51] check-in: [372211deb7] user: js, branch: trunk, size: 2677 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

14:20
Fix wrong free in OFString. Should be [self freeMem:]. file: [b1e5dbc875] check-in: [441e5ec29b] user: js, branch: trunk, size: 9227 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

2009-03-15
13:46
Preliminary OFConstString implementation and support for @"" literals. file: [0784bdbb56] check-in: [2ff44fe8d7] user: js, branch: trunk, size: 9332 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]
15:24
Adjust API to introduction of OFAutoreleasePool. file: [f753114c1f] check-in: [1496808b81] user: js, branch: trunk, size: 8722 [annotate] [blame] [check-ins using] [diff]
2009-01-05
02:18
Fix three stupid warnings. file: [7c7b5b7fed] check-in: [41095bf7a1] user: js, branch: trunk, size: 8384 [annotate] [blame] [check-ins using] [diff]
00:59
Update copyright. file: [922642403b] check-in: [f1b749d113] user: js, branch: trunk, size: 8366 [annotate] [blame] [check-ins using] [diff]
2009-01-04
01:40
Clean up exceptions. file: [0b49a22c9f] check-in: [bb1fe89478] user: js, branch: trunk, size: 8359 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2008-12-30
14:42
Add OFNumber. file: [8055b56c32] check-in: [555f28985f] user: js, branch: trunk, size: 8219 [annotate] [blame] [check-ins using] [diff]
2008-12-26
21:34
Remove redundant method. file: [384f44e40d] check-in: [617ca244c5] user: js, branch: trunk, size: 8230 [annotate] [blame] [check-ins using] [diff]
2008-12-24
19:12
Fix imports for glibc. file: [5ddb402b32] check-in: [fca9e1997f] user: js, branch: trunk, size: 8270 [annotate] [blame] [check-ins using] [diff]
11:55
Add methods to initalize from and append from formatted C strings. file: [7570d35c8f] check-in: [486760ed2b] user: js, branch: trunk, size: 8231 [annotate] [blame] [check-ins using] [diff]
2008-12-23
03:59
Remove spaces and tabs at end of line. file: [37b9bc8f4c] check-in: [7d7b89d775] user: js, branch: trunk, size: 6140 [annotate] [blame] [check-ins using] [diff]
02:10
Check for sys/mman.h before trying to use madvise. file: [845a3454e0] check-in: [14ebaa7ca1] user: js, branch: trunk, size: 6143 [annotate] [blame] [check-ins using] [diff]
2008-12-22
03:05
Don't try to use madvise on win32. file: [c064e2be95] check-in: [ab9eb34112] user: js, branch: trunk, size: 6135 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
17:50
A few optimizations for OFString. file: [1633386c30] check-in: [fb809020b5] user: js, branch: trunk, size: 6056 [annotate] [blame] [check-ins using] [diff]
15:42
Initial UTF-8 support for OFString. file: [f391445888] check-in: [b4a4e95798] user: js, branch: trunk, size: 5429 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2008-12-10
20:53
Fix FIXMEs in OFString; new exception. file: [f6358fc52b] check-in: [4f7378978c] user: js, branch: trunk, size: 3916 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2008-12-07
10:48
Very small API change. file: [1aa922997d] check-in: [88053589dc] user: js, branch: trunk, size: 3826 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2008-11-30
15:17
Clean up imports. file: [66c9692dfd] check-in: [4b8666fe15] user: js, branch: trunk, size: 3821 [annotate] [blame] [check-ins using] [diff]
2008-11-28
17:31
glibc needs one import more. file: [46f93c5dbb] check-in: [ae389818d9] user: js, branch: trunk, size: 3822 [annotate] [blame] [check-ins using] [diff]
2008-11-27
16:14
Add lower and upper for OFString. file: [e4cac6da69] check-in: [2cbf759299] user: js, branch: trunk, size: 3802 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]
2008-11-05
17:13
Start documenting stuff. file: [d41ed2e6b4] check-in: [2690e9848f] user: js, branch: trunk, size: 1475 [annotate] [blame] [check-ins using] [diff]
2008-10-29
16:37
Add OF_NOT_IMPLEMENTED macro. file: [a6d9bc8397] check-in: [d6a3d8a5db] user: js, branch: trunk, size: 1508 [annotate] [blame] [check-ins using] [diff]
2008-10-25
22:34
initWithFooString -> initAsFooString. file: [28feddcc2f] check-in: [326b0a1c33] user: js, branch: trunk, size: 2239 [annotate] [blame] [check-ins using] [diff]
22:25
newWithFooString -> newAsFooString. file: [ffab6838ef] check-in: [62abf39400] user: js, branch: trunk, size: 2247 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]
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 [annotate] [blame] [check-ins using] [diff]

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 [annotate] [blame] [check-ins using] [diff]

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