On 05.11.2012 13:26, Luboš Doležel wrote:
--- 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] != '-')

That would result in exactly the same behaviour as your original patch. That's why I used that instead and committed it. (You probably wanted to use OR instead of AND)

Thank you very much
Fred


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

Reply via email to