From 96d39e79bcf6b7d1788b3e8a4bdd282c022da2a2 Mon Sep 17 00:00:00 2001 From: Richard Frith-MacDonald Date: Sun, 26 Jun 2016 12:04:23 +0000 Subject: [PATCH] If we don't have a home directory, we can't expand a '~' in a path. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39926 72102866-910b-0410-8b05-ffd578937521 --- Source/NSString.m | 8 ++++---- Tests/base/NSString/test02.m | 7 +++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Source/NSString.m b/Source/NSString.m index c72748a33..0ac362d4c 100644 --- a/Source/NSString.m +++ b/Source/NSString.m @@ -4659,8 +4659,8 @@ static NSFileManager *fm = nil; } firstSlashRange = [self rangeOfCharacterFromSet: pathSeps() - options: NSLiteralSearch - range: ((NSRange){0, length})]; + options: NSLiteralSearch + range: ((NSRange){0, length})]; if (firstSlashRange.length == 0) { firstSlashRange.location = length; @@ -4692,12 +4692,12 @@ static NSFileManager *fm = nil; firstSlashRange.location = [self length]; } uname = [self substringWithRange: ((NSRange){1, userNameLen})]; - homedir = NSHomeDirectoryForUser (uname); + homedir = NSHomeDirectoryForUser(uname); } else { /* It is of the form `~/blah/...' or is '~' */ - homedir = NSHomeDirectory (); + homedir = NSHomeDirectory(); } if (homedir != nil) diff --git a/Tests/base/NSString/test02.m b/Tests/base/NSString/test02.m index be179e385..e4551330a 100644 --- a/Tests/base/NSString/test02.m +++ b/Tests/base/NSString/test02.m @@ -319,8 +319,11 @@ NSLog(@"Developer: %@", NSSearchPathForDirectoriesInDomains(NSDeveloperDirectory "foo->bar relative symlink expanded by stringByResolvingSymlinksInPath") #endif - PASS(NO == [[@"~" stringByResolvingSymlinksInPath] isEqual: @"~"], - "tilde is expanded by stringByResolvingSymlinksInPath") + if (NSHomeDirectory() != nil) + { + PASS(NO == [[@"~" stringByResolvingSymlinksInPath] isEqual: @"~"], + "tilde is expanded by stringByResolvingSymlinksInPath") + } [fm changeCurrentDirectoryPath: cwd]; [fm removeFileAtPath: tmpdst handler: nil];