diff options
Diffstat (limited to 'include/eval.h')
| -rw-r--r-- | include/eval.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/include/eval.h b/include/eval.h index 00f466a..c93d346 100644 --- a/include/eval.h +++ b/include/eval.h @@ -5,9 +5,22 @@ namespace ov4 { + +struct T_pipe +{ + enum class T_pipe_type + { + NOT_PIPE, + WRITE_PIPE, + READ_PIPE, + }; + T_pipe_type pipe_type = NOT_PIPE; + int fd = -1; +} T_pipe_not_pipe; + int eval_exe(const std::string &s, bool is_async); -int eval_exe(const std::string &s, bool is_async, const T_lexer *lexer_instance, size_t i); -int eval_tree_cd(size_t i, const T_lexer &lexer_instance, bool inside_subshell); +int eval_exe(const std::string &s, bool is_async, const T_lexer *lexer_instance, size_t i, const T_pipe &pi = T_pipe_not_pipe); +int eval_tree_cd(size_t i, const T_lexer &lexer_instance, bool inside_subshell, T_pipe pi = T_pipe_not_pipe); void eval(char *cmdline); void eval_err(int err); |
