@@ -777,16 +777,11 @@ free(s->freeWhenDone); [super dealloc]; } -- (const char*)UTF8String -{ - return s->cString; -} - -- (const char*)cStringWithEncoding: (of_string_encoding_t)encoding +- (const char*)cStringUsingEncoding: (of_string_encoding_t)encoding { switch (encoding) { case OF_STRING_ENCODING_UTF_8: return s->cString; case OF_STRING_ENCODING_ASCII: @@ -794,27 +789,25 @@ @throw [OFInvalidEncodingException exceptionWithClass: [self class]]; return s->cString; default: - @throw [OFNotImplementedException - exceptionWithClass: [self class] - selector: _cmd]; + return [super cStringUsingEncoding: encoding]; } } + +- (const char*)UTF8String +{ + return s->cString; +} - (size_t)length { return s->length; } -- (size_t)UTF8StringLength -{ - return s->cStringLength; -} - -- (size_t)cStringLengthWithEncoding: (of_string_encoding_t)encoding +- (size_t)lengthOfBytesUsingEncoding: (of_string_encoding_t)encoding { switch (encoding) { case OF_STRING_ENCODING_UTF_8: return s->cStringLength; case OF_STRING_ENCODING_ASCII: @@ -822,15 +815,18 @@ @throw [OFInvalidEncodingException exceptionWithClass: [self class]]; return s->cStringLength; default: - @throw [OFNotImplementedException - exceptionWithClass: [self class] - selector: _cmd]; + return [super lengthOfBytesUsingEncoding: encoding]; } } + +- (size_t)UTF8StringLength +{ + return s->cStringLength; +} - (BOOL)isEqual: (id)object { OFString_UTF8 *otherString;