Beispiel #1
0
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));
}
Beispiel #2
0
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);
}