From 21301be27736de1daed30bbda95650ab43e981da Mon Sep 17 00:00:00 2001 From: nicola Date: Sat, 17 Mar 2007 00:27:42 +0000 Subject: [PATCH] Fixed [NSBundle bundleForLibrary: @"gnustep-base"]; git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24883 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++++ Source/NSBundle.m | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b2ff2f50d..80459bb3d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-03-17 Nicola Pero + + * Source/NSBundle.m ([+bundleForLibrary:version:]): Fixed looking + up library resource bundle when no version is provided. + 2007-03-16 Richard Frith-Macdonald * Source/unix/NSStream.m: diff --git a/Source/NSBundle.m b/Source/NSBundle.m index a302c5dbe..48abac43e 100644 --- a/Source/NSBundle.m +++ b/Source/NSBundle.m @@ -2273,14 +2273,19 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory) /* Any version will do. */ NSString *versionsPath = [[path stringByAppendingPathComponent: libraryName] stringByAppendingPathComponent: @"Versions"]; + if ([fm fileExistsAtPath: versionsPath isDirectory: &isDir] && isDir) { + /* TODO: Ignore subdirectories. */ NSEnumerator *fileEnumerator = [fm enumeratorAtPath: versionsPath]; NSString *potentialPath; while ((potentialPath = [fileEnumerator nextObject]) != nil) { - potentialPath = [potentialPath stringByAppendingPathComponent: @"Resources"]; + potentialPath = [versionsPath + stringByAppendingPathComponent: + [potentialPath + stringByAppendingPathComponent: @"Resources"]]; if ([fm fileExistsAtPath: potentialPath isDirectory: &isDir] && isDir) { b = [self bundleWithPath: potentialPath];