diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-04-25 06:35:48 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-04-25 06:35:48 +0000 |
commit | 668d3623a415aa785619c72c0123e458f572861e (patch) | |
tree | 8b3735ecc90c4ad5b0a3620748d02bdd17061351 /process.c | |
parent | 5a25987072ee146a78c5ad6a5f8bdaf2c208345c (diff) | |
download | ruby-668d3623a415aa785619c72c0123e458f572861e.tar.gz ruby-668d3623a415aa785619c72c0123e458f572861e.tar.xz ruby-668d3623a415aa785619c72c0123e458f572861e.zip |
* process.c (rb_spawn): rb_exec_initarg() returns new argc and argv in
earg.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r-- | process.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -2557,6 +2557,8 @@ rb_spawn(int argc, VALUE *argv) status = rb_fork(&status, rb_exec_atfork, &earg, earg.redirect_fds); if (prog && earg.argc) earg.argv[0] = prog; #elif defined HAVE_SPAWNV + argc = earg.argc; + argv = earg.argv; if (!argc) { status = proc_spawn(RSTRING_PTR(prog)); } @@ -2565,6 +2567,8 @@ rb_spawn(int argc, VALUE *argv) } if (prog && argc) argv[0] = prog; #else + argc = earg.argc; + argv = earg.argv; if (prog && argc) argv[0] = prog; if (argc) prog = rb_ary_join(rb_ary_new4(argc, argv), rb_str_new2(" ")); status = system(StringValuePtr(prog)); |