@@ -175,11 +175,11 @@ { self = [super init]; @try { if (UTF8StringLength >= 3 && - !memcmp(UTF8String, "\xEF\xBB\xBF", 3)) { + memcmp(UTF8String, "\xEF\xBB\xBF", 3) == 0) { UTF8String += 3; UTF8StringLength -= 3; } _s = &_storage; @@ -215,11 +215,12 @@ @try { size_t i, j; const of_char16_t *table; if (encoding == OF_STRING_ENCODING_UTF_8 && - cStringLength >= 3 && !memcmp(cString, "\xEF\xBB\xBF", 3)) { + cStringLength >= 3 && + memcmp(cString, "\xEF\xBB\xBF", 3) == 0) { cString += 3; cStringLength -= 3; } _s = &_storage; @@ -344,11 +345,11 @@ @try { size_t UTF8StringLength = strlen(UTF8String); if (UTF8StringLength >= 3 && - !memcmp(UTF8String, "\xEF\xBB\xBF", 3)) { + memcmp(UTF8String, "\xEF\xBB\xBF", 3) == 0) { UTF8String += 3; UTF8StringLength -= 3; } _s = &_storage; @@ -730,11 +731,11 @@ [otherString isKindOfClass: [OFMutableString_UTF8 class]]) && _s->hashed && otherString->_s->hashed && _s->hash != otherString->_s->hash) return false; - if (strcmp(_s->cString, [otherString UTF8String])) + if (strcmp(_s->cString, [otherString UTF8String]) != 0) return false; return true; } @@ -950,12 +951,12 @@ if (cStringLength > rangeLength) return of_range(OF_NOT_FOUND, 0); if (options & OF_STRING_SEARCH_BACKWARDS) { for (i = rangeLength - cStringLength;; i--) { - if (!memcmp(_s->cString + rangeLocation + i, cString, - cStringLength)) { + if (memcmp(_s->cString + rangeLocation + i, cString, + cStringLength) == 0) { range.location += of_string_utf8_get_index( _s->cString + rangeLocation, i); range.length = [string length]; return range; @@ -965,12 +966,12 @@ if (i == 0) return of_range(OF_NOT_FOUND, 0); } } else { for (i = 0; i <= rangeLength - cStringLength; i++) { - if (!memcmp(_s->cString + rangeLocation + i, cString, - cStringLength)) { + if (memcmp(_s->cString + rangeLocation + i, cString, + cStringLength) == 0) { range.location += of_string_utf8_get_index( _s->cString + rangeLocation, i); range.length = [string length]; return range; @@ -991,11 +992,11 @@ if (cStringLength > _s->cStringLength) return false; for (i = 0; i <= _s->cStringLength - cStringLength; i++) - if (!memcmp(_s->cString + i, cString, cStringLength)) + if (memcmp(_s->cString + i, cString, cStringLength) == 0) return true; return false; } @@ -1023,22 +1024,22 @@ size_t cStringLength = [prefix UTF8StringLength]; if (cStringLength > _s->cStringLength) return false; - return !memcmp(_s->cString, [prefix UTF8String], cStringLength); + return (memcmp(_s->cString, [prefix UTF8String], cStringLength) == 0); } - (bool)hasSuffix: (OFString*)suffix { size_t cStringLength = [suffix UTF8StringLength]; if (cStringLength > _s->cStringLength) return false; - return !memcmp(_s->cString + (_s->cStringLength - cStringLength), - [suffix UTF8String], cStringLength); + return (memcmp(_s->cString + (_s->cStringLength - cStringLength), + [suffix UTF8String], cStringLength) == 0); } - (OFArray*)componentsSeparatedByString: (OFString*)delimiter options: (int)options { @@ -1059,11 +1060,11 @@ return array; } for (i = 0, last = 0; i <= _s->cStringLength - cStringLength; i++) { - if (memcmp(_s->cString + i, cString, cStringLength)) + if (memcmp(_s->cString + i, cString, cStringLength) != 0) continue; component = [OFString stringWithUTF8String: _s->cString + last length: i - last]; if (!skipEmpty || [component length] > 0)