diff --git a/ChangeLog b/ChangeLog index a083cd720c..d81d994df0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Jun 7 20:29:12 2012 Tanaka Akira + + * include/ruby/intern.h: rb_exec_arg and related stuff moved back from + internal.h + Thu Jun 07 15:53:03 2012 Koichi Sasada * .gdbinit: add function `trace_machine_instructions' to trace diff --git a/include/ruby/intern.h b/include/ruby/intern.h index bc6f5da5fa..944c8f4131 100644 --- a/include/ruby/intern.h +++ b/include/ruby/intern.h @@ -588,7 +588,33 @@ VALUE rb_sym_all_symbols(void); /* process.c */ void rb_last_status_set(int status, rb_pid_t pid); VALUE rb_last_status_get(void); +struct rb_exec_arg { + int use_shell; + union { + struct { + VALUE shell_script; + } sh; + struct { + VALUE command_name; + VALUE command_abspath; /* full path string or nil */ + VALUE argv_str; + VALUE argv_buf; + } cmd; + } invoke; + VALUE options; + VALUE redirect_fds; + VALUE envp_str; + VALUE envp_buf; + VALUE dup2_tmpbuf; +}; int rb_proc_exec(const char*); +void rb_exec_arg_init(int argc, VALUE *argv, int accept_shell, struct rb_exec_arg *e); +int rb_exec_arg_addopt(struct rb_exec_arg *e, VALUE key, VALUE val); +void rb_exec_arg_fixup(struct rb_exec_arg *e); +int rb_run_exec_options(const struct rb_exec_arg *e, struct rb_exec_arg *s); +int rb_run_exec_options_err(const struct rb_exec_arg *e, struct rb_exec_arg *s, char*, size_t); +int rb_exec(const struct rb_exec_arg*); +int rb_exec_err(const struct rb_exec_arg*, char*, size_t); rb_pid_t rb_fork(int*, int (*)(void*), void*, VALUE); rb_pid_t rb_fork_err(int*, int (*)(void*, char*, size_t), void*, VALUE, char*, size_t); VALUE rb_f_exec(int,VALUE*); diff --git a/internal.h b/internal.h index 9ef4fba661..48a3a763d5 100644 --- a/internal.h +++ b/internal.h @@ -159,26 +159,6 @@ st_index_t rb_hash_proc(st_index_t hash, VALUE proc); /* process.c */ -struct rb_exec_arg { - int use_shell; - union { - struct { - VALUE shell_script; - } sh; - struct { - VALUE command_name; - VALUE command_abspath; /* full path string or nil */ - VALUE argv_str; - VALUE argv_buf; - } cmd; - } invoke; - VALUE options; - VALUE redirect_fds; - VALUE envp_str; - VALUE envp_buf; - VALUE dup2_tmpbuf; -}; - /* argv_str contains extra two elements. * The beginning one is for /bin/sh used by exec_with_sh. * The last one for terminating NULL used by execve. @@ -186,14 +166,6 @@ struct rb_exec_arg { #define ARGVSTR2ARGC(argv_str) (RSTRING_LEN(argv_str) / sizeof(char *) - 2) #define ARGVSTR2ARGV(argv_str) ((char **)RSTRING_PTR(argv_str) + 1) -void rb_exec_arg_init(int argc, VALUE *argv, int accept_shell, struct rb_exec_arg *e); -int rb_exec_arg_addopt(struct rb_exec_arg *e, VALUE key, VALUE val); -void rb_exec_arg_fixup(struct rb_exec_arg *e); -int rb_run_exec_options(const struct rb_exec_arg *e, struct rb_exec_arg *s); -int rb_run_exec_options_err(const struct rb_exec_arg *e, struct rb_exec_arg *s, char*, size_t); -int rb_exec(const struct rb_exec_arg*); -int rb_exec_err(const struct rb_exec_arg*, char*, size_t); - /* rational.c */ VALUE rb_lcm(VALUE x, VALUE y); VALUE rb_rational_reciprocal(VALUE x);