int check_rest(t_get *get, char **rest, char **line) { size_t i; char *tmp; i = -1; get->ret = 1; while (*rest && ++i < LEN(*rest)) { if ((*rest)[i] == '\n') { if (i == 0 && *line && LEN(*line) == 0) manage_line(0, line, rest, i); else manage_line(1, line, rest, i); return (1); } } tmp = *line; *line = JOIN(*line, *rest); if (*line == NULL) *line = SDUP(*rest); REMOVE(&tmp); REMOVE(rest); return (0); }
void start(char *line, char ***env) { int i; t_line *tree; char **split; if (line && line[0]) { i = 0; split = ft_strsplit(line, ';'); while (split[i]) { tree = new_link(0, NULL); manage_line(split[i], tree, env); free_postfix(tree); i++; } free_tab_2d(&split); } if (line) free(line); }