Index: src/OFString.m ================================================================== --- src/OFString.m +++ src/OFString.m @@ -168,11 +168,11 @@ return length; } static OFString* -standardize_path(OFArray *components, OFString *currentDirectory, +standardizePath(OFArray *components, OFString *currentDirectory, OFString *parentDirectory, OFString *joinString) { void *pool = objc_autoreleasePoolPush(); OFMutableArray *array; OFString *ret; @@ -2197,18 +2197,18 @@ return [ret autorelease]; } - (OFString*)stringByStandardizingPath { - return standardize_path([self pathComponents], + return standardizePath([self pathComponents], OF_PATH_CURRENT_DIRECTORY, OF_PATH_PARENT_DIRECTORY, OF_PATH_DELIMITER_STRING); } - (OFString*)stringByStandardizingURLPath { - return standardize_path( [self componentsSeparatedByString: @"/"], + return standardizePath([self componentsSeparatedByString: @"/"], @".", @"..", @"/"); } - (intmax_t)decimalValue { Index: tests/OFStringTests.m ================================================================== --- tests/OFStringTests.m +++ tests/OFStringTests.m @@ -347,12 +347,17 @@ TEST(@"-[stringByDeletingPathExtension]", [[@"foo.bar" stringByDeletingPathExtension] isEqual: @"foo"] && [[@"foo..bar" stringByDeletingPathExtension] isEqual: @"foo."] && [[@"/foo./bar" stringByDeletingPathExtension] isEqual: @"/foo./bar"] && +#ifndef _WIN32 [[@"/foo./bar.baz" stringByDeletingPathExtension] isEqual: @"/foo./bar"] && +#else + [[@"/foo./bar.baz" stringByDeletingPathExtension] + isEqual: @"\\foo.\\bar"] && +#endif [[@"foo.bar/" stringByDeletingPathExtension] isEqual: @"foo"] && [[@".foo" stringByDeletingPathExtension] isEqual: @".foo"] && [[@".foo.bar" stringByDeletingPathExtension] isEqual: @".foo"]) TEST(@"-[decimalValue]",