From 80429eed638c36baa3574704b1b567aa7acb4fa6 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 27 Feb 2012 01:50:27 +0000 Subject: * io.c, process.c, time.c, ext: use rb_sys_fail_str instead of rb_sys_fail. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- process.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'process.c') diff --git a/process.c b/process.c index 027e4e6ed4..ba7bee19f0 100644 --- a/process.c +++ b/process.c @@ -1798,6 +1798,7 @@ rb_exec_fillarg(VALUE prog, int argc, VALUE *argv, VALUE env, VALUE opthash, str e->argc = argc; e->argv = argv; e->prog = prog ? RSTRING_PTR(prog) : 0; + e->progname = prog; } VALUE @@ -1875,7 +1876,7 @@ rb_f_exec(int argc, VALUE *argv) rb_exec_err(&earg, errmsg, sizeof(errmsg)); if (errmsg[0]) rb_sys_fail(errmsg); - rb_sys_fail(earg.prog); + rb_sys_fail_str(earg.progname); return Qnil; /* dummy */ } @@ -2326,6 +2327,7 @@ rb_run_exec_options_err(const struct rb_exec_arg *e, struct rb_exec_arg *s, char s->prog = NULL; s->options = soptions = hide_obj(rb_ary_new()); s->redirect_fds = Qnil; + s->progname = Qnil; } #ifdef HAVE_SETPGID @@ -3345,8 +3347,8 @@ rb_f_spawn(int argc, VALUE *argv) pid = rb_spawn_process(&earg, rb_exec_arg_prepare(&earg, argc, argv, TRUE), errmsg, sizeof(errmsg)); if (pid == -1) { const char *prog = errmsg; - if (!prog[0] && !(prog = earg.prog) && earg.argc) { - prog = RSTRING_PTR(earg.argv[0]); + if (!prog[0]) { + rb_sys_fail_str(earg.progname); } rb_sys_fail(prog); } -- cgit v1.2.3