aboutsummaryrefslogtreecommitdiff
path: root/src/parse/parse.c
diff options
context:
space:
mode:
authornass1pro <nass1pro@gmail.com>2020-06-16 14:35:15 +0200
committernass1pro <nass1pro@gmail.com>2020-06-16 14:35:15 +0200
commit0fa76e9e49a70ab9acb128845b3b0b09607133a8 (patch)
tree5c4ce0a5f154af200f5c3b8146e1ad8b53b3fdf7 /src/parse/parse.c
parent904a7c07b31267b2336b144336fc6ff54627f6d0 (diff)
downloadminishell-0fa76e9e49a70ab9acb128845b3b0b09607133a8.tar.gz
minishell-0fa76e9e49a70ab9acb128845b3b0b09607133a8.tar.bz2
minishell-0fa76e9e49a70ab9acb128845b3b0b09607133a8.zip
Update redire in parse
Diffstat (limited to 'src/parse/parse.c')
-rwxr-xr-xsrc/parse/parse.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/parse/parse.c b/src/parse/parse.c
index 795afc7..d1303bc 100755
--- a/src/parse/parse.c
+++ b/src/parse/parse.c
@@ -29,26 +29,25 @@ t_ret *parse(t_ftlst *input)
if (parse_cmd_str_true_false(tag))
{
ret->ast = push_cmd(ret->ast, ret->rest);
- if (ret->rest != NULL)
- ret->rest = ret->rest->next;
}
else if (parse_redir_true_false(tag))
{
while(ret->rest != NULL)
{
ret->ast = push_redir(ret->ast, ret->rest);
- ret->rest = ret->rest->next;
- ret->ast = push_redir(ret->ast, ret->rest);
- tag = ((t_token *)ret->rest->data)->tag;
- if ((tag & TAG_IS_STR && tag & TAG_STICK) || tag == TAG_IS_REDIR)
+ if (tag & TAG_IS_STR && tag & TAG_STICK)
+ ret->rest = ret->rest->next;
+ else if (tag & TAG_IS_REDIR)
ret->rest = ret->rest->next;
else
{
- ret->rest = ret->rest->next;
+ //ret->rest = ret->rest->next;
break;
}
+ tag = ((t_token *)ret->rest->data)->tag;
}
}
+ ret->rest = ret->rest->next;
}
// printf("===========cmd=============\n");
// while(ret->ast->cmd_argv != NULL)