static int ft_update_pipe_state(t_node *ast, int state) { if ((!ast->parent || ast->parent->token != tok_pipe)) { state = ft_browse(ast, 0, state); state = ft_browse(ast->left, 1, state); } else if (ast->parent->token == tok_pipe && ast->left->token == tok_pipe) state = ft_browse(ast, 2, state); else if (ast->parent->token == tok_pipe && ast->left->token != tok_pipe) { state = ft_browse(ast->left, 1, state); state = ft_browse(ast, 2, state); } return (state); }
int main(int ac, char **av) { t_ft_ls data; char *op; ft_init_t_ft_ls(&data); op = ft_get_arg(&data, av, ac); ft_set_op(op, &data); if (data.nb_path > 1) ft_sort_str(&(data.path), data.nb_path, data.op_r); ft_browse(&data); ft_free_lst(&data); ft_strdel(&op); return (0); }