aboutsummaryrefslogtreecommitdiff
path: root/src/parse
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse')
-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) */
/* { */