diff --git a/ChangeLog b/ChangeLog index 0800afb9fa..f84417ccf6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Sep 21 15:46:20 2007 Nobuyoshi Nakada + + * 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 * eval.c, intern.h, ext/thread/thread.c: should not free queue while diff --git a/process.c b/process.c index 76d5f9f963..abcddfef91 100644 --- a/process.c +++ b/process.c @@ -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 */ }