char *check_line_cmd(char *str) { int i; i = 0; while (str[i] == ' ' && str[i]) ++i; if (!str[i]) return (NULL); i = 0; if (check_line(str) == 2 || check_redir(str) == 1) { ft_putendl("msh: Parse error"); return (NULL); } while (check_line(str) == 1 || str[ft_strlen(str) - 1] == '\\') { ft_putstr("parse> "); str = ft_strjoin(str, take_cmd(1)); } if (check_line(str) == 2 || check_redir(str) == 1) { ft_putendl("msh: Parse error"); return (NULL); } return (str); }
int my_history() { t_hist *hist; char *s; hist = get_hist(NULL); if (hist == NULL) return (1); while (hist->prev != NULL) hist = hist->prev; if (hist->next != NULL) hist = hist->next; else return (0); while (hist != NULL) { my_putstr((s = take_cmd(hist->edit, 0, 0))); free(s); my_putchar('\n'); hist = hist->next; } return (1); }