#607: macruby_main() argv transformation prevents passing arguments to the Ruby
app
---------------------------------+------------------------------------------
Reporter: hongli...@… | Owner: lsansone...@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
---------------------------------+------------------------------------------
I have a MacRuby Cocoa app named FooBar, but I cannot pass any arguments
to the program:
{{{
./build/Debug/FooBar.app/Contents/MacOS/FooBar 0
}}}
I get:
{{{
No such file or directory -- 0 (LoadError)
}}}
It turns out that macruby_main() transforms the argv array incorrectly. At
this time it transforms the original argv into something like this:
{{{
argv[0 .. argc - 1] = original argv values
argv[argc + 0] = -I/path-to-app-dir/(...)/Resources
argv[argc + 1] = main .rb file
}}}
This causes any command line arguments to be recognized as interpreter
arguments, not app arguments. The attached patch changes the
transformation into something like this:
{{{
argv[0] = original value
argv[1] = -I/path-to-app-dir/(...)/Resources
argv[2] = main .rb file
argv[3 .. N] = rest of original argv
}}}
--
Ticket URL: <http://www.macruby.org/trac/ticket/607>
MacRuby <http://macruby.org/>
_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel