diff --git a/ChangeLog b/ChangeLog index b630c4148..fbcc7eb20 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2001-10-28 Adam Fedor + + * Source/NSFileManager.m (_attributesAtPath:traverseLink:forCopy:): + Make NSLog message into fprintf to avoid recursion. + + * Source/NSUserDefaults.m (pathForUser): Create ~/GNUstep/Library + if it doesn't exist. + 2001-10-26 Adam Fedor * configure (z): Check for gzseek in zlib since older zlibs don't diff --git a/Source/NSFileManager.m b/Source/NSFileManager.m index 01c532e61..081ad3efd 100644 --- a/Source/NSFileManager.m +++ b/Source/NSFileManager.m @@ -2079,7 +2079,8 @@ static int sparc_warn = 0; if (sparc_warn == 0) { sparc_warn = 1; - NSLog(@"WARNING (NSFileManager): Disabling group enums (setgrent, etc) since this crashes gdb on sparc machines"); + /* Can't be NSLog - causes recursion in [NSUser -synchronize] */ + fprintf(stderr, "WARNING (NSFileManager): Disabling group enums (setgrent, etc) since this crashes gdb on sparc machines"); } #endif values[9] = @"UnknownGroup"; diff --git a/Source/NSUserDefaults.m b/Source/NSUserDefaults.m index 409e98fe4..696be5f52 100644 --- a/Source/NSUserDefaults.m +++ b/Source/NSUserDefaults.m @@ -435,6 +435,7 @@ static NSString *pathForUser(NSString *user) NSFileManager *mgr = [NSFileManager defaultManager]; NSString *home; NSString *path; + NSString *libpath; BOOL isDir; home = NSHomeDirectoryForUser(user); @@ -461,6 +462,10 @@ static NSString *pathForUser(NSString *user) NSLog(@"ERROR - '%@' is not a directory!", path); return nil; } + /* Create this path also. The GUI/font cache depends on it being there */ + libpath = [path stringByAppendingPathComponent: @"Library"]; + if ([mgr fileExistsAtPath: libpath isDirectory: &isDir] == NO) + [mgr createDirectoryAtPath: libpath attributes: nil]; path = [path stringByAppendingPathComponent: GNU_UserDefaultsDatabase]; return path; }