ObjFW  Diff

Differences From Artifact [d44a79d5fd]:

To Artifact [6ad29027d7]:


119
120
121
122
123
124
125
126

127
128
129
130
131

132
133

134
135
136


137
138
139
140
141
142
143
119
120
121
122
123
124
125

126
127
128
129
130

131


132



133
134
135
136
137
138
139
140
141







-
+




-
+
-
-
+
-
-
-
+
+







}

- (id)delegate
{
	return [[delegate retain] autorelease];
}

- setDelegate: (OFObject <OFXMLParserDelegate>*)delegate_
- (void)setDelegate: (OFObject <OFXMLParserDelegate>*)delegate_
{
	[delegate_ retain];
	[delegate release];
	delegate = delegate_;

}
	return self;
}


- parseBuffer: (const char*)buf
     withSize: (size_t)size
- (void)parseBuffer: (const char*)buf
	   withSize: (size_t)size
{
	OFAutoreleasePool *pool;
	size_t i, last, len;

	last = 0;

	for (i = 0; i < size; i++) {
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504

505
506
507
508

509

510
511
512
513
514
515
516
483
484
485
486
487
488
489


490
491
492
493
494
495
496
497
498
499

500
501
502
503
504
505

506
507
508
509
510
511
512
513







-
-










-
+




+
-
+







	}

	len = size - last;
	/* In OF_XMLPARSER_IN_TAG, there can be only spaces */
	if (len > 0 && state != OF_XMLPARSER_IN_TAG)
		[cache appendCString: buf + last
			  withLength: len];

	return self;
}

- (OFString*)foundUnknownEntityNamed: (OFString*)entity
{
	return [delegate xmlParser: self
	   foundUnknownEntityNamed: entity];
}
@end

@implementation OFString (OFXMLUnescaping)
- stringByXMLUnescaping
- (OFString*)stringByXMLUnescaping
{
	return [self stringByXMLUnescapingWithHandler: nil];
}

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

	last = 0;
	in_entity = NO;