diff --git a/src/parser/set_redirections.c b/src/parser/set_redirections.c index 62ee364..413dbe5 100644 --- a/src/parser/set_redirections.c +++ b/src/parser/set_redirections.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* set_redirections.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: sehosaf +#+ +:+ +#+ */ +/* By: dmoroz +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/10 20:28:38 by sehosaf #+# #+# */ -/* Updated: 2024/07/18 21:39:45 by sehosaf ### ########.fr */ +/* Updated: 2024/07/27 13:29:39 by dmoroz ### ########.fr */ /* */ /* ************************************************************************** */ @@ -36,7 +36,7 @@ int set_redirections(t_pipeline *node) res = set_redir(node, i, &node->cmd.infile, 1); } else if (node->cmd.args[i][0] == '>') - res = set_redir(node, i, &node->cmd.outfile, 1 + node->cmd.ap_mode); + res = set_redir(node, i, &node->cmd.outfile, 1); else i++; if (res) @@ -49,17 +49,17 @@ static int set_redir(t_pipeline *nd, int i, char **s_field, int ck_char) { char *arg; - if (!nd->cmd.args[i + 1]) + if (nd->cmd.args[i][1] == '<') + nd->cmd.is_heredoc = 1; + if (nd->cmd.args[i][1] == '>') + nd->cmd.ap_mode = ck_char++; + if (!nd->cmd.args[i + 1] && !nd->cmd.args[i][ck_char]) { ft_putstr_fd(ERR_SNX_TOKEN, STDERR_FILENO); ft_putstr_fd(nd->cmd.args[i], STDERR_FILENO); ft_putendl_fd("`", STDERR_FILENO); return (1); } - if (nd->cmd.args[i][1] == '<') - nd->cmd.is_heredoc = 1; - if (nd->cmd.args[i][1] == '>') - nd->cmd.ap_mode = 1; arg = nd->cmd.args[i]; if (arg[ck_char] == 0) {