diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | process.c | 6 |
2 files changed, 9 insertions, 3 deletions
@@ -1,3 +1,9 @@ +Fri Sep 21 15:46:20 2007 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * process.c (struct rb_exec_arg): proc should be a VALUE. + + * process.c (rb_f_exec): suppress a warning. + Fri Sep 21 03:05:35 2007 Nobuyoshi Nakada <nobu@ruby-lang.org> * eval.c, intern.h, ext/thread/thread.c: should not free queue while @@ -1200,7 +1200,7 @@ struct rb_exec_arg { VALUE prog; }; -static struct rb_exec_arg * +static void proc_prepare_args(e, argc, argv, prog) struct rb_exec_arg *e; int argc; @@ -1222,7 +1222,6 @@ proc_prepare_args(e, argc, argv, prog) e->prog = prog; e->argc = argc; e->argv = argv; - return e; } static VALUE @@ -1290,7 +1289,8 @@ rb_f_exec(argc, argv) argv[0] = RARRAY(tmp)->ptr[1]; SafeStringValue(prog); } - proc_exec_args(proc_prepare_args(&earg, argc, argv, prog)); + proc_prepare_args(&earg, argc, argv, prog); + proc_exec_args((VALUE)&earg); rb_sys_fail(RSTRING(argv[0])->ptr); return Qnil; /* dummy */ } |