ObjFW  Diff

Differences From Artifact [a671740547]:

To Artifact [0e60b78004]:


17
18
19
20
21
22
23

24

25
26
27
28
29
30
31
17
18
19
20
21
22
23
24

25
26
27
28
29
30
31
32







+
-
+







#import "OFAutoreleasePool.h"
#import "OFExceptions.h"
#import "OFMacros.h"

int _OFXMLParser_reference;

static OF_INLINE OFString*
transform_string(OFMutableString *cache,
transform_string(OFString *cache, OFObject <OFXMLUnescapingDelegate> *handler)
    OFObject <OFXMLUnescapingDelegate> *handler)
{
	/* TODO: Support for xml:space */

	[cache removeLeadingAndTrailingWhitespaces];
	return [cache stringByXMLUnescapingWithHandler: handler];
}

503
504
505
506
507
508
509
510

511
512
513
514
515

516
517
518
519
520
521
522
504
505
506
507
508
509
510

511
512
513
514
515

516
517
518
519
520
521
522
523







-
+




-
+







	return [self stringByXMLUnescapingWithHandler: nil];
}

- stringByXMLUnescapingWithHandler: (OFObject <OFXMLUnescapingDelegate>*)h
{
	size_t i, last;
	BOOL in_entity;
	OFString *ret;
	OFMutableString *ret;

	last = 0;
	in_entity = NO;
	ret = [OFMutableString string];
	ret->is_utf8 = is_utf8;
	((OFString*)ret)->is_utf8 = is_utf8;

	for (i = 0; i < length; i++) {
		if (!in_entity && string[i] == '&') {
			[ret appendCStringWithoutUTF8Checking: string + last
						    length: i - last];

			last = i + 1;