aboutsummaryrefslogtreecommitdiff
path: root/src/parse
diff options
context:
space:
mode:
authornass1pro <nass1pro@gmail.com>2020-06-16 13:21:57 +0200
committernass1pro <nass1pro@gmail.com>2020-06-16 13:21:57 +0200
commit904a7c07b31267b2336b144336fc6ff54627f6d0 (patch)
treee504715a91db92d4c95f1959692ba735941515a2 /src/parse
parent179898160d7a6c3d0c6032c78c8731a23631c2aa (diff)
downloadminishell-904a7c07b31267b2336b144336fc6ff54627f6d0.tar.gz
minishell-904a7c07b31267b2336b144336fc6ff54627f6d0.tar.bz2
minishell-904a7c07b31267b2336b144336fc6ff54627f6d0.zip
Update parse
Diffstat (limited to 'src/parse')
-rwxr-xr-xsrc/parse/parse.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/parse/parse.c b/src/parse/parse.c
index 36e603a..795afc7 100755
--- a/src/parse/parse.c
+++ b/src/parse/parse.c
@@ -34,16 +34,19 @@ t_ret *parse(t_ftlst *input)
}
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);
+ 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)
+ if ((tag & TAG_IS_STR && tag & TAG_STICK) || tag == TAG_IS_REDIR)
ret->rest = ret->rest->next;
else
+ {
+ ret->rest = ret->rest->next;
break;
+ }
}
}
}