@@ -235,28 +235,25 @@ - (OFString *)stringByStandardizingPath { void *pool = objc_autoreleasePoolPush(); OFArray OF_GENERIC(OFString *) *components; OFMutableArray OF_GENERIC(OFString *) *array; - OFString *firstComponent, *ret; - bool done = false, startsWithSlash, endsWithEmpty; + OFString *ret; + bool done = false, startsWithSlash; if ([self length] == 0) return @""; components = [self pathComponents]; if ([components count] == 1) { objc_autoreleasePoolPop(pool); - return self; + return [[self copy] autorelease]; } array = [[components mutableCopy] autorelease]; - firstComponent = [array firstObject]; - startsWithSlash = - ([firstComponent isEqual: @"/"] || [firstComponent length] == 0); - endsWithEmpty = ([[array lastObject] length] == 0); + startsWithSlash = [self hasPrefix: @"/"]; if (startsWithSlash) [array removeObjectAtIndex: 0]; while (!done) { @@ -290,11 +287,11 @@ if (startsWithSlash) [array insertObject: @"" atIndex: 0]; - if (endsWithEmpty) + if ([self hasSuffix: @"/"]) [array addObject: @""]; ret = [[array componentsJoinedByString: @"/"] retain]; objc_autoreleasePoolPop(pool);