Indentation changes - only code change is that the third argument of strncmp

should be 12 not 12*sizeof(char)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12118 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
nico 2002-01-16 13:03:45 +00:00
parent 7dcce62bc6
commit 9a6c4e02be

View file

@ -232,46 +232,64 @@ _bundle_name_first_match(NSString* directory, NSString* name)
int len;
if (frameworkClass == Nil)
{
return NO;
}
len = strlen(frameworkClass->name);
if (len > 12 * sizeof(char)
&& !strncmp("NSFramework_", frameworkClass->name, sizeof(char)*12))
&& !strncmp("NSFramework_", frameworkClass->name, 12))
{
NSString *varEnv, *path, *name;
name = [NSString stringWithCString: &frameworkClass->name[12]];
/* varEnv is something like GNUSTEP_LOCAL_ROOT. */
varEnv = [frameworkClass frameworkEnv];
if (varEnv && [varEnv length])
if (varEnv != nil && [varEnv length] > 0)
{
/* I don't think we should be reading it from the
environment directly! */
bundlePath = [[[NSProcessInfo processInfo] environment]
objectForKey: varEnv];
}
/* path is something like ?. */
path = [frameworkClass frameworkPath];
if (path && [path length])
{
if (bundlePath)
{
bundlePath = [bundlePath stringByAppendingPathComponent: path];
else
bundlePath = path;
}
else
bundlePath = [bundlePath
stringByAppendingPathComponent: @"Library/Frameworks"];
{
bundlePath = path;
}
}
else
{
bundlePath = [bundlePath stringByAppendingPathComponent:
@"Library/Frameworks"];
}
bundlePath = [bundlePath stringByAppendingPathComponent:
[NSString stringWithFormat: @"%@.framework", name]];
[NSString stringWithFormat: @"%@.framework",
name]];
bundle = [[NSBundle alloc] initWithPath: bundlePath];
bundle->_bundleType = NSBUNDLE_FRAMEWORK;
bundle->_codeLoaded = YES;
/* frameworkVersion is something like 'A'. */
bundle->_frameworkVersion = RETAIN([frameworkClass frameworkVersion]);
bundle->_bundleClasses = RETAIN([NSMutableArray arrayWithCapacity: 2]);
/* A NULL terminated list of class names - the classes contained
in the framework. */
fmClasses = [frameworkClass frameworkClasses];
while (*fmClasses)
while (*fmClasses != NULL)
{
NSValue *value;
Class class = NSClassFromString(*fmClasses);
@ -342,6 +360,8 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
className = [NSString stringWithCString: theCategory->class_name];
}
NSLog (@"objc bundle load callback for %@", className);
#if LINKER_GETSYMBOL
path = objc_get_symbol_path(theClass, theCategory);
@ -366,7 +386,7 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
libName = [path lastPathComponent];
s = [path stringByDeletingLastPathComponent]; // remove lib name
s = [s stringByDeletingLastPathComponent]; // remove *-*-*-*
s = [s stringByDeletingLastPathComponent]; // remove library-combo
s = [s stringByDeletingLastPathComponent]; // remove system name
s = [s stringByDeletingLastPathComponent]; // remove processor
@ -488,7 +508,9 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
}
#else
if ([NSBundle _addFrameworkFromClass: theClass] == YES)
{
return;
}
bundle = _loadingBundle;
#endif
@ -579,16 +601,19 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
newNumClasses = objc_getClassList(classes, numClasses);
}
for (i = 0; i < numClasses; i++)
{
[NSBundle _addFrameworkFromClass: classes[i]];
}
free(classes);
}
#else
while ((class = objc_next_class(&state)))
{
[NSBundle _addFrameworkFromClass: class];
}
#endif
#if 0
// _bundle_load_callback(class, NULL);
// bundle = (NSBundle *)NSMapGet(_bundles, bundlePath);
objc_close_main_module(handle);
@ -789,7 +814,9 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
_path = [path copy];
if ([[[_path lastPathComponent] pathExtension] isEqual: @"framework"] == YES)
{
_bundleType = (unsigned int)NSBUNDLE_FRAMEWORK;
}
else
{
if (self == _mainBundle)
@ -887,16 +914,25 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
theClass = NSClassFromString(className);
j = [_bundleClasses count];
fprintf (stderr, "Number of classes in bundle: %d\n", j);
for (i = 0; i < j && found == NO; i++)
{
if ([[_bundleClasses objectAtIndex: i]
nonretainedObjectValue] == theClass)
Class c = [[_bundleClasses objectAtIndex: i] nonretainedObjectValue];
fprintf (stderr, "Considering class %s\n", c->name);
if (c == theClass)
{
found = YES;
}
}
if (found == NO)
{
theClass = Nil;
}
}
return theClass;
}
@ -906,7 +942,9 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
NSString* class_name;
if (_principalClass)
{
return _principalClass;
}
class_name = [[self infoDictionary] objectForKey: @"NSPrincipalClass"];
@ -914,18 +952,26 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
{
_codeLoaded = YES;
if (class_name)
{
_principalClass = NSClassFromString(class_name);
}
return _principalClass;
}
if ([self load] == NO)
{
return Nil;
}
if (class_name)
{
_principalClass = NSClassFromString(class_name);
}
else if ([_bundleClasses count])
{
_principalClass = [[_bundleClasses objectAtIndex: 0]
nonretainedObjectValue];
}
return _principalClass;
}
@ -952,9 +998,13 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
return NO;
}
if (_bundleType == NSBUNDLE_FRAMEWORK)
{
path = [_path stringByAppendingPathComponent:@"Versions/Current"];
}
else
{
path = _path;
}
object = bundle_object_name(path, object);
_loadingBundle = self;
_bundleClasses = RETAIN([NSMutableArray arrayWithCapacity: 2]);
@ -973,9 +1023,11 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
classNames = [NSMutableArray arrayWithCapacity: [_bundleClasses count]];
classEnumerator = [_bundleClasses objectEnumerator];
while ((class = [classEnumerator nextObject]))
while ((class = [classEnumerator nextObject]) != nil)
{
[classNames addObject: NSStringFromClass([class
nonretainedObjectValue])];
}
[load_lock unlock];
@ -1270,11 +1322,16 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
version = @"Current";
if (_bundleType == NSBUNDLE_FRAMEWORK)
{
return [_path stringByAppendingPathComponent:
[NSString stringWithFormat:@"Versions/%@/Resources", version]];
[NSString stringWithFormat:@"Versions/%@/Resources",
version]];
}
else
{
return [_path stringByAppendingPathComponent: @"Resources"];
}
}
- (NSDictionary *) infoDictionary
{