@@ -56,10 +56,15 @@ if (app == nil) app = [[self alloc] init]; return app; } + ++ (OFString*)programName +{ + return [app programName]; +} + (OFArray*)arguments { return [app arguments]; } @@ -82,22 +87,28 @@ andArgumentValues: (char**)argv { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; int i; - if (arguments != nil) - [arguments release]; + [progname release]; + [arguments release]; + progname = [[OFString alloc] initWithCString: argv[0]]; arguments = [[OFMutableArray alloc] init]; - for (i = 0; i < argc; i++) + for (i = 1; i < argc; i++) [arguments addObject: [OFString stringWithCString: argv[i]]]; [pool release]; return self; } + +- (OFString*)programName +{ + return [[progname retain] autorelease]; +} - (OFArray*)arguments { return [[arguments retain] autorelease]; }