ObjFW  History of src/OFUTF8String.m of b37858358e5c88a4

History of file src/OFUTF8String.m at check-in b37858358e5c88a4

2024-10-27
22:27
Allow strings to contain \0

In order to not accidentally have C strings with \0, an
OFInvalidEncodingException is thrown when trying to get a C string for a
string that contains \0.

In order to get a C string with \0 anyway, a new method
-[insecureCStringWithEncoding:] is added. file: [731d0242b9] check-in: [6fbc3b18c7] user: js, branch: trunk, size: 30856 [annotate] [blame] [check-ins using] [diff]

2024-08-24
23:43
Don't assume all custom string classes use Unicode

Initially, isUTF8 was set to true for all custom string classes because
having isUTF8 set to false was merely an optimization. However,
-[OFUTF8String cStringWithEncoding: OFStringEncodingASCII] throws an
exception when isUTF8 is true. file: [3e5753e6f2] check-in: [cacfcf1b9d] user: js, branch: 1.1, size: 28630 [annotate] [blame] [check-ins using] [diff]

23:41
Don't assume all custom string classes use Unicode

Initially, isUTF8 was set to true for all custom string classes because
having isUTF8 set to false was merely an optimization. However,
-[OFUTF8String cStringWithEncoding: OFStringEncodingASCII] throws an
exception when isUTF8 is true. file: [eb22322b98] check-in: [82c5846734] user: js, branch: trunk, size: 29042 [annotate] [blame] [check-ins using] [diff]

22:20
OFString: Fix converting from some encodings file: [2832b02ca4] check-in: [6e79f005c4] user: js, branch: 1.1, size: 28456 [annotate] [blame] [check-ins using] [diff]
22:19
OFString: Fix converting from some encodings file: [69877c8b33] check-in: [d6a8d57148] user: js, branch: trunk, size: 28868 [annotate] [blame] [check-ins using] [diff]
2024-08-17
09:51
Move private functions into private headers file: [494018f979] check-in: [b829f3e798] user: js, branch: trunk, size: 28807 [annotate] [blame] [check-ins using] [diff]
2024-07-28
19:56
Add support for Codepage 852 file: [56475f9dfd] check-in: [0c7de8be1d] user: js, branch: trunk, size: 28757 [annotate] [blame] [check-ins using] [diff]
14:45
Add support for Windows-1250 encoding file: [c81adad54b] check-in: [4d82cae50d] user: js, branch: trunk, size: 28576 [annotate] [blame] [check-ins using] [diff]
2024-04-29
21:42
Properly hide private symbols file: [97ab3896de] check-in: [f16bccc7b3] user: js, branch: trunk, size: 28395 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [720c0708e2] check-in: [7413a728a7] user: js, branch: trunk, size: 28328 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [5604031013] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 28120 [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
Update copyright file: [2d7393093e] check-in: [8939cbdb52] user: js, branch: trunk, size: 28120 [annotate] [blame] [check-ins using] [diff]
2022-09-16
13:15
OFString: Improve exceptions file: [c76e8c2ef7] check-in: [7dc3d12cad] user: js, branch: trunk, size: 28120 [annotate] [blame] [check-ins using] [diff]
2022-08-30
00:48
OFObject: Small API change file: [1455d494bf] check-in: [4ad0c363f3] user: js, branch: trunk, size: 28120 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [0c9d61efea] check-in: [1a86b8175b] user: js, branch: trunk, size: 28108 [annotate] [blame] [check-ins using] [diff]
2021-08-08
01:02
OFUTF8String: Fix leak in case of exception file: [48ac930e37] check-in: [3c21284980] user: js, branch: trunk, size: 28108 [annotate] [blame] [check-ins using] [diff]
2021-04-25
19:58
Last round of renames (hopefully) file: [18e27cfd00] check-in: [6ae98c1dcf] user: js, branch: trunk, size: 27903 [annotate] [blame] [check-ins using] [diff]
2021-04-18
22:56
Rename all symbols marked extern file: [d6113071ec] check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 27899 [annotate] [blame] [check-ins using] [diff]
20:51
Rename everything in several smaller files file: [3080670bc7] check-in: [35de667566] user: js, branch: new-naming-convention, size: 28099 [annotate] [blame] [check-ins using] [diff]
15:55
Rename all functions in macros.h file: [4249f1ce05] check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 28101 [annotate] [blame] [check-ins using] [diff]
2021-04-17
22:45
Rename of_(re)alloc and add OFFreeMemory file: [bde7452a16] check-in: [498074dab9] user: js, branch: new-naming-convention, size: 28091 [annotate] [blame] [check-ins using] [diff]
14:13
Always prefix functions with the type file: [15625b331d] check-in: [eb0cfa6ff9] user: js, branch: new-naming-convention, size: 27995 [annotate] [blame] [check-ins using] [diff]
03:21
Rename all blocks file: [325d0971b0] check-in: [c4e0e56fa3] user: js, branch: new-naming-convention, size: 27995 [annotate] [blame] [check-ins using] [diff]
02:25
Rename remaining enums in OFString.h file: [765c0c09a1] check-in: [169692a120] user: js, branch: new-naming-convention, size: 28001 [annotate] [blame] [check-ins using] [diff]
02:10
of_string_encoding_t -> OFStringEncoding file: [b9f1bdcce3] check-in: [255f21fb3d] user: js, branch: new-naming-convention, size: 27957 [annotate] [blame] [check-ins using] [diff]
01:35
of_char{16,32}_t -> OFChar{16,32} file: [c1d8de60ff] check-in: [6d9d790a24] user: js, branch: new-naming-convention, size: 28056 [annotate] [blame] [check-ins using] [diff]
01:32
of_unichar_t -> OFUnichar file: [b8390f53cd] check-in: [2d3790870d] user: js, branch: new-naming-convention, size: 28116 [annotate] [blame] [check-ins using] [diff]
01:24
OF_NOT_FOUND -> OFNotFound file: [534d33532b] check-in: [83dc0fe6e5] user: js, branch: new-naming-convention, size: 28167 [annotate] [blame] [check-ins using] [diff]
00:44
of_range_t -> OFRange file: [70226f2f8c] check-in: [d975c53a43] user: js, branch: new-naming-convention, size: 28173 [annotate] [blame] [check-ins using] [diff]
00:31
of_byte_order_t -> OFByteOrder file: [afaff8f361] check-in: [1046d10a20] user: js, branch: new-naming-convention, size: 28179 [annotate] [blame] [check-ins using] [diff]
00:14
of_comparison_result_t -> OFComparisonResult file: [4aafa9a290] check-in: [61fc389aee] user: js, branch: new-naming-convention, size: 28200 [annotate] [blame] [check-ins using] [diff]
2021-04-07
22:20
Make GCC happy again file: [2057b791a1] check-in: [96ee4795ad] user: js, branch: trunk, size: 28248 [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
*.m: Fold methods into one line where it fits file: [b5e6f95eb4] check-in: [1b82d3bf4f] user: js, branch: trunk, size: 28500 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [0d15ab4aab] check-in: [374e1a1bfa] user: js, branch: trunk, size: 28502 [annotate] [blame] [check-ins using] [diff]
2020-12-22
20:09
Correctly handle componentsSeparatedByString: @"" file: [212afc270e] check-in: [1b2efa1f5d] user: js, branch: trunk, size: 28591 [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: [4b2268ed9f] check-in: [627511b032] user: js, branch: trunk, size: 28421 [annotate] [blame] [check-ins using] [diff]

2020-11-07
20:23
OFObject: Remove -[allocMemoryWithSize:] file: [4cdd46e0d2] check-in: [4fbdca698c] user: js, branch: trunk, size: 28423 [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: [e04f7e1202] check-in: [0f260e0fd5] user: js, branch: trunk, size: 28345 [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: [d8b3a6972a] check-in: [aeb403a1ed] user: js, branch: trunk, size: 28429 [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
Update copyright file: [03dadccc61] check-in: [c7f0229795] user: js, branch: trunk, size: 28424 [annotate] [blame] [check-ins using] [diff]
2019-06-17
02:33
Added: Remove underscores from class names file: [d63b819646] check-in: [17d57e01ff] user: js, branch: trunk, size: 28421 [annotate] [blame] [check-ins using]