mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 00:11:26 +00:00
Merged in 1.6.0 branch
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16228 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
c4b26f8afa
commit
5c49ef401a
38 changed files with 812 additions and 295 deletions
|
@ -178,31 +178,70 @@ _gnu_process_args(int argc, char *argv[], char *env[])
|
|||
{
|
||||
free(_gnu_arg_zero);
|
||||
}
|
||||
_gnu_arg_zero = (char*)malloc(strlen(argv[0]) + 1);
|
||||
strcpy(_gnu_arg_zero, argv[0]);
|
||||
|
||||
if (argv != 0)
|
||||
{
|
||||
_gnu_arg_zero = (char*)malloc(strlen(argv[0]) + 1);
|
||||
strcpy(_gnu_arg_zero, argv[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef __MINGW__
|
||||
char *buffer;
|
||||
int buffer_size = 0;
|
||||
int needed_size = 0;
|
||||
|
||||
while (needed_size == buffer_size)
|
||||
{
|
||||
buffer_size = buffer_size + 256;
|
||||
buffer = (char*)malloc(buffer_size);
|
||||
needed_size = GetModuleFileNameA(NULL, buffer, buffer_size);
|
||||
if (needed_size < buffer_size)
|
||||
{
|
||||
_gnu_arg_zero = buffer;
|
||||
}
|
||||
else
|
||||
{
|
||||
free(buffer);
|
||||
}
|
||||
}
|
||||
#else
|
||||
fprintf(stderr, "Error: for some reason, argv == NULL "
|
||||
"during GNUstep base initialization\n");
|
||||
abort();
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Getting the process name */
|
||||
IF_NO_GC(RELEASE(_gnu_processName));
|
||||
_gnu_processName = [[NSString stringWithCString: argv[0]] lastPathComponent];
|
||||
_gnu_processName
|
||||
= [[NSString stringWithCString: _gnu_arg_zero] lastPathComponent];
|
||||
IF_NO_GC(RETAIN(_gnu_processName));
|
||||
|
||||
|
||||
/* Copy the argument list */
|
||||
{
|
||||
NSString *str;
|
||||
NSMutableSet *mySet;
|
||||
id obj_argv[argc];
|
||||
int added = 0;
|
||||
int added = 1;
|
||||
|
||||
mySet = [NSMutableSet new];
|
||||
for (i = 0; i < argc; i++)
|
||||
|
||||
/* Copy the zero'th argument to the argument list */
|
||||
str = [NSString stringWithCString: _gnu_arg_zero];
|
||||
obj_argv[0] = str;
|
||||
|
||||
for (i = 1; i < argc; i++)
|
||||
{
|
||||
NSString *str = [NSString stringWithCString: argv[i]];
|
||||
str = [NSString stringWithCString: argv[i]];
|
||||
|
||||
if ([str hasPrefix: @"--GNU-Debug="])
|
||||
[mySet addObject: [str substringFromIndex: 12]];
|
||||
else
|
||||
obj_argv[added++] = str;
|
||||
}
|
||||
|
||||
IF_NO_GC(RELEASE(_gnu_arguments));
|
||||
_gnu_arguments = [[NSArray alloc] initWithObjects: obj_argv count: added];
|
||||
IF_NO_GC(RELEASE(_debug_set));
|
||||
|
@ -710,6 +749,10 @@ int main(int argc, char *argv[], char *env[])
|
|||
{
|
||||
os = NSBeOperatingSystem;
|
||||
}
|
||||
else if ([n hasPrefix: @"darwin"] == YES)
|
||||
{
|
||||
os = NSMACHOperatingSystem;
|
||||
}
|
||||
else if ([n hasPrefix: @"solaris"] == YES)
|
||||
{
|
||||
os = NSSolarisOperatingSystem;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue