ObjFW  History of src/OFData.m of 374e1a1bfa30d767

History of the file that is called src/OFData.m at check-in 374e1a1bfa30d767

2024-03-10
16:49
Avoid some unnecessary I/O file: [e46674d159] check-in: [6060a03291] user: js, branch: trunk, size: 16090 [annotate] [blame] [check-ins using] [diff]
2024-01-11
20:12
Merge trunk into branch "asn1" file: [dc16e1e87f] check-in: [4320b1bf7d] user: js, branch: asn1, size: 16110 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [236ab0e955] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 16071 [annotate] [blame] [check-ins using] [diff]
2023-09-13
22:00
-[OFData initWithContentsOfIRI:]: Fix memory leak file: [33c2057892] check-in: [082c0f8d0f] user: js, branch: trunk, size: 16071 [annotate] [blame] [check-ins using] [diff]
2023-08-22
16:16
Don't require a regular file to init an object file: [753e5c551b] check-in: [8471999204] user: js, branch: trunk, size: 16057 [annotate] [blame] [check-ins using] [diff]
2023-08-09
11:30
OFData: Ensure init methods return correct class file: [6b96716473] check-in: [f42a4471b9] user: js, branch: trunk, size: 16584 [annotate] [blame] [check-ins using] [diff]
10:09
More consistency in naming of private classes file: [4738b91ed8] check-in: [281b494de4] user: js, branch: trunk, size: 16186 [annotate] [blame] [check-ins using] [diff]
09:08
Add OF_SINGLETON_METHODS file: [f7d95004e7] check-in: [36310f6263] user: js, branch: trunk, size: 16186 [annotate] [blame] [check-ins using] [diff]
08:25
More consistent naming for concrete classes file: [caad88cdae] check-in: [6da6276ae7] user: js, branch: trunk, size: 16164 [annotate] [blame] [check-ins using] [diff]
08:14
Add OFSubdata

This replaces the hack of OFAdjacentData being able to keep a pointer to
the parent. file: [c534072540] check-in: [d1a8c88dc6] user: js, branch: trunk, size: 16164 [annotate] [blame] [check-ins using] [diff]

2023-08-08
15:32
A few minor cleanups file: [466d9af03d] check-in: [a6f520157a] user: js, branch: trunk, size: 16044 [annotate] [blame] [check-ins using] [diff]
09:41
Rename OFConcreteData -> OFAdjacentData file: [daaae842d6] check-in: [f886f21ad5] user: js, branch: trunk, size: 15973 [annotate] [blame] [check-ins using] [diff]
09:36
OFData: Fix a brain fart file: [b2f1d97df1] check-in: [9706b6199d] user: js, branch: trunk, size: 15973 [annotate] [blame] [check-ins using] [diff]
2023-08-07
18:20
Make OFData a class cluster file: [7bf8c0e585] check-in: [91fa20d993] user: js, branch: trunk, size: 15975 [annotate] [blame] [check-ins using] [diff]
2023-04-10
19:22
Remove OFSerialization

While the idea sounds nice that the tag name is the class, this means the
serialization includes whether something is mutable or immutable. This means
doing as much as making something immutable changes the serialization, which
can then cause issues after being deserialized. file: [fedaecf95c] check-in: [6ce0093f8d] user: js, branch: trunk, size: 13201 [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
Update copyright file: [5fe996c5b2] check-in: [8939cbdb52] user: js, branch: trunk, size: 14190 [annotate] [blame] [check-ins using] [diff]
2022-11-24
00:21
Rename OFURI to OFIRI file: [d8b1fa1eb1] check-in: [23272e6d43] user: js, branch: trunk, size: 14190 [annotate] [blame] [check-ins using] [diff]
2022-11-07
00:20
Merge trunk into branch "asn1" file: [7f49d598ed] check-in: [d8ef56254d] user: js, branch: asn1, size: 14229 [annotate] [blame] [check-ins using] [diff]
00:17
Merge trunk into branch "asn1" file: [2ce5037425] check-in: [b37858358e] user: js, branch: asn1, size: 14436 [annotate] [blame] [check-ins using] [diff]
2022-10-20
16:37
-[initWithContentsOfFile:]: Avoid stat call file: [b0fcc38dae] check-in: [93f0d2a78f] user: js, branch: trunk, size: 14190 [annotate] [blame] [check-ins using] [diff]
2022-09-28
21:40
Rename OFUR{L -> I} in preparation for URI support file: [9d8368a480] check-in: [e7ab06503c] user: js, branch: trunk, size: 14148 [annotate] [blame] [check-ins using] [diff]
2022-09-24
15:32
Do not document exceptions that are obvious

Otherwise every second method would need to have
OFInvalidArgumentException documented. file: [f9aa8dca83] check-in: [96e0a91a06] user: js, branch: trunk, size: 14148 [annotate] [blame] [check-ins using] [diff]

2022-09-23
14:01
Rename OFInvalidServer{Reply -> Response}Exception file: [20063078c8] check-in: [60ebc06824] user: js, branch: trunk, size: 14032 [annotate] [blame] [check-ins using] [diff]
2022-08-30
00:48
OFObject: Small API change file: [35cd79313e] check-in: [4ad0c363f3] user: js, branch: trunk, size: 14074 [annotate] [blame] [check-ins using] [diff]
2022-08-11
20:54
OFURLHandler: Add +[openItemAtURL:mode:] file: [d1f758e1e7] check-in: [338d452f33] user: js, branch: trunk, size: 14070 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [b6152aa57a] check-in: [1a86b8175b] user: js, branch: trunk, size: 14397 [annotate] [blame] [check-ins using] [diff]
2021-04-30
21:56
Merge trunk into branch "asn1" file: [64e7bb32f2] check-in: [4507e0bee3] user: js, branch: asn1, size: 14436 [annotate] [blame] [check-ins using] [diff]
2021-04-19
21:54
Rename a few more constants file: [1a9ee2a47d] check-in: [458420998c] user: js, branch: new-naming-convention, size: 14397 [annotate] [blame] [check-ins using] [diff]
2021-04-18
20:51
Rename everything in several smaller files file: [d0e4846ab5] check-in: [35de667566] user: js, branch: new-naming-convention, size: 14401 [annotate] [blame] [check-ins using] [diff]
15:55
Rename all functions in macros.h file: [be1b948012] check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 14406 [annotate] [blame] [check-ins using] [diff]
2021-04-17
22:45
Rename of_(re)alloc and add OFFreeMemory file: [4045525c7b] check-in: [498074dab9] user: js, branch: new-naming-convention, size: 14406 [annotate] [blame] [check-ins using] [diff]
14:13
Always prefix functions with the type file: [1ddf45efe0] check-in: [eb0cfa6ff9] user: js, branch: new-naming-convention, size: 14342 [annotate] [blame] [check-ins using] [diff]
02:29
Rename all types in OFData.h file: [98780c8b8b] check-in: [88ed17ad48] user: js, branch: new-naming-convention, size: 14342 [annotate] [blame] [check-ins using] [diff]
02:10
of_string_encoding_t -> OFStringEncoding file: [e6a5e2a76a] check-in: [255f21fb3d] user: js, branch: new-naming-convention, size: 14329 [annotate] [blame] [check-ins using] [diff]
01:24
OF_NOT_FOUND -> OFNotFound file: [351546f0a3] check-in: [83dc0fe6e5] user: js, branch: new-naming-convention, size: 14353 [annotate] [blame] [check-ins using] [diff]
00:44
of_range_t -> OFRange file: [2dbcaf9024] check-in: [d975c53a43] user: js, branch: new-naming-convention, size: 14357 [annotate] [blame] [check-ins using] [diff]
00:14
of_comparison_result_t -> OFComparisonResult file: [54da306e4c] check-in: [61fc389aee] user: js, branch: new-naming-convention, size: 14350 [annotate] [blame] [check-ins using] [diff]
2021-04-07
22:27
Merge trunk into branch "asn1" file: [565aab28b7] check-in: [88b56f8ce9] user: js, branch: asn1, size: 14403 [annotate] [blame] [check-ins using] [diff]
22:20
Make GCC happy again file: [398b865989] check-in: [96ee4795ad] user: js, branch: trunk, size: 14364 [annotate] [blame] [check-ins using] [diff]
21:18
Merge trunk into 1.0 branch file: [8df6dac3bd] check-in: [36669d22b4] user: js, branch: 1.0, size: 14422 [annotate] [blame] [check-ins using] [diff]
21:14
Rename OFCryptoHash -> OFCryptographicHash file: [526e2e37ba] check-in: [2969086342] user: js, branch: trunk, size: 14461 [annotate] [blame] [check-ins using] [diff]
2021-03-30
21:23
Merge trunk into 1.0 branch file: [d34247ee72] check-in: [564d6d6b6f] user: js, branch: 1.0, size: 14415 [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
*.m: Fold methods into one line where it fits file: [0640a57f3d] check-in: [1b82d3bf4f] user: js, branch: trunk, size: 14454 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [e36b8d42d3] check-in: [374e1a1bfa] user: js, branch: trunk, size: 14661 [annotate] [blame] [check-ins using] [diff]
2020-11-29
04:38
Merge trunk into 1.0 branch file: [86e2a3f40f] check-in: [db2ba76342] user: js, branch: 1.0, size: 14711 [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: [7ddb882b03] check-in: [627511b032] user: js, branch: trunk, size: 14750 [annotate] [blame] [check-ins using] [diff]

2020-11-12
00:45
Merge trunk into 1.0 branch file: [c84ec47cce] check-in: [a1163fb58b] user: js, branch: 1.0, size: 14715 [annotate] [blame] [check-ins using] [diff]
2020-11-06
02:12
OFData: Make parameter order more consistent file: [aa10f00100] check-in: [9d74d1b74e] user: js, branch: trunk, size: 14754 [annotate] [blame] [check-ins using] [diff]
01:11
OF*Data: Avoid -[allocMemoryWithSize:] file: [f4f38100bd] check-in: [1a70abc65d] user: js, branch: trunk, size: 14754 [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: [20a79e42c1] check-in: [0ddaac3f5b] user: js, branch: trunk, size: 14753 [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: [8ada741898] check-in: [3d8286feee] user: js, branch: trunk, size: 14753 [annotate] [blame] [check-ins using] [diff]

23:11
OFData: Fix memory leak file: [e268178a8e] check-in: [4d5b2623c8] user: js, branch: trunk, size: 14765 [annotate] [blame] [check-ins using] [diff]
2020-10-25
23:33
Add of_{malloc,calloc,realloc,free} file: [bf7091f2d8] check-in: [d0ae3bfd6c] user: js, branch: trunk, size: 14703 [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: [fe0918c4c9] check-in: [aeb403a1ed] user: js, branch: trunk, size: 14787 [annotate] [blame] [check-ins using] [diff]

2020-10-04
14:39
Merge trunk into 1.0 branch file: [468c0a34a5] check-in: [a9f08709d2] user: js, branch: 1.0, size: 14743 [annotate] [blame] [check-ins using] [diff]
2020-08-13
22:29
OFData: ASN1DERValue -> objectByParsingASN1DER file: [63de509839] check-in: [e479cef7b3] user: js, branch: trunk, size: 14782 [annotate] [blame] [check-ins using] [diff]
21:12
messagePackValue -> objectByParsingMessagePack file: [40564fad69] check-in: [6cfa8f5c7e] user: js, branch: trunk, size: 14780 [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: [1f025529e1] check-in: [d74f244ab7] user: js, branch: trunk, size: 14778 [annotate] [blame] [check-ins using] [diff]

2020-01-08
02:29
Merge branch 'master' into 1.0 file: [67254f98ad] check-in: [e7e1e1c6c5] user: js, branch: 1.0, size: 14733 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [9637aa54ff] check-in: [c7f0229795] user: js, branch: trunk, size: 14770 [annotate] [blame] [check-ins using] [diff]
2019-09-29
15:22
Remove ASN.1 support as it is still incomplete file: [0c39341785] check-in: [dd2394fc3c] user: js, branch: 1.0, size: 14730 [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
Use dot syntax file: [5a0f1a8428] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 14767 [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
Update copyright file: [fa334deef0] check-in: [0509d7a844] user: js, branch: trunk, size: 14803 [annotate] [blame] [check-ins using] [diff]
2018-10-13
21:40
Initial ASN.1 DER parsing support file: [64ff22bfd0] check-in: [d276166f70] user: js, branch: trunk, size: 14797 [annotate] [blame] [check-ins using] [diff]
21:39
Add -[OFData subdataWithRange:] file: [183d3ab057] check-in: [4075c3beaf] user: js, branch: trunk, size: 14760 [annotate] [blame] [check-ins using] [diff]
2018-04-07
14:13
Add OFSecureData file: [b6b253b742] check-in: [d4d9072480] user: js, branch: trunk, size: 14287 [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: [8d40ffbf81] check-in: [81156ee75a] user: js, branch: trunk, size: 14287 [annotate] [blame] [check-ins using] [diff]

2018-02-16
22:25
Remove OF_UNAVAILABLE from two -[init] methods

These were unavailable in the immutable class, but available in the
mutable subclass. However, Clang 3.4 does not support this. file: [f8e15d9a7d] check-in: [dae363ef82] user: js, branch: trunk, size: 14276 [annotate] [blame] [check-ins using] [diff]

2018-02-15
00:35
OFData: Fix #ifdef file: [b491272801] check-in: [d30dfac8ae] user: js, branch: trunk, size: 14404 [annotate] [blame] [check-ins using] [diff]
2018-01-15
00:34
Add -[writeToURL:] file: [28b1c3f1d0] check-in: [5c08717941] user: js, branch: trunk, size: 14466 [annotate] [blame] [check-ins using] [diff]
2018-01-14
18:25
OFData: Add -[rangeOfData:options:range:] file: [7c051801e0] check-in: [c85b63d2af] user: js, branch: trunk, size: 14087 [annotate] [blame] [check-ins using] [diff]
2018-01-03
20:02
OFData: Fix stream being uninitialized file: [5e3c55fa09] check-in: [87b416fb5a] user: js, branch: trunk, size: 12989 [annotate] [blame] [check-ins using] [diff]
19:49
Update copyright notice file: [5d66d418f0] check-in: [7e5c81e186] user: js, branch: trunk, size: 12922 [annotate] [blame] [check-ins using] [diff]
00:42
-[initWithContentsOfURL:]: Use OFURLHandler file: [9c40edc919] check-in: [99cb9ac6f9] user: js, branch: trunk, size: 12899 [annotate] [blame] [check-ins using] [diff]
2017-11-26
14:29
OFData: Change no copy handling

OFMutableData supports no copy now by just copying anyway and freeing if
required. file: [d98f273881] check-in: [6cf7d6c33e] user: js, branch: trunk, size: 12403 [annotate] [blame] [check-ins using] [diff]

2017-11-19
12:56
Fix compilation with GCC file: [744ee14c6a] check-in: [615a9f2eba] user: js, branch: trunk, size: 12427 [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: [7aeee7380b] check-in: [11f24addd7] user: js, branch: trunk, size: 12433 [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: [995d1dfd33] check-in: [34fe205b84] user: js, branch: trunk, size: 12423 [annotate] [blame] [check-ins using] [diff]

2017-11-11
23:27
Small optimization for -[isEqual:] file: [78d0532385] check-in: [526feacebc] user: js, branch: trunk, size: 12431 [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: [878145eec0] check-in: [b83d1414b1] user: js, branch: trunk, size: 12394 [annotate] [blame] [check-ins using] [diff]

2017-10-22
15:05
Make Apple GCC with -Wshadow happy file: [118e27647e] check-in: [a06354b42a] user: js, branch: trunk, size: 12368 [annotate] [blame] [check-ins using] [diff]
14:09
Make Apple GCC with -Wshadow happy file: [cb311cd255] check-in: [31c0f5b89e] user: js, branch: 0.90, size: 14026 [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: [15a4b9e206] check-in: [2f4e0df8be] user: js, branch: trunk, size: 12374 [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: [74dd1893f5] check-in: [56a18442e2] user: js, branch: trunk, size: 12198 [annotate] [blame] [check-ins using] [diff]

2017-08-13
22:38
Fix -[OFData description] file: [945c020d4d] check-in: [484c7987d2] user: js, branch: trunk, size: 14032 [annotate] [blame] [check-ins using] [diff]
2017-07-24
20:10
OFData: Add casts to make 32 bit Clang happy file: [ab1e932258] check-in: [8da165721c] user: js, branch: trunk, size: 14023 [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: [504d17c5e3] check-in: [23e57c5040] user: js, branch: trunk, size: 13991 [annotate] [blame] [check-ins using] [diff]

20:50
Added: Split OFDataArray into OFData and OFMutableData file: [e5c693e728] check-in: [c8f7b90082] user: js, branch: trunk, size: 13993 [annotate] [blame] [check-ins using]