summaryrefslogtreecommitdiff
path: root/internal.h
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-05 14:53:31 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-05 14:53:31 +0000
commit53b17a769b873a889c15c4cf4d34e9a58a03b552 (patch)
tree6cdb94ca1cf22635587e8d1d0dd31d9e0af83900 /internal.h
parent71e793533194e1dd03036b4e0c3cc4550d822477 (diff)
* internal.h (rb_exec_arg): use union to represent command invocation
with/without shell. * process.c: follow the rb_exec_arg change. * io.c (pipe_open): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r--internal.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/internal.h b/internal.h
index a552923623..05e855df00 100644
--- a/internal.h
+++ b/internal.h
@@ -160,13 +160,19 @@ st_index_t rb_hash_proc(st_index_t hash, VALUE proc);
/* process.c */
struct rb_exec_arg {
- const char *prog;
+ int use_shell;
+ union {
+ struct {
+ VALUE shell_script;
+ } sh;
+ struct {
+ VALUE command_name;
+ VALUE argv_str;
+ VALUE argv_buf;
+ } cmd;
+ } invoke;
VALUE options;
VALUE redirect_fds;
- VALUE progname;
- int use_shell;
- VALUE argv_str;
- VALUE argv_buf;
VALUE envp_str;
VALUE envp_buf;
VALUE dup2_tmpbuf;