summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--process.c6
2 files changed, 9 insertions, 3 deletions
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 <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
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 */
}