aboutsummaryrefslogtreecommitdiff
path: root/src/parse/parse.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-06-16 14:53:10 +0200
committerCharles <sircharlesaze@gmail.com>2020-06-16 14:53:10 +0200
commita1704494c323177d4c4d8cf822aa80297181c4fe (patch)
tree0b7be225ed2f6deb39ae729b6b98bc00be830cf8 /src/parse/parse.c
parentb805f77cc96b1ff5482aa2ee2004bf74ebe402f0 (diff)
parent0eb7a660c0f6eef4ae163b91791908b670dc1d5a (diff)
downloadminishell-a1704494c323177d4c4d8cf822aa80297181c4fe.tar.gz
minishell-a1704494c323177d4c4d8cf822aa80297181c4fe.tar.bz2
minishell-a1704494c323177d4c4d8cf822aa80297181c4fe.zip
Merge branch 'parse_cmd' into eval
Diffstat (limited to 'src/parse/parse.c')
-rwxr-xr-xsrc/parse/parse.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/parse/parse.c b/src/parse/parse.c
index fe4f9a2..37192b0 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))
{
- ret->ast = push_redir(ret->ast, ret->rest);
- ret->rest = ret->rest->next;
while(ret->rest != NULL)
{
ret->ast = push_redir(ret->ast, ret->rest);
- tag = ((t_token *)ret->rest->data)->tag;
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;
}
/* while(ret->ast->cmd_argv != NULL) */
/* { */