ObjFW  History of src/OFXMLElement.m of 374e1a1bfa30d767

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

2024-04-03
02:16
Change license to LGPLv3 only file: [f201f9c925] check-in: [7413a728a7] user: js, branch: trunk, size: 20916 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [a352f57a0b] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 20708 [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: [b73068b828] check-in: [6ce0093f8d] user: js, branch: trunk, size: 20708 [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
Update copyright file: [c4955d77b3] check-in: [8939cbdb52] user: js, branch: trunk, size: 25412 [annotate] [blame] [check-ins using] [diff]
2022-11-16
01:27
Add OFAssert()

This uses the same format as OFEnsure(). file: [f2bc65b077] check-in: [c86b8f10f0] user: js, branch: trunk, size: 25412 [annotate] [blame] [check-ins using] [diff]

2022-09-04
13:17
OFXMLElement: Remove defaultNamespace property file: [ada192cadd] check-in: [eed200181b] user: js, branch: trunk, size: 25431 [annotate] [blame] [check-ins using] [diff]
2022-08-29
21:27
OFXMLElement: Add designated initializer file: [19e272e9d6] check-in: [d127feb58b] user: js, branch: trunk, size: 26639 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [5df92b5be9] check-in: [1a86b8175b] user: js, branch: trunk, size: 25658 [annotate] [blame] [check-ins using] [diff]
2021-04-19
21:54
Rename a few more constants file: [7a0a61d375] check-in: [458420998c] user: js, branch: new-naming-convention, size: 25658 [annotate] [blame] [check-ins using] [diff]
2021-04-18
15:55
Rename all functions in macros.h file: [75b5d65456] check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 25680 [annotate] [blame] [check-ins using] [diff]
2021-04-17
22:45
Rename of_(re)alloc and add OFFreeMemory file: [5a3f8e4ead] check-in: [498074dab9] user: js, branch: new-naming-convention, size: 25689 [annotate] [blame] [check-ins using] [diff]
2021-04-08
01:56
Rename +[elementBuilder] -> +[builder] file: [a994859558] check-in: [a9711fd17a] user: js, branch: trunk, size: 25656 [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
*.m: Fold methods into one line where it fits file: [fe5473696c] check-in: [1b82d3bf4f] user: js, branch: trunk, size: 25670 [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: [96ecc2faed] check-in: [a0fd103a0b] user: js, branch: trunk, size: 25761 [annotate] [blame] [check-ins using] [diff]

2021-01-02
22:04
Update copyright file: [c1c758c150] check-in: [374e1a1bfa] user: js, branch: trunk, size: 25768 [annotate] [blame] [check-ins using] [diff]
2020-12-29
13:11
Let OFXMLElement take a stream instead of a file file: [47bfb07248] check-in: [6b21acb1a9] user: js, branch: trunk, size: 25857 [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: [c47060e7f9] check-in: [627511b032] user: js, branch: trunk, size: 25876 [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: [d12879cd95] check-in: [0ddaac3f5b] user: js, branch: trunk, size: 25877 [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: [804319c0a1] check-in: [aeb403a1ed] user: js, branch: trunk, size: 26446 [annotate] [blame] [check-ins using] [diff]

2020-06-28
15:03
Use OF_DIRECT(_MEMBERS) where appropriate file: [a8d9602939] check-in: [b6cb3addd0] user: js, branch: trunk, size: 26441 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [5b4791734b] check-in: [c7f0229795] user: js, branch: trunk, size: 26431 [annotate] [blame] [check-ins using] [diff]
2019-06-17
02:33
Remove underscores from class names file: [fc62d55fa3] check-in: [17d57e01ff] user: js, branch: trunk, size: 26428 [annotate] [blame] [check-ins using] [diff]
2019-03-09
10:48
Several minor fixes file: [cbd628ecff] check-in: [c1e949a8c6] user: js, branch: trunk, size: 26464 [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
Use dot syntax file: [5fc577399d] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 26470 [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
Update copyright file: [7faef87abe] check-in: [0509d7a844] user: js, branch: trunk, size: 26640 [annotate] [blame] [check-ins using] [diff]
2018-11-17
22:59
Various minor style improvements file: [cd5a521542] check-in: [b090b5ce92] user: js, branch: trunk, size: 26634 [annotate] [blame] [check-ins using] [diff]
2018-06-16
14:36
OFXML*: Remember delimiter of attributes

This means that if OFXMLParser parsed double-quoted attributes,
OFXMLElement will emit them with double-quotes again. file: [8558828739] check-in: [0ec6f9c1d9] user: js, branch: trunk, size: 26596 [annotate] [blame] [check-ins using] [diff]

14:21
OFXMLElement: Add a few extra type checks file: [0b50609229] check-in: [3af65b5d98] user: js, branch: trunk, size: 26472 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [6014d156f0] check-in: [7e5c81e186] user: js, branch: trunk, size: 26283 [annotate] [blame] [check-ins using] [diff]
2017-11-11
23:27
Small optimization for -[isEqual:] file: [6512447432] check-in: [526feacebc] user: js, branch: trunk, size: 26260 [annotate] [blame] [check-ins using] [diff]
2017-11-04
20:57
-[OFXMLElement setChildren:]: Create mutable copy file: [1630a09e19] check-in: [810e9a1f43] user: js, branch: 0.90, size: 26093 [annotate] [blame] [check-ins using] [diff]
2017-10-29
21:58
Convert methods to properties where appropriate

This improves Swift compatibility. file: [fe80c58b63] check-in: [f3ccf14461] user: js, branch: trunk, size: 26223 [annotate] [blame] [check-ins using] [diff]

2017-10-22
15:05
Make Apple GCC with -Wshadow happy file: [e09b35486d] check-in: [a06354b42a] user: js, branch: trunk, size: 26216 [annotate] [blame] [check-ins using] [diff]
14:09
Make Apple GCC with -Wshadow happy file: [ec0f980efe] check-in: [31c0f5b89e] user: js, branch: 0.90, size: 26086 [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: [ac132aa128] check-in: [2f4e0df8be] user: js, branch: trunk, size: 26232 [annotate] [blame] [check-ins using] [diff]

2017-09-28
23:02
Enable -Wnullable-to-nonnull-conversion and adjust file: [8c36bd33b3] check-in: [2de9660312] user: js, branch: trunk, size: 26222 [annotate] [blame] [check-ins using] [diff]
2017-07-22
20:50
Split OFDataArray into OFData and OFMutableData file: [28440d417d] check-in: [c8f7b90082] user: js, branch: trunk, size: 26102 [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: [5451d232fb] check-in: [6b77a5dd8b] user: js, branch: trunk, size: 26108 [annotate] [blame] [check-ins using] [diff]

2017-05-13
22:38
Reduce retain + autorelease file: [d59ef84b41] check-in: [504e13cf00] user: js, branch: trunk, size: 26108 [annotate] [blame] [check-ins using] [diff]
2017-05-07
23:14
Add OF_UNAVAILABLE file: [54f5f7c2a3] check-in: [16c05e87e1] user: js, branch: trunk, size: 26154 [annotate] [blame] [check-ins using] [diff]
20:10
Small code style change

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

2017-02-04
17:45
Fix typos in comments and strings found by aspell file: [1e9e755319] check-in: [5a31a537a1] user: js, branch: trunk, size: 26022 [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: [42aaf93ae7] check-in: [44f45c2e35] user: js, branch: trunk, size: 26021 [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: [60f205f64c] check-in: [e53a4fd61c] user: js, branch: trunk, size: 26015 [annotate] [blame] [check-ins using] [diff]

2016-05-08
21:08
OFXMLElement: Use more fast enumeration file: [0f84ad0d19] check-in: [a7c6add997] user: js, branch: trunk, size: 26015 [annotate] [blame] [check-ins using] [diff]
2016-02-21
15:37
Make use of C99-style for loops file: [09fc7f39d0] check-in: [e0b9167693] user: js, branch: trunk, size: 26393 [annotate] [blame] [check-ins using] [diff]
2016-01-03
01:14
Make more use of fast enumeration file: [1b3b42ec8f] check-in: [cb0fd980f9] user: js, branch: trunk, size: 26367 [annotate] [blame] [check-ins using] [diff]
00:43
Update copyright

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

00:41
Update copyright

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

2015-11-29
14:20
Clean up optional protocols

Now that we can require GCC >= 4.6, we no longer need to have a category
on OFObject that adds the optional protocol to it. file: [0e6e8212ad] check-in: [ba62f00fac] user: js, branch: trunk, size: 27007 [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: [767015e338] check-in: [6b13727ce0] user: js, branch: trunk, size: 26973 [annotate] [blame] [check-ins using] [diff]

11:43
Make properties a requirement and clean up code

This increases the required GCC version from 4.0 to 4.6 (exception:
Apple GCC, which already supports this with >= 4.0 starting with OS X
10.5). Since even GCC 4.6 is really old by now, there is no point in
still supporting something even older and making the code ugly because
of that. While some hardware and OS support was dropped from GCC 4.6
compared to GCC 4.0, there is nothing in there that would be an
interesting target with the exception of BeOS maybe - but a port to BeOS
can also be achieved using the Haiku support. The other dropped OSes are
mostly old versions of OSes while newer ones are still being supported
(and those newer versions of those OSes still support the same
hardware). file: [1f70933951] check-in: [48980f2297] user: js, branch: trunk, size: 27300 [annotate] [blame] [check-ins using] [diff]

2015-06-12
23:59
Add support for and use the new ObjC generics file: [b449554094] check-in: [5329fe7c1a] user: js, branch: trunk, size: 27661 [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
Update copyright file: [122abe4075] check-in: [cfd374b906] user: js, branch: trunk, size: 27371 [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: [580c49cc96] check-in: [13ee56edf3] user: js, branch: trunk, size: 27365 [annotate] [blame] [check-ins using] [diff]

2014-06-16
15:06
Make return type of -[OFArray objects] const

After all, this might (and does for OFArray_adjacent!) return an
internal representation that must not be changed, so changes should be
prevented at compile-time. file: [9625f21669] check-in: [68d32a92c1] user: js, branch: trunk, size: 27409 [annotate] [blame] [check-ins using] [diff]

2014-05-15
04:07
Don't return void expressions file: [e9f05c1971] check-in: [3c7bf2e50c] user: js, branch: trunk, size: 27343 [annotate] [blame] [check-ins using] [diff]
2014-01-09
00:01
Add --disable-files configure flag. file: [424885b85a] check-in: [f89edd8ed9] user: js, branch: trunk, size: 27335 [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
Update copyright. file: [4ce9442a10] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 27279 [annotate] [blame] [check-ins using] [diff]
2013-11-23
01:12
Add OF_INVALID_INIT_METHOD. file: [053784140f] check-in: [35dafd5c57] user: js, branch: trunk, size: 27273 [annotate] [blame] [check-ins using] [diff]
2013-06-23
21:52
Add a few casts to make GCC happy.

Also adds a few imports and removes unused code. file: [48732d84ce] check-in: [6192726d32] user: js, branch: trunk, size: 27361 [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: [29fe39b5ac] check-in: [3d16a30f41] user: js, branch: trunk, size: 27419 [annotate] [blame] [check-ins using] [diff]

2013-06-16
20:03
Split OFUnboundNamespaceException.

OFUnboundNamespaceException is now only used when the namespace is not
bound. If the prefix is not bound, OFUnboundPrefixException is used now. file: [5660c1a7c6] check-in: [457e0e82af] user: js, branch: trunk, size: 28405 [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: [a91eb986c2] check-in: [c5ef582958] user: js, branch: trunk, size: 28380 [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
Prefix all ivars with an underscore. file: [177671f0ee] check-in: [e40729d406] user: js, branch: trunk, size: 28342 [annotate] [blame] [check-ins using] [diff]
18:14
OFXMLElement: Retain + autorelease attributes.

-[attributeForName:(namespace:)] now returns the attribute retained and
autoreleased instead of returning an inner pointer. file: [5e664c8a15] check-in: [40f7e8bd2e] user: js, branch: trunk, size: 27867 [annotate] [blame] [check-ins using] [diff]

2013-02-05
22:24
Move abort() to make old GCCs happy. file: [f052993408] check-in: [737a82e1a4] user: js, branch: trunk, size: 27821 [annotate] [blame] [check-ins using] [diff]
2013-01-23
21:52
Never compare to @"", use length instead. file: [da574fc59a] check-in: [ea4a43461c] user: js, branch: trunk, size: 27821 [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
Update copyright. file: [e07bcbe98a] check-in: [813c00ccf0] user: js, branch: trunk, size: 27839 [annotate] [blame] [check-ins using] [diff]
2012-12-22
15:37
Add -[doesNotRecognizeSelector:]. file: [5487d3f056] check-in: [917ce5754c] user: js, branch: trunk, size: 27833 [annotate] [blame] [check-ins using] [diff]
2012-12-15
17:52
OFDataArray: Improve API. file: [16ca049b3f] check-in: [c85ff8d35a] user: js, branch: trunk, size: 27864 [annotate] [blame] [check-ins using] [diff]
2012-12-06
16:38
OFXMLElement: Add a few new methods. file: [177c46b1d0] check-in: [961f0da8a1] user: js, branch: trunk, size: 27878 [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
Make use of instancetype. file: [b32bd298a6] check-in: [fb515e8e24] user: js, branch: trunk, size: 26292 [annotate] [blame] [check-ins using] [diff]
2012-09-16
15:27
Prefix all private methods with OF_. file: [914801392e] check-in: [c137da5e5b] user: js, branch: trunk, size: 26180 [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: [01c2a13f7b] check-in: [1255f3a11a] user: js, branch: trunk, size: 26203 [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
Don't access isa directly. file: [103672a799] check-in: [8892ae9fcc] user: js, branch: trunk, size: 26278 [annotate] [blame] [check-ins using] [diff]
2012-06-10
13:28
More API improvements. file: [dff10de86f] check-in: [11d3d69a22] user: js, branch: trunk, size: 26115 [annotate] [blame] [check-ins using] [diff]
2012-06-06
13:09
Rework OFDataArray API.

Also adds more checks. file: [23e15b2038] check-in: [d5ddb2cb48] user: js, branch: trunk, size: 26150 [annotate] [blame] [check-ins using] [diff]

2012-03-21
17:51
Always pass a char for copy to objc_setProperty(). file: [05fab1ecc3] check-in: [3a983475bc] user: js, branch: trunk, size: 26146 [annotate] [blame] [check-ins using] [diff]
2012-03-12
11:54
OFArray: +[arrayWithCArray:length:] -> +[arrayWithObjects:count:].

This is required for the new array literals. file: [5e22d1f74a] check-in: [008be86a16] user: js, branch: trunk, size: 26175 [annotate] [blame] [check-ins using] [diff]

2012-02-01
13:42
Clean up the properties mess. file: [2c9333bc62] check-in: [c1b35e1495] user: js, branch: trunk, size: 26087 [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
Update copyright. file: [b538f7a7d9] check-in: [ce70e17b38] user: js, branch: trunk, size: 26162 [annotate] [blame] [check-ins using] [diff]
2011-12-13
14:54
Add some sanity checks to -[OFXMLElement initWithSerialization:]. file: [adc9e6f9aa] check-in: [9b5a35bd98] user: js, branch: trunk, size: 26156 [annotate] [blame] [check-ins using] [diff]
2011-12-12
13:32
Improve serialization of OFXMLElement.

It does not store the namespaces for the prefixes "xml" and "xmlns"
anymore. file: [7304a0b96d] check-in: [0a083111c7] user: js, branch: trunk, size: 24730 [annotate] [blame] [check-ins using] [diff]

2011-10-04
13:14
Split OFXMLElement into OFXML{Element,Characters,CDATA,Comment}. file: [d295443a31] check-in: [03f14bf019] user: js, branch: trunk, size: 24170 [annotate] [blame] [check-ins using] [diff]
2011-09-28
00:05
Add OFXMLNode as a common base class for OFXMLElement & OFXMLAttribute. file: [1474c4b15e] check-in: [96c3df8f67] user: js, branch: trunk, size: 27739 [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: [9e3650faaf] check-in: [e1e7ffa903] user: js, branch: trunk, size: 28103 [annotate] [blame] [check-ins using] [diff]

2011-09-18
20:52
Fix a typo. file: [cc9da6f502] check-in: [e5cfcebae5] user: js, branch: trunk, size: 27960 [annotate] [blame] [check-ins using] [diff]
18:55
Check for nil arguments in -[OFXMLElement initWith*:]. file: [476144c78b] check-in: [196699e35c] user: js, branch: trunk, size: 27953 [annotate] [blame] [check-ins using] [diff]
2011-09-17
19:18
Make hashes independant of endianess in OF{Float,Double}{Vector,Matrix}.

Also removes unnecessary OF_HASH_ADD_INT* macros (except
OF_HASH_ADD_INT32 which was often used to hash hashes and is now called
OF_HASH_ADD_HASH). file: [8a9ce6afef] check-in: [f3db074478] user: js, branch: trunk, size: 27302 [annotate] [blame] [check-ins using] [diff]

2011-09-12
19:57
Rename -[cString] to -[UTF8String]. file: [567535af96] check-in: [e6fd39d11e] user: js, branch: trunk, size: 27311 [annotate] [blame] [check-ins using] [diff]
2011-09-10
23:54
Make use of the fact that -[retain] and -[release] must not throw. file: [67c5a15992] check-in: [3687c35784] user: js, branch: trunk, size: 27197 [annotate] [blame] [check-ins using] [diff]
22:27
Add -[removeChild:] to OFXMLElement. file: [ddafe5133c] check-in: [4369d4c8fb] user: js, branch: trunk, size: 27381 [annotate] [blame] [check-ins using] [diff]
22:17
Add -[setName:] and -[setNamespace:] to OFXMLElement. file: [3000b0638d] check-in: [2473176537] user: js, branch: trunk, size: 27197 [annotate] [blame] [check-ins using] [diff]
2011-09-09
13:35
[pool release] can never throw by convention now. file: [77eb90df4f] check-in: [798d9e6320] user: js, branch: trunk, size: 26844 [annotate] [blame] [check-ins using] [diff]
2011-09-06
11:42
Fix handling of nested namespaces in OFXMLElement. file: [dc999e1b97] check-in: [55599756ab] user: js, branch: 0.5, size: 19763 [annotate] [blame] [check-ins using] [diff]
11:18
Fix handling of nested namespaces in OFXMLElement. file: [213562d5f6] check-in: [0082e20b04] user: js, branch: trunk, size: 26871 [annotate] [blame] [check-ins using] [diff]
2011-08-07
16:57
Add -[makeImmutable] to all mutable classes and use it. file: [99bfc17297] check-in: [927dbf6e7d] user: js, branch: trunk, size: 26718 [annotate] [blame] [check-ins using] [diff]
2011-08-03
00:30
Make OFArray an abstract class. file: [c5f82626bf] check-in: [a855618045] user: js, branch: trunk, size: 26912 [annotate] [blame] [check-ins using] [diff]
2011-07-28
21:31
Add +[elementWithFile:] to OFXMLElement. file: [c0f22f99a1] check-in: [7d5e2ebb80] user: js, branch: trunk, size: 27816 [annotate] [blame] [check-ins using] [diff]
2011-07-09
13:15
Use OFDataArray instead of OFMutableString in OFXMLElement. file: [62ec69347f] check-in: [a2c6391204] user: js, branch: trunk, size: 26961 [annotate] [blame] [check-ins using] [diff]
2011-06-30
18:33
Add -[hash] to OFXMLElement and OFXMLAttribute. file: [648374ef15] check-in: [0ae2dee38f] user: js, branch: 0.5, size: 19664 [annotate] [blame] [check-ins using] [diff]
18:27
Add -[isEqual:] to OFXMLElement and OFXMLAttribute. file: [b89fa67593] check-in: [05c094a39f] user: js, branch: 0.5, size: 17945 [annotate] [blame] [check-ins using] [diff]
2011-06-28
22:21
Add OFCopying to OFXMLElement. file: [4fc586873f] check-in: [33ac65f8f7] user: js, branch: trunk, size: 27042 [annotate] [blame] [check-ins using] [diff]
01:51
Change serialization format to be way more readable and shorter. file: [4687f4ccbd] check-in: [756bb26c98] user: js, branch: trunk, size: 26985 [annotate] [blame] [check-ins using] [diff]
2011-06-27
23:44
Add -[elements] and -[elementsForNamespace:] to OFXMLElement. file: [de3d68907d] check-in: [9b1baaa39b] user: js, branch: trunk, size: 27295 [annotate] [blame] [check-ins using] [diff]
2011-06-06
16:28
Use memset() for indentation in OFXMLElement. file: [53deb299eb] check-in: [af23d890f1] user: js, branch: trunk, size: 25731 [annotate] [blame] [check-ins using] [diff]
00:46
Don't let a comment prevent indentation and indent comments correctly. file: [e91819cfc0] check-in: [ddc9f8ac04] user: js, branch: trunk, size: 25705 [annotate] [blame] [check-ins using] [diff]
00:35
Don't add unwanted whitespaces to character data on indentation. file: [f4ee2b186f] check-in: [a36135d018] user: js, branch: trunk, size: 25221 [annotate] [blame] [check-ins using] [diff]
00:22
Add -[{decimal,hexadecimal,float,double}Value] to OFXMLElement. file: [c82b6a1f56] check-in: [2447ceff6e] user: js, branch: trunk, size: 25178 [annotate] [blame] [check-ins using] [diff]
2011-06-05
23:59
Add -[XMLStringWithIndentation:] to OFXMLElement. file: [c30a5b5e0c] check-in: [14991e7035] user: js, branch: trunk, size: 24888 [annotate] [blame] [check-ins using] [diff]
22:26
Nicer API for serialization. file: [07cdc30ecf] check-in: [29988c434b] user: js, branch: trunk, size: 24022 [annotate] [blame] [check-ins using] [diff]
19:27
Add OFNull class. file: [3bbec56037] check-in: [183825f113] user: js, branch: trunk, size: 23978 [annotate] [blame] [check-ins using] [diff]
2011-06-04
16:07
Add -[hash] to OFXMLElement and OFXMLAttribute. file: [803113958d] check-in: [a698b98203] user: js, branch: trunk, size: 23977 [annotate] [blame] [check-ins using] [diff]
14:00
Add -[isEqual:] to OFXMLElement and OFXMLAttribute. file: [df26740729] check-in: [cee604408e] user: js, branch: trunk, size: 23468 [annotate] [blame] [check-ins using] [diff]
2011-06-03
15:14
Add deserialization. file: [fa5a63b34f] check-in: [dca3061dfc] user: js, branch: trunk, size: 22356 [annotate] [blame] [check-ins using] [diff]
2011-05-14
20:00
Fix namespace handling in OFXMLElement.

Although it was originally decided not to backport this to 0.5, the
decision was changed due to the fact that the initial assumption that
it might break existing code is only partially true: It will only break
code that already was broken, but it will fix all other code. file: [2e27de79cd] check-in: [21bd46e17a] user: js, branch: 0.5, size: 16988 [annotate] [blame] [check-ins using] [diff]

19:50
Ignore whitespaces around the root element in -[initWithXMLString]. file: [6fd40e1ec7] check-in: [46056b5fa1] user: js, branch: 0.5, size: 17072 [annotate] [blame] [check-ins using] [diff]
19:48
Ignore whitespaces around the root element in -[initWithXMLString]. file: [476d990507] check-in: [12a8ac4cb3] user: js, branch: trunk, size: 20077 [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: [d290a6e873] check-in: [494dca4ae4] user: js, branch: trunk, size: 19916 [annotate] [blame] [check-ins using] [diff]

2011-05-12
18:27
Add version to serialization and add serialization to more classes. file: [dfde4a28b8] check-in: [ace6f683f7] user: js, branch: trunk, size: 18958 [annotate] [blame] [check-ins using] [diff]
13:14
Fix namespace handling in OFXMLElement.
Won't be backported to 0.5 as this might break stuff.
file: [3e52b82e87] check-in: [3ab7ef17f6] user: js, branch: trunk, size: 18036 [annotate] [blame] [check-ins using] [diff]
2011-05-08
22:42
Add serialization for OFURL and OFXMLElement. file: [7b911a3167] check-in: [cb3be92fe6] user: js, branch: trunk, size: 18113 [annotate] [blame] [check-ins using] [diff]
2011-04-25
22:48
Add +[OFXMLElement elementWithElement:]. file: [f7cabbca27] check-in: [34788afdca] user: js, branch: trunk, size: 17802 [annotate] [blame] [check-ins using] [diff]
22:46
Cache the class for exeptions in -[OFXMLElement initWithXMLString:]. file: [7d828168bf] check-in: [3e2b0e7eac] user: js, branch: 0.5, size: 16915 [annotate] [blame] [check-ins using] [diff]
22:46
Cache the class for exeptions in -[OFXMLElement initWithXMLString:]. file: [f692e4e696] check-in: [2e95ed7d11] user: js, branch: trunk, size: 17172 [annotate] [blame] [check-ins using] [diff]
22:39
Fix missing release in OFXMLElement. file: [76eb4c0e35] check-in: [d948114b2a] user: js, branch: 0.5, size: 16897 [annotate] [blame] [check-ins using] [diff]
22:39
Fix missing release in OFXMLElement. file: [d730cca964] check-in: [74d5765c1f] user: js, branch: trunk, size: 17154 [annotate] [blame] [check-ins using] [diff]
2011-04-22
22:46
More style improvements. file: [bc99bd017c] check-in: [c9c78d86d3] user: js, branch: trunk, size: 17125 [annotate] [blame] [check-ins using] [diff]
2011-03-31
12:32
Add -[setChildren:] and -[setStringValue:] to OFXMLElement. file: [1d2471d4ea] check-in: [caef9fbb2e] user: js, branch: trunk, size: 16868 [annotate] [blame] [check-ins using] [diff]
12:14
Add -[stringValue] to OFXMLElement. file: [7f8c49938a] check-in: [4e88d4192d] user: js, branch: trunk, size: 16450 [annotate] [blame] [check-ins using] [diff]
11:55
Rename +[elementWithString:] to +[elementWithXMLString:] for clarity. file: [d71bd6e00b] check-in: [253fe5d154] user: js, branch: trunk, size: 15552 [annotate] [blame] [check-ins using] [diff]
11:45
Rename -[stringValue] to -[XMLString] in OFXMLElement. file: [412f8a284b] check-in: [5c80b8838f] user: js, branch: trunk, size: 15543 [annotate] [blame] [check-ins using] [diff]
11:44
Get rid of useless -[bindDefaultNamespace:] in OFXMLElement. file: [5f27189ab0] check-in: [1824567235] user: js, branch: trunk, size: 15557 [annotate] [blame] [check-ins using] [diff]
02:20
Throw an exception if parsing did not finish in +[elementWithString:]. file: [5b1a6ebbe9] check-in: [566996e9a6] user: js, branch: trunk, size: 15707 [annotate] [blame] [check-ins using] [diff]
00:51
Add -[elementForName] to OFXMLElement. file: [d25bc67d7d] check-in: [00c9e85bdc] user: js, branch: trunk, size: 15557 [annotate] [blame] [check-ins using] [diff]
00:34
Add +[elementWithString:] to OFXMLElement. file: [bc5b58bfe1] check-in: [415449f99b] user: js, branch: trunk, size: 15262 [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
Get rid of OFExceptions.h. file: [dc29860ae0] check-in: [cda44767f4] user: js, branch: trunk, size: 14124 [annotate] [blame] [check-ins using] [diff]
2011-03-23
01:14
Work around GCC bugs. file: [ef950b210d] check-in: [4444a8c246] user: js, branch: trunk, size: 14031 [annotate] [blame] [check-ins using] [diff]
2011-03-21
19:41
Improve namespace handling. file: [14f63e2483] check-in: [5849b5aac8] user: js, branch: trunk, size: 13968 [annotate] [blame] [check-ins using] [diff]
2011-02-26
19:40
Use class swizzling as an optimization. file: [1c6e965299] check-in: [06f539766f] user: js, branch: trunk, size: 13817 [annotate] [blame] [check-ins using] [diff]
2011-02-19
16:08
Add -[elementsForName:namespace:] to OFXMLElement. file: [ebee134ccb] check-in: [8732769f4c] user: js, branch: trunk, size: 13561 [annotate] [blame] [check-ins using] [diff]
15:06
OFXMLElement improvements. file: [4c4b122bc4] check-in: [2086095795] user: js, branch: trunk, size: 12839 [annotate] [blame] [check-ins using] [diff]
2011-02-09
18:23
Add a cast so that some old compilers don't complain. file: [ae14e81241] check-in: [66fbb69b36] user: js, branch: trunk, size: 11724 [annotate] [blame] [check-ins using] [diff]
2011-02-08
12:11
Use xmlns if there is no prefix for the namespace. file: [6f7988f149] check-in: [783ccbbad8] user: js, branch: trunk, size: 11708 [annotate] [blame] [check-ins using] [diff]
2011-01-29
19:16
Use %@ where it is useful. file: [d813f718a7] check-in: [d0eace5cd1] user: js, branch: trunk, size: 11477 [annotate] [blame] [check-ins using] [diff]
19:01
Add of_asprintf and allow %@ in format strings. file: [866cd32b8c] check-in: [4c4608fbba] user: js, branch: trunk, size: 11496 [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
Change license. file: [5cd0b460a8] check-in: [da6b3d26cb] user: js, branch: trunk, size: 11497 [annotate] [blame] [check-ins using] [diff]
2010-12-11
20:13
Add -[description] to OFXMLElement. file: [6d5c2fce48] check-in: [4a8fcc8716] user: js, branch: trunk, size: 11241 [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: [4e57f733e3] check-in: [8a7ca573c4] user: js, branch: trunk, size: 11153 [annotate] [blame] [check-ins using] [diff]
2010-09-08
21:17
Fix Objective C++ compatibility. file: [e59c8082fb] check-in: [9d6716470e] user: js, branch: trunk, size: 10892 [annotate] [blame] [check-ins using] [diff]
2010-07-29
19:32
Comply with section 6.2 of XML namespaces.

More specifically to this:
"The namespace name for an unprefixed attribute name always has no
value." file: [bd82ff1d44] check-in: [ed63c0fdc1] user: js, branch: trunk, size: 10953 [annotate] [blame] [check-ins using] [diff]

2010-07-09
20:45
Add more accessors to OFXMLElement. file: [9558fd2c7e] check-in: [714aad6fba] user: js, branch: trunk, size: 11202 [annotate] [blame] [check-ins using] [diff]
2010-07-08
23:39
Add -[bindPrefix:forNamespace] and -[bindDefaultNamespace:]. file: [a95f7f973f] check-in: [62d6cdadb6] user: js, branch: trunk, size: 10942 [annotate] [blame] [check-ins using] [diff]
19:28
Add special handling for xmlns in OFXMLElement. file: [d9b9a2bb4c] check-in: [8a71128e91] user: js, branch: trunk, size: 10559 [annotate] [blame] [check-ins using] [diff]
2010-07-02
20:56
Add support for CDATA to OFXMLElement. file: [917291b8e9] check-in: [e2499be5c1] user: js, branch: trunk, size: 10506 [annotate] [blame] [check-ins using] [diff]
20:45
Rename +[elementWithText:] to +[elementWithCharacters:]. file: [05eb8e5213] check-in: [4ea5f3f7fd] user: js, branch: trunk, size: 10182 [annotate] [blame] [check-ins using] [diff]
2010-06-13
21:34
Better handling of text and comments in OFXMLElements. file: [9fef639632] check-in: [000706786e] user: js, branch: trunk, size: 10126 [annotate] [blame] [check-ins using] [diff]
16:50
Work around a stupid gcc bug. file: [1d13a2237c] check-in: [8c23ddc0a0] user: js, branch: trunk, size: 10359 [annotate] [blame] [check-ins using] [diff]
15:40
Add +[elementWithText:] and +[elementWithComment:] to OFXMLElement. file: [33f24ec239] check-in: [29384131f7] user: js, branch: trunk, size: 10348 [annotate] [blame] [check-ins using] [diff]
2010-06-12
20:47
Move a few classes and categories so they have their own files. file: [2e589492fa] check-in: [67917b918a] user: js, branch: trunk, size: 8915 [annotate] [blame] [check-ins using] [diff]
2010-06-06
20:04
Support for namespaces in OFXMLElement and OFXMLParser. HUGE diff! file: [62e141f922] check-in: [e8c8d5a894] user: js, branch: trunk, size: 11007 [annotate] [blame] [check-ins using] [diff]
2010-04-30
14:16
Branch for 0.3. file: [8ef4f9d493] check-in: [7c4399b41c] user: js, branch: 0.3, size: 1786 [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: [d6b729bcd1] check-in: [37db8f0fb3] user: js, branch: trunk, size: 6773 [annotate] [blame] [check-ins using] [diff]

15:46
Don't return self where not necessary, return void or something useful. file: [748986426d] check-in: [062a052b50] user: js, branch: trunk, size: 6710 [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: [e6ae9a57dd] check-in: [b91a8283fe] user: js, branch: 0.2, size: 1775 [annotate] [blame] [check-ins using] [diff]

2010-02-19
16:36
Update copyright. file: [a65668b812] check-in: [42886185fd] user: js, branch: trunk, size: 6727 [annotate] [blame] [check-ins using] [diff]
2010-01-30
21:07
Create 0.2 branch and remove unfinished XML stuff from it. file: [8ba8e77a76] check-in: [9a9211e963] user: js, branch: 0.2, size: 1775 [annotate] [blame] [check-ins using] [diff]
2010-01-16
15:05
Reduce dependencies between headers. file: [d1cba33f72] check-in: [1433aef0d0] user: js, branch: trunk, size: 6727 [annotate] [blame] [check-ins using] [diff]
2009-12-21
17:02
Create 0.1 branch and remove unfinished XML stuff from it. file: [e26868cc31] check-in: [b3c14e1dfa] user: js, branch: 0.1, size: 1754 [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
Rename libobjfw to ObjFW. file: [a7741937ca] check-in: [a3cc34b139] user: js, branch: trunk, size: 6686 [annotate] [blame] [check-ins using] [diff]
2009-11-02
14:47
Make use of the recent change to -[initWithCString:encoding:length:]. file: [d918183a6a] check-in: [581164864f] user: js, branch: trunk, size: 6689 [annotate] [blame] [check-ins using] [diff]
2009-10-05
18:56
Rename OFArray's and OFDataArray's -[data] to -[cArray]. file: [5f67a0c8ca] check-in: [2f1933eb24] user: js, branch: trunk, size: 6699 [annotate] [blame] [check-ins using] [diff]
2009-09-01
11:32
Rename -[length] to -[cStringLength] in OFString. file: [5595432660] check-in: [3ed599fe98] user: js, branch: trunk, size: 6647 [annotate] [blame] [check-ins using] [diff]
2009-08-16
13:30
Rather use -[copy] in OFXMLElement as the string could be mutable. file: [cf929b13b9] check-in: [e6570420f3] user: js, branch: trunk, size: 6542 [annotate] [blame] [check-ins using] [diff]
2009-08-12
16:55
New way for handling and storing XML attributes. file: [12bad844a7] check-in: [6f001b8016] user: js, branch: trunk, size: 6548 [annotate] [blame] [check-ins using] [diff]
2009-07-19
16:01
Prevent calling -[init] if parameters are required. file: [f1c60b4b45] check-in: [42e16978dc] user: js, branch: trunk, size: 5257 [annotate] [blame] [check-ins using] [diff]
14:05
Rename andFoo: to foo: in all methods. file: [ffae94dc12] check-in: [4eae61a78f] user: js, branch: trunk, size: 5164 [annotate] [blame] [check-ins using] [diff]
2009-06-30
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: [d97af29834] check-in: [67bb344ba6] user: js, branch: trunk, size: 5168 [annotate] [blame] [check-ins using] [diff]

2009-06-29
12:33
Changes to OFDictionary, OFIterator and OFList - see details.

OFDictionary:
* More optimized way to internally store the data.
* Faster resizing of dictionaries (no rehashing anymore).

OFIterator:
* Return a key/object pair rather than first the key and then the
object.

OFList:
* Support for list objects with a different size so you can have your
own list object structs. file: [8ca104aaaa] check-in: [24ecf55297] user: js, branch: trunk, size: 5161 [annotate] [blame] [check-ins using] [diff]

2009-06-18
18:42
Added: Preliminary OFXMLElement implementation. file: [61f052da6e] check-in: [f9c673f241] user: js, branch: trunk, size: 5085 [annotate] [blame] [check-ins using]