diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-06-17 17:10:46 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-06-17 17:10:46 +0200 |
| commit | 9aab4ace12a04d0c5477909e54bb43fefcd19f9c (patch) | |
| tree | cf361442e4bd094b5bab3693455a738ff0110113 /src/eval/redir.c | |
| parent | 0475dcbf969271f02e193f36f1d5620909621219 (diff) | |
| download | minishell-9aab4ace12a04d0c5477909e54bb43fefcd19f9c.tar.gz minishell-9aab4ace12a04d0c5477909e54bb43fefcd19f9c.tar.bz2 minishell-9aab4ace12a04d0c5477909e54bb43fefcd19f9c.zip | |
Added (basic) operator evaluation
Diffstat (limited to 'src/eval/redir.c')
| -rw-r--r-- | src/eval/redir.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/eval/redir.c b/src/eval/redir.c index 5a9d074..7249ad5 100644 --- a/src/eval/redir.c +++ b/src/eval/redir.c @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/06/15 11:05:34 by charles #+# #+# */ -/* Updated: 2020/06/15 16:00:40 by charles ### ########.fr */ +/* Updated: 2020/06/17 16:17:43 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -37,8 +37,7 @@ static bool st_open_replace(int *fd, char *filename, int oflag) bool redir_extract( t_ftlst *redirs, t_env env, - int *fd_in, - int *fd_out) + int fds[2]) { t_ftlst *after; t_ftlst *curr; @@ -66,16 +65,16 @@ bool redir_extract( return (false); } if ((st_lst_tag(redirs) == TAG_REDIR_IN - && !st_open_replace(fd_in, filename, O_RDONLY)) + && !st_open_replace(&fds[FDS_READ], filename, O_RDONLY)) || (st_lst_tag(redirs) == TAG_REDIR_OUT - && !st_open_replace(fd_out, filename, O_WRONLY | O_CREAT | O_TRUNC)) + && !st_open_replace(&fds[FDS_WRITE], filename, O_WRONLY | O_CREAT | O_TRUNC)) || (st_lst_tag(redirs) == TAG_REDIR_APPEND - && !st_open_replace(fd_out, filename, O_WRONLY | O_CREAT | O_APPEND))) + && !st_open_replace(&fds[FDS_WRITE], filename, O_WRONLY | O_CREAT | O_APPEND))) { token_destroy_lst2(redirs, after); return (false); } token_destroy_lst(redirs); free(filename); - return (redir_extract(after, env, fd_in, fd_out)); + return (redir_extract(after, env, fds)); } |
