From 47f8cb609838a350eae46b58121fef040f1fe5ac Mon Sep 17 00:00:00 2001 From: mccallum Date: Sat, 3 May 1997 17:24:31 +0000 Subject: [PATCH] Changes from Scott Christley. See ChangeLog Feb 27 13:46:10 git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2294 72102866-910b-0410-8b05-ffd578937521 --- Headers/gnustep/base/NSRange.h | 2 +- Source/Makefile.in | 2 +- Source/NSBundle.m | 22 +++++++++++++++++++++- Source/NSCharacterSet.m | 4 +--- Source/NSRange.m | 2 +- Source/NSString.m | 6 +++--- configure.in | 3 ++- 7 files changed, 30 insertions(+), 11 deletions(-) diff --git a/Headers/gnustep/base/NSRange.h b/Headers/gnustep/base/NSRange.h index ee68602ab..da89c5cd0 100644 --- a/Headers/gnustep/base/NSRange.h +++ b/Headers/gnustep/base/NSRange.h @@ -58,7 +58,7 @@ NSLocationInRange(unsigned location, NSRange range) /* Create an NSRange having the specified LOCATION and LENGTH. */ extern NSRange -NSMakeRange(float location, float length); +NSMakeRange(unsigned int location, unsigned int length); extern NSRange NSUnionRange(NSRange range1, NSRange range2); diff --git a/Source/Makefile.in b/Source/Makefile.in index 460cf4d7c..d97b7e9a2 100644 --- a/Source/Makefile.in +++ b/Source/Makefile.in @@ -53,7 +53,7 @@ YACC = bison # GNUSTEP_INSTALL_PREFIX must be defined here and not in config.h because # the installing person may set it on the `make' command line. DEFS= -DGNUSTEP_INSTALL_PREFIX=$(prefix) -DPLATFORM_OS=\"@PLATFORM_OS@\" \ - -DGNUSTEP_INSTALL_LIBDIR=$(gnustep_libdir) @DEFS@ + -DGNUSTEP_INSTALL_LIBDIR=\"$(gnustep_libdir)\" @DEFS@ # File name extensions OEXT = .o diff --git a/Source/NSBundle.m b/Source/NSBundle.m index ff3f447a1..d06c65005 100644 --- a/Source/NSBundle.m +++ b/Source/NSBundle.m @@ -112,6 +112,12 @@ static NSString* platform = #else nil; #endif +static NSString* gnustep_libdir = +#ifdef GNUSTEP_INSTALL_LIBDIR + @GNUSTEP_INSTALL_LIBDIR; +#else + nil; +#endif /* Declaration from find_exec.c */ extern char *objc_find_executable(const char *name); @@ -470,6 +476,8 @@ _bundle_load_callback(Class theClass, Category *theCategory)
/Resources//
/
// + / + // */ - (NSArray *) _bundleResourcePathsWithDirectory: (NSString *)bundlePath { @@ -479,7 +487,7 @@ _bundle_load_callback(Class theClass, Category *theCategory) NSMutableArray* array; NSEnumerator* enumerate; - array = [NSMutableArray arrayWithCapacity: 2]; + array = [NSMutableArray arrayWithCapacity: 8]; languages = [NSUserDefaults userLanguages]; primary = [self resourcePath]; @@ -493,6 +501,18 @@ _bundle_load_callback(Class theClass, Category *theCategory) enumerate = [languages objectEnumerator]; while ((language = [enumerate nextObject])) [array addObject: _bundle_resource_path(primary, bundlePath, language)]; + + if (gnustep_libdir) + { + primary = [NSString stringWithCString: [gnustep_libdir cString]]; + [array addObject: _bundle_resource_path(primary, bundlePath, nil)]; + enumerate = [languages objectEnumerator]; + while ((language = [enumerate nextObject])) + [array addObject: + _bundle_resource_path(primary, bundlePath, language)]; + } + + return array; } diff --git a/Source/NSCharacterSet.m b/Source/NSCharacterSet.m index 0262f75c8..342998918 100644 --- a/Source/NSCharacterSet.m +++ b/Source/NSCharacterSet.m @@ -27,9 +27,7 @@ #include #include -#ifndef NSCharacterSet_PATH -#define NSCharacterSet_PATH OBJC_STRINGIFY(GNUSTEP_INSTALL_LIBDIR) @"/NSCharacterSets" -#endif +static NSString* NSCharacterSet_PATH = @"NSCharacterSets"; /* A simple array for caching standard bitmap sets */ #define MAX_STANDARD_SETS 12 diff --git a/Source/NSRange.m b/Source/NSRange.m index 83d5b2526..78a5f294e 100644 --- a/Source/NSRange.m +++ b/Source/NSRange.m @@ -5,7 +5,7 @@ #include NSRange -NSMakeRange(float location, float length) +NSMakeRange(unsigned int location, unsigned int length) { NSRange range; range.location = location; diff --git a/Source/NSString.m b/Source/NSString.m index e6a616b41..23a40a2dc 100644 --- a/Source/NSString.m +++ b/Source/NSString.m @@ -1230,7 +1230,7 @@ handle_printf_atsign (FILE *stream, NSString *newstring; range = [self rangeOfString:@"/" options:NSBackwardsSearch]; - if (range.length != 0 && range.location != [self length] - 1) + if (range.length == 0 && range.location != [self length] - 1) newstring = [self stringByAppendingString:@"/"]; else newstring = self; @@ -1247,8 +1247,8 @@ handle_printf_atsign (FILE *stream, NSRange range; NSString *newstring; - range = [aString rangeOfString:@"." options:NSBackwardsSearch]; - if (range.length != 0 && range.location != [self length] - 1) + range = [self rangeOfString:@"." options:NSBackwardsSearch]; + if ((range.length == 0) && (range.location != ([self length] - 1))) newstring = [self stringByAppendingString:@"."]; else newstring = self; diff --git a/configure.in b/configure.in index 029956af6..eee6795ac 100644 --- a/configure.in +++ b/configure.in @@ -284,7 +284,8 @@ AC_CHECK_LIB(nsl, main) #-------------------------------------------------------------------- # Make a shared library? #-------------------------------------------------------------------- -AC_ARG_ENABLE(shared, Build the library as a shared library, +AC_ARG_ENABLE(shared, +[ --enable-shared Build the library as a shared library], SHARED_LIBRARY='lib$(LIBRARY_NAME).so.$(VERSION)', SHARED_LIBRARY=) AC_SUBST(SHARED_LIBRARY)