mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Implemented path functions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4580 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
edb2ad2dc9
commit
de84940c66
3 changed files with 96 additions and 12 deletions
|
@ -1,3 +1,8 @@
|
|||
Tue Jul 13 17:08:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||
|
||||
* Source/NSUser.m: Implemented NSStandardApplicationPaths(),
|
||||
NSStandardLibraryPaths(), and GSStandardPathPrefixes().
|
||||
|
||||
Mon Jul 12 5:00:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||
|
||||
* Source/NSString.m: Bugfixes in ([stringByStandardizingPath:])
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
* to use the defaults belonging to the new user.
|
||||
*/
|
||||
extern void GSSetUserName(NSString *name);
|
||||
extern NSArray *GSStandardPathPrefixes(void);
|
||||
#endif
|
||||
extern NSString *NSUserName();
|
||||
extern NSString *NSHomeDirectory();
|
||||
|
|
102
Source/NSUser.m
102
Source/NSUser.m
|
@ -64,7 +64,7 @@ GSSetUserName(NSString* name)
|
|||
* other system-dependent sources if LOGNAME is not set.
|
||||
*/
|
||||
NSString *
|
||||
NSUserName ()
|
||||
NSUserName(void)
|
||||
{
|
||||
if (theUserName == nil)
|
||||
{
|
||||
|
@ -104,14 +104,14 @@ NSUserName ()
|
|||
|
||||
/* Return the caller's home directory as an NSString object. */
|
||||
NSString *
|
||||
NSHomeDirectory ()
|
||||
NSHomeDirectory(void)
|
||||
{
|
||||
return NSHomeDirectoryForUser (NSUserName ());
|
||||
}
|
||||
|
||||
/* Return LOGIN_NAME's home directory as an NSString object. */
|
||||
NSString *
|
||||
NSHomeDirectoryForUser (NSString *login_name)
|
||||
NSHomeDirectoryForUser(NSString *login_name)
|
||||
{
|
||||
#if !defined(__WIN32__)
|
||||
struct passwd *pw;
|
||||
|
@ -144,7 +144,8 @@ NSHomeDirectoryForUser (NSString *login_name)
|
|||
#endif
|
||||
}
|
||||
|
||||
NSString *NSFullUserName(void)
|
||||
NSString *
|
||||
NSFullUserName(void)
|
||||
{
|
||||
#if HAVE_PWD_H
|
||||
struct passwd *pw;
|
||||
|
@ -157,19 +158,95 @@ NSString *NSFullUserName(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
NSArray *NSStandardApplicationPaths(void)
|
||||
NSArray *
|
||||
GSStandardPathPrefixes(void)
|
||||
{
|
||||
NSLog(@"Warning: NSStandardApplicationPaths not implemented\n");
|
||||
return [NSArray array];
|
||||
NSDictionary *env;
|
||||
NSString *prefixes;
|
||||
NSArray *prefixArray;
|
||||
|
||||
env = [[NSProcessInfo processInfo] environment];
|
||||
prefixes = [env objectForKey: @"GNUSTEP_PATHPREFIX_LIST"];
|
||||
if (prefixes)
|
||||
{
|
||||
#if defined(__WIN32__)
|
||||
prefixArray = [prefixes componentsSeparatedByString: @";"];
|
||||
#else
|
||||
prefixArray = [prefixes componentsSeparatedByString: @":"];
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
NSString *strings[3];
|
||||
NSString *str;
|
||||
unsigned count = 0;
|
||||
|
||||
str = [env objectForKey: @"GNUSTEP_USER_ROOT"];
|
||||
if (str != nil)
|
||||
strings[count++] = str;
|
||||
|
||||
str = [env objectForKey: @"GNUSTEP_LOCAL_ROOT"];
|
||||
if (str != nil)
|
||||
strings[count++] = str;
|
||||
|
||||
str = [env objectForKey: @"GNUSTEP_SYSTEM_ROOT"];
|
||||
if (str != nil)
|
||||
strings[count++] = str;
|
||||
|
||||
if (count)
|
||||
prefixArray = [NSArray arrayWithObjects: strings count: count];
|
||||
else
|
||||
prefixArray = [NSArray array];
|
||||
}
|
||||
return prefixArray;
|
||||
}
|
||||
|
||||
NSArray *NSStandardLibraryPaths(void)
|
||||
NSArray *
|
||||
NSStandardApplicationPaths(void)
|
||||
{
|
||||
NSLog(@"Warning: NSStandardLibraryPaths not implemented\n");
|
||||
return [NSArray array];
|
||||
NSArray *prefixArray = GSStandardPathPrefixes();
|
||||
unsigned numPrefixes = [prefixArray count];
|
||||
|
||||
if (numPrefixes > 0)
|
||||
{
|
||||
NSString *paths[numPrefixes];
|
||||
unsigned count;
|
||||
|
||||
[prefixArray getObjects: paths];
|
||||
for (count = 0; count < numPrefixes; count++)
|
||||
{
|
||||
paths[count]
|
||||
= [paths[count] stringByAppendingPathComponent: @"Apps"];
|
||||
}
|
||||
return [NSArray arrayWithObjects: paths count: count];
|
||||
}
|
||||
return prefixArray; /* An empty array */
|
||||
}
|
||||
|
||||
NSString *NSTemporaryDirectory(void)
|
||||
NSArray *
|
||||
NSStandardLibraryPaths(void)
|
||||
{
|
||||
NSArray *prefixArray = GSStandardPathPrefixes();
|
||||
unsigned numPrefixes = [prefixArray count];
|
||||
|
||||
if (numPrefixes > 0)
|
||||
{
|
||||
NSString *paths[numPrefixes];
|
||||
unsigned count;
|
||||
|
||||
[prefixArray getObjects: paths];
|
||||
for (count = 0; count < numPrefixes; count++)
|
||||
{
|
||||
paths[count]
|
||||
= [paths[count] stringByAppendingPathComponent: @"Library"];
|
||||
}
|
||||
return [NSArray arrayWithObjects: paths count: count];
|
||||
}
|
||||
return prefixArray; /* An empty array */
|
||||
}
|
||||
|
||||
NSString *
|
||||
NSTemporaryDirectory(void)
|
||||
{
|
||||
NSFileManager *manager;
|
||||
NSString *tempDirName, *baseTempDirName;
|
||||
|
@ -197,7 +274,8 @@ NSString *NSTemporaryDirectory(void)
|
|||
return tempDirName;
|
||||
}
|
||||
|
||||
NSString *NSOpenStepRootDirectory(void)
|
||||
NSString *
|
||||
NSOpenStepRootDirectory(void)
|
||||
{
|
||||
NSString* root = [[[NSProcessInfo processInfo] environment]
|
||||
objectForKey:@"GNUSTEP_SYSTEM_ROOT"];
|
||||
|
|
Loading…
Reference in a new issue