--- NSApplication.m.orig  2012-11-04 19:00:00.934920184 +0100
+++ NSApplication.m 2012-11-04 19:02:57.022792994 +0100
@@ -4121,6 +4121,9 @@
[en nextObject]; // skip the first element, which is always empty...
 while((file = [en nextObject]) != nil)
   {
+      if([file length] == 0)
+        continue;
+
     unichar c = [file characterAtIndex: 0];
     if(c != '-')
{

Surely this is the incorrect behaviour, as it will cause off-by-one
errors for the subsequent arguments.  Instead, it's surely correct to
report the existence of an empty argument correctly.

Tom Davie

No, it won't break subsequent arguments; the parsing performed in NSProcessInfo is not affected by this. The only problem is the characterAtIndex:0 call.

If you suggest that empty arguments should be treated and passed on as files, then the fix could look like this:

if ([file length] > 0 && [file characterAtIndex: 0] != '-')

--
Luboš Doležel


_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to