@@ -70,15 +70,15 @@ withString: @"/"]; path = [path stringByPrependingString: @"/"]; return path; # elif defined(OF_AMIGAOS) - OFArray OF_GENERIC(OFString *) *components = [path pathComponents]; + OFArray OF_GENERIC(OFString *) *components = path.pathComponents; OFMutableString *ret = [OFMutableString string]; for (OFString *component in components) { - if ([component length] == 0) + if (component.length == 0) continue; if ([component isEqual: @"/"]) [ret appendString: @"/.."]; else { @@ -99,23 +99,23 @@ static OFString * URLPathToPath(OFString *path) { # if defined(OF_WINDOWS) || defined(OF_MSDOS) - path = [path substringWithRange: of_range(1, [path length] - 1)]; + path = [path substringWithRange: of_range(1, path.length - 1)]; path = [path stringByReplacingOccurrencesOfString: @"/" withString: @"\\"]; return path; # elif defined(OF_AMIGAOS) OFMutableArray OF_GENERIC(OFString *) *components; size_t count; - path = [path substringWithRange: of_range(1, [path length] - 1)]; + path = [path substringWithRange: of_range(1, path.length - 1)]; components = [[[path componentsSeparatedByString: @"/"] mutableCopy] autorelease]; - count = [components count]; + count = components.count; for (size_t i = 0; i < count; i++) { OFString *component = [components objectAtIndex: i]; if ([component isEqual: @"."]) { @@ -131,11 +131,11 @@ withObject: @"/"]; } return [OFString pathWithComponents: components]; # elif defined(OF_NINTENDO_3DS) || defined(OF_WII) - return [path substringWithRange: of_range(1, [path length] - 1)]; + return [path substringWithRange: of_range(1, path.length - 1)]; # else return path; # endif } #endif @@ -471,14 +471,14 @@ @try { void *pool = objc_autoreleasePoolPush(); char *tmp, *tmp2; - if ((UTF8String2 = of_strdup([string UTF8String])) == NULL) + if ((UTF8String2 = of_strdup(string.UTF8String)) == NULL) @throw [OFOutOfMemoryException exceptionWithRequestedSize: - [string UTF8StringLength]]; + string.UTF8StringLength]; UTF8String = UTF8String2; if ((tmp = strchr(UTF8String, ':')) == NULL) @throw [OFInvalidFormatException exception]; @@ -540,15 +540,15 @@ _URLEncodedHost = [[OFString alloc] initWithUTF8String: UTF8String]; portString = [OFString stringWithUTF8String: tmp2]; - if ([portString decimalValue] > 65535) + if (portString.decimalValue > 65535) @throw [OFInvalidFormatException exception]; _port = [[OFNumber alloc] initWithUInt16: - (uint16_t)[portString decimalValue]]; + (uint16_t)portString.decimalValue]; } else _URLEncodedHost = [[OFString alloc] initWithUTF8String: UTF8String]; of_url_verify_escaped(_URLEncodedHost, @@ -616,14 +616,14 @@ _URLEncodedHost = [URL->_URLEncodedHost copy]; _port = [URL->_port copy]; _URLEncodedUser = [URL->_URLEncodedUser copy]; _URLEncodedPassword = [URL->_URLEncodedPassword copy]; - if ((UTF8String2 = of_strdup([string UTF8String])) == NULL) + if ((UTF8String2 = of_strdup(string.UTF8String)) == NULL) @throw [OFOutOfMemoryException exceptionWithRequestedSize: - [string UTF8StringLength]]; + string.UTF8StringLength]; UTF8String = UTF8String2; if ((tmp = strchr(UTF8String, '#')) != NULL) { *tmp = '\0'; @@ -667,11 +667,11 @@ if (range.location == OF_NOT_FOUND) @throw [OFInvalidFormatException exception]; range.location++; - range.length = [path length] - range.location; + range.length = path.length - range.location; [path replaceCharactersInRange: range withString: relativePath]; [path makeImmutable]; @@ -732,17 +732,17 @@ self = [super init]; @try { void *pool = objc_autoreleasePoolPush(); - if (![path isAbsolutePath]) { - OFString *currentDirectoryPath = [[OFFileManager - defaultManager] currentDirectoryPath]; + if (!path.absolutePath) { + OFString *currentDirectoryPath = [OFFileManager + defaultManager].currentDirectoryPath; path = [currentDirectoryPath stringByAppendingPathComponent: path]; - path = [path stringByStandardizingPath]; + path = path.stringByStandardizingPath; } path = pathToURLPath(path); if (isDirectory && ![path hasSuffix: @"/"]) @@ -767,15 +767,15 @@ { void *pool = objc_autoreleasePoolPush(); OFString *stringValue; @try { - if (![[element name] isEqual: [self className]] || - ![[element namespace] isEqual: OF_SERIALIZATION_NS]) + if (![element.name isEqual: self.className] || + ![element.namespace isEqual: OF_SERIALIZATION_NS]) @throw [OFInvalidArgumentException exception]; - stringValue = [element stringValue]; + stringValue = element.stringValue; } @catch (id e) { [self release]; @throw e; } @@ -843,37 +843,37 @@ { uint32_t hash; OF_HASH_INIT(hash); - OF_HASH_ADD_HASH(hash, [_URLEncodedScheme hash]); - OF_HASH_ADD_HASH(hash, [_URLEncodedHost hash]); - OF_HASH_ADD_HASH(hash, [_port hash]); - OF_HASH_ADD_HASH(hash, [_URLEncodedUser hash]); - OF_HASH_ADD_HASH(hash, [_URLEncodedPassword hash]); - OF_HASH_ADD_HASH(hash, [_URLEncodedPath hash]); - OF_HASH_ADD_HASH(hash, [_URLEncodedQuery hash]); - OF_HASH_ADD_HASH(hash, [_URLEncodedFragment hash]); + OF_HASH_ADD_HASH(hash, _URLEncodedScheme.hash); + OF_HASH_ADD_HASH(hash, _URLEncodedHost.hash); + OF_HASH_ADD_HASH(hash, _port.hash); + OF_HASH_ADD_HASH(hash, _URLEncodedUser.hash); + OF_HASH_ADD_HASH(hash, _URLEncodedPassword.hash); + OF_HASH_ADD_HASH(hash, _URLEncodedPath.hash); + OF_HASH_ADD_HASH(hash, _URLEncodedQuery.hash); + OF_HASH_ADD_HASH(hash, _URLEncodedFragment.hash); OF_HASH_FINALIZE(hash); return hash; } - (OFString *)scheme { - return [_URLEncodedScheme stringByURLDecoding]; + return _URLEncodedScheme.stringByURLDecoding; } - (OFString *)URLEncodedScheme { return _URLEncodedScheme; } - (OFString *)host { - return [_URLEncodedHost stringByURLDecoding]; + return _URLEncodedHost.stringByURLDecoding; } - (OFString *)URLEncodedHost { return _URLEncodedHost; @@ -884,47 +884,47 @@ return _port; } - (OFString *)user { - return [_URLEncodedUser stringByURLDecoding]; + return _URLEncodedUser.stringByURLDecoding; } - (OFString *)URLEncodedUser { return _URLEncodedUser; } - (OFString *)password { - return [_URLEncodedPassword stringByURLDecoding]; + return _URLEncodedPassword.stringByURLDecoding; } - (OFString *)URLEncodedPassword { return _URLEncodedPassword; } - (OFString *)path { - return [_URLEncodedPath stringByURLDecoding]; + return _URLEncodedPath.stringByURLDecoding; } - (OFString *)URLEncodedPath { return _URLEncodedPath; } - (OFArray *)pathComponents { - return [[self path] componentsSeparatedByString: @"/"]; + return [self.path componentsSeparatedByString: @"/"]; } - (OFString *)lastPathComponent { void *pool = objc_autoreleasePoolPush(); - OFString *path = [self path]; + OFString *path = self.path; const char *UTF8String, *lastComponent; size_t length; OFString *ret; if (path == nil) { @@ -938,15 +938,14 @@ return @""; } if ([path hasSuffix: @"/"]) - path = [path substringWithRange: - of_range(0, [path length] - 1)]; + path = [path substringWithRange: of_range(0, path.length - 1)]; - UTF8String = lastComponent = [path UTF8String]; - length = [path UTF8StringLength]; + UTF8String = lastComponent = path.UTF8String; + length = path.UTF8StringLength; for (size_t i = 1; i <= length; i++) { if (UTF8String[length - i] == '/') { lastComponent = UTF8String + (length - i) + 1; break; @@ -962,21 +961,21 @@ return [ret autorelease]; } - (OFString *)query { - return [_URLEncodedQuery stringByURLDecoding]; + return _URLEncodedQuery.stringByURLDecoding; } - (OFString *)URLEncodedQuery { return _URLEncodedQuery; } - (OFString *)fragment { - return [_URLEncodedFragment stringByURLDecoding]; + return _URLEncodedFragment.stringByURLDecoding; } - (OFString *)URLEncodedFragment { return _URLEncodedFragment; @@ -1053,15 +1052,14 @@ @throw [OFInvalidArgumentException exception]; if (![_URLEncodedPath hasPrefix: @"/"]) @throw [OFInvalidFormatException exception]; - path = [self path]; + path = self.path; if ([path hasSuffix: @"/"]) - path = [path substringWithRange: - of_range(0, [path length] - 1)]; + path = [path substringWithRange: of_range(0, path.length - 1)]; path = URLPathToPath(path); [path retain]; @@ -1076,25 +1074,25 @@ OFMutableURL *ret = [[self mutableCopy] autorelease]; void *pool; OFMutableString *URLEncodedPath; if ([component hasPrefix: @"/"]) { - [ret setPath: component]; + ret.path = component; return ret; } pool = objc_autoreleasePoolPush(); - URLEncodedPath = [[[self URLEncodedPath] mutableCopy] autorelease]; + URLEncodedPath = [[self.URLEncodedPath mutableCopy] autorelease]; if (![URLEncodedPath hasSuffix: @"/"]) [URLEncodedPath appendString: @"/"]; [URLEncodedPath appendString: [component stringByURLEncodingWithAllowedCharacters: [OFCharacterSet URLPathAllowedCharacterSet]]]; - [ret setURLEncodedPath: URLEncodedPath]; + ret.URLEncodedPath = URLEncodedPath; objc_autoreleasePoolPop(pool); return ret; } @@ -1102,16 +1100,16 @@ - (OFURL *)URLByAppendingPathComponent: (OFString *)component { OFMutableURL *ret = [self of_URLByAppendingPathComponent: component]; #ifdef OF_HAVE_FILES - if ([[ret scheme] isEqual: @"file"]) { + if ([ret.scheme isEqual: @"file"]) { void *pool = objc_autoreleasePoolPush(); if ([[OFFileManager defaultManager] directoryExistsAtURL: ret]) - [ret setURLEncodedPath: [[ret URLEncodedPath] - stringByAppendingString: @"/"]]; + ret.URLEncodedPath = + [ret.URLEncodedPath stringByAppendingString: @"/"]; objc_autoreleasePoolPop(pool); } #endif @@ -1126,12 +1124,12 @@ OFMutableURL *ret = [self of_URLByAppendingPathComponent: component]; if (isDirectory) { void *pool = objc_autoreleasePoolPush(); - [ret setURLEncodedPath: - [[ret URLEncodedPath] stringByAppendingString: @"/"]]; + ret.URLEncodedPath = + [ret.URLEncodedPath stringByAppendingString: @"/"]; objc_autoreleasePoolPop(pool); } [ret makeImmutable]; @@ -1150,24 +1148,24 @@ } - (OFString *)description { return [OFString stringWithFormat: @"<%@: %@>", - [self class], [self string]]; + self.class, self.string]; } - (OFXMLElement *)XMLElementBySerializing { void *pool = objc_autoreleasePoolPush(); OFXMLElement *element; - element = [OFXMLElement elementWithName: [self className] + element = [OFXMLElement elementWithName: self.className namespace: OF_SERIALIZATION_NS - stringValue: [self string]]; + stringValue: self.string]; [element retain]; objc_autoreleasePoolPop(pool); return [element autorelease]; } @end