26 if (!tokens || !*tokens)
29 current_token = *tokens;
33 redirect_node->
left = command_node;
34 *tokens = current_token->
next;
38 *tokens = (*tokens)->
next;
41 redirect_node->
right = NULL;
42 command_node = redirect_node;
43 current_token = *tokens;
45 return (command_node);
56 *tokens = (*tokens)->
next;
59 command_node->
args[arg_count] = NULL;
68 node->
args = malloc(
sizeof(
char *) * 2);
93 node = malloc(
sizeof(
t_ast));
t_ast * new_ast_node(void)
t_ast * create_redir_node(t_token *token)
int is_redir_node(t_token *tokens)
t_ast * manage_redirs(t_token **tokens, t_ms_data *data)
void set_command_args(t_ast *command_node, t_token **tokens, int arg_count)
char * ft_strdup(const char *s)
t_ast * manage_commands(t_token **tokens, t_ms_data *data)