Index: src/platform/AmigaOS/OFString+PathAdditions.m ================================================================== --- src/platform/AmigaOS/OFString+PathAdditions.m +++ src/platform/AmigaOS/OFString+PathAdditions.m @@ -253,10 +253,13 @@ return [ret autorelease]; } - (OFString *)stringByAppendingPathComponent: (OFString *)component { + if (self.length == 0) + return component; + if ([self hasSuffix: @"/"] || [self hasSuffix: @":"]) return [self stringByAppendingString: component]; else { OFMutableString *ret = [[self mutableCopy] autorelease]; Index: src/platform/POSIX/OFString+PathAdditions.m ================================================================== --- src/platform/POSIX/OFString+PathAdditions.m +++ src/platform/POSIX/OFString+PathAdditions.m @@ -298,10 +298,13 @@ return [ret autorelease]; } - (OFString *)stringByAppendingPathComponent: (OFString *)component { + if (self.length == 0) + return component; + if ([self hasSuffix: @"/"]) return [self stringByAppendingString: component]; else { OFMutableString *ret = [[self mutableCopy] autorelease]; Index: src/platform/Windows/OFString+PathAdditions.m ================================================================== --- src/platform/Windows/OFString+PathAdditions.m +++ src/platform/Windows/OFString+PathAdditions.m @@ -303,10 +303,13 @@ return [ret autorelease]; } - (OFString *)stringByAppendingPathComponent: (OFString *)component { + if (self.length == 0) + return component; + if ([self hasSuffix: @"\\"] || [self hasSuffix: @"/"]) return [self stringByAppendingString: component]; else { OFMutableString *ret = [[self mutableCopy] autorelease]; Index: src/platform/libfat/OFString+PathAdditions.m ================================================================== --- src/platform/libfat/OFString+PathAdditions.m +++ src/platform/libfat/OFString+PathAdditions.m @@ -299,10 +299,13 @@ return [ret autorelease]; } - (OFString *)stringByAppendingPathComponent: (OFString *)component { + if (self.length == 0) + return component; + if ([self hasSuffix: @"/"]) return [self stringByAppendingString: component]; else { OFMutableString *ret = [[self mutableCopy] autorelease];