void read_lemin(t_li *li) { int ret; char *line; int retour; int nbline; nbline = 0; retour = 0; while ((ret = get_next_line(STDIN_FILENO, &line)) > 0) { nbline++; retour = lineparser(li, line) + lineparser2(li, line); if (retour == 0) { if (li->opts['v']) ft_printf("{red}Error %d line: %d [%s] {eoc}\n", retour, nbline, line); break ; } addstdin(li, line); free(line); line = NULL; } check_lemin(li); li->usedwires = (t_wire **)malloc(sizeof(t_wire) * li->ant); }
int main(int argc, char **argv) { char *line; t_check check; t_cells *cells; cells = NULL; line = NULL; FT_INIT(int, verif, 1); init_struct(&check, argc, argv); while (verif) { verif = get_next_line(0, &line); if (!check_lemin(line, &check, &cells)) { ft_putstr("ERROR\n"); free_chaine(&check.start_list, &check); return (-1); } if (verif) { ft_putendl(line); ft_memdel((void*)&line); } } free_chaine(&check.start_list, &check); return (1); }