diff options
| author | nass1pro <nass1pro@gmail.com> | 2020-06-15 20:05:36 +0200 |
|---|---|---|
| committer | nass1pro <nass1pro@gmail.com> | 2020-06-15 20:05:36 +0200 |
| commit | 25ba3ac2ccef9ba8295c3975a1681baa033c5ee6 (patch) | |
| tree | 2f46312fe87de561c6f30b929e5791e42d78c380 /src/parse/parse.c | |
| parent | 209c15cee6e0c3604d34a1d1d656e045e71b1c9d (diff) | |
| download | minishell-25ba3ac2ccef9ba8295c3975a1681baa033c5ee6.tar.gz minishell-25ba3ac2ccef9ba8295c3975a1681baa033c5ee6.tar.bz2 minishell-25ba3ac2ccef9ba8295c3975a1681baa033c5ee6.zip | |
Add redir parse
Diffstat (limited to 'src/parse/parse.c')
| -rwxr-xr-x | src/parse/parse.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/parse/parse.c b/src/parse/parse.c index ff8dbc1..1129696 100755 --- a/src/parse/parse.c +++ b/src/parse/parse.c @@ -15,7 +15,6 @@ t_ret *parse(t_ftlst *input) t_ret *ret; t_ret *first; enum e_token_tag tag; - int i = 0; if(!(ret = malloc(sizeof(t_ret) * 1))) return(NULL); @@ -37,27 +36,28 @@ t_ret *parse(t_ftlst *input) { ret->ast = push_redir(ret->ast, ret->rest); ret->rest = ret->rest->next; - if (ret->rest != NULL) + while(ret->rest != NULL) + { ret->ast = push_redir(ret->ast, ret->rest); - tag = ((t_token *)ret->rest->data)->tag; - //while(tag & TAG_IS_STR && tag & TAG_STICK) + tag = ((t_token *)ret->rest->data)->tag; + if (tag & TAG_IS_STR && tag & TAG_STICK) + ret->rest = ret->rest->next; + else + break; + } } } - while(ret->ast->cmd_argv != NULL) - { - printf("%s\n", ((t_token *)ret->ast->cmd_argv->data)->content); - ret->ast->cmd_argv = ret->ast->cmd_argv->next; - } - while(ret->ast->redirs != NULL) - { - if (i == 0) - { - i++; - } - printf("%s\n", ((t_token *)ret->ast->redirs->data)->content); - ret->ast->redirs = ret->ast->redirs->next; - } - ast_destroy(ret->ast); - ft_lstdestroy(&ret->rest, (void (*)(void*))token_destroy); + // while(ret->ast->cmd_argv != NULL) + // { + // printf("%s\n", ((t_token *)ret->ast->cmd_argv->data)->content); + // ret->ast->cmd_argv = ret->ast->cmd_argv->next; + // } + // while(ret->ast->redirs != NULL) + // { + // printf("%s\n", ((t_token *)ret->ast->redirs->data)->content); + // ret->ast->redirs = ret->ast->redirs->next; + // } + // ast_destroy(ret->ast); + // ft_lstdestroy(&ret->rest, (void (*)(void*))token_destroy); return first; } |
