@@ -25,11 +25,11 @@ int _OFString_XMLUnescaping_reference; static OF_INLINE OFString * parseNumericEntity(const char *entity, size_t length) { - of_unichar_t c; + OFUnichar c; size_t i; char buffer[5]; if (length == 1 || *entity != '#') return nil; @@ -62,16 +62,15 @@ else return nil; } } - if ((i = of_string_utf8_encode(c, buffer)) == 0) + if ((i = OFUTF8StringEncode(c, buffer)) == 0) return nil; buffer[i] = 0; - return [OFString stringWithUTF8String: buffer - length: i]; + return [OFString stringWithUTF8String: buffer length: i]; } static OFString * parseEntities(OFString *self, id (*lookup)(void *, OFString *, OFString *), void *context) @@ -92,42 +91,40 @@ last = 0; inEntity = false; for (i = 0; i < length; i++) { if (!inEntity && string[i] == '&') { - [ret appendUTF8String: string + last - length: i - last]; - + [ret appendUTF8String: string + last length: i - last]; last = i + 1; inEntity = true; } else if (inEntity && string[i] == ';') { const char *entity = string + last; size_t entityLength = i - last; if (entityLength == 2 && memcmp(entity, "lt", 2) == 0) [ret appendCString: "<" - encoding: OF_STRING_ENCODING_ASCII + encoding: OFStringEncodingASCII length: 1]; else if (entityLength == 2 && memcmp(entity, "gt", 2) == 0) [ret appendCString: ">" - encoding: OF_STRING_ENCODING_ASCII + encoding: OFStringEncodingASCII length: 1]; else if (entityLength == 4 && memcmp(entity, "quot", 4) == 0) [ret appendCString: "\"" - encoding: OF_STRING_ENCODING_ASCII + encoding: OFStringEncodingASCII length: 1]; else if (entityLength == 4 && memcmp(entity, "apos", 4) == 0) [ret appendCString: "'" - encoding: OF_STRING_ENCODING_ASCII + encoding: OFStringEncodingASCII length: 1]; else if (entityLength == 3 && memcmp(entity, "amp", 3) == 0) [ret appendCString: "&" - encoding: OF_STRING_ENCODING_ASCII + encoding: OFStringEncodingASCII length: 1]; else if (entity[0] == '#') { void *pool2; OFString *tmp; @@ -168,13 +165,11 @@ } if (inEntity) @throw [OFInvalidFormatException exception]; - [ret appendUTF8String: string + last - length: i - last]; - + [ret appendUTF8String: string + last length: i - last]; [ret makeImmutable]; objc_autoreleasePoolPop(pool); return ret; @@ -186,19 +181,18 @@ id delegate = context; if (delegate == nil) return nil; - return [delegate string: self - containsUnknownEntityNamed: entity]; + return [delegate string: self containsUnknownEntityNamed: entity]; } #ifdef OF_HAVE_BLOCKS static id lookupUsingBlock(void *context, OFString *self, OFString *entity) { - of_string_xml_unescaping_block_t block = context; + OFStringXMLUnescapingBlock block = context; if (block == NULL) return nil; return block(self, entity); @@ -216,12 +210,11 @@ { return parseEntities(self, lookupUsingDelegate, delegate); } #ifdef OF_HAVE_BLOCKS -- (OFString *)stringByXMLUnescapingWithBlock: - (of_string_xml_unescaping_block_t)block +- (OFString *)stringByXMLUnescapingWithBlock: (OFStringXMLUnescapingBlock)block { return parseEntities(self, lookupUsingBlock, block); } #endif @end