int get_next_line(int const fd, char **line) { static char *stock[256]; char *ptr; char *tmp; char *buffer; int ret; buffer = ft_strnew(BUFF_SIZE + 1); if ((check_stock(&stock[fd], &line, buffer)) == 1) return (1); while ((ret = read(fd, buffer, BUFF_SIZE)) > 0) { buffer[ret] = '\0'; tmp = ft_strchr(buffer, '\n'); if ((check_tmp(tmp, &line, &stock[fd], buffer)) == 1) return (1); ptr = stock[fd]; stock[fd] = ft_strjoin(stock[fd], buffer); free(ptr); } if (ret < 0) return (ft_return(ret, stock[fd], &line)); if ((ft_checkdown(&line, &stock[fd])) == 0) return (0); return (ft_return(ret, stock[fd], &line)); }
int main(int argc, char **argv) { t_all *all; if (argc > 1) { if (!(all = init_check_option(argv))) return (error_return()); if ((all->a = check_stock(argv)) == NULL) return (error_return()); if (LENA <= 0) return (error_return()); if ((all->b = init_b(all->a->len + 1)) == NULL) return (error_return()); put_state(all, 1); sort(all); put_state(all, 2); if (all->opo == 1) ft_printf("Operation : %d\n", all->op); } else return (error_return()); return (0); }