示例#1
0
char	*get_col_west(t_env *e, int y, int col, int nbr)
{
	char	*saw;
	char	*content;

	saw = NULL;
	while (nbr--)
	{
		if ((content = get_boxcontent(e->map[REALP(y, e->y)][col])) != NULL)
			saw = ft_strfreejoin(&saw, content);
		saw = ft_strfreejoin(&saw, ", ");
		y--;
	}
	return (saw);
}
示例#2
0
char	*get_line_south(t_env *e, int x, int line, int nbr)
{
	char	*saw;
	char	*content;

	saw = NULL;
	while (nbr--)
	{
		if ((content = get_boxcontent(e->map[line][REALP(x, e->x)])) != NULL)
			saw = ft_strfreejoin(&saw, content);
		saw = ft_strfreejoin(&saw, ", ");
		x--;
	}
	return (saw);
}
示例#3
0
int				get_next_line(int const fd, char **dest)
{
	static t_fd		*current_fd = NULL;
	char			buffer[BUFF_SIZE + 1];
	char			*line;
	int				len;
	int				ret;

	ret = 0;
	current_fd = ft_get_fd(current_fd, fd);
	if ((fd < 0 || fd == 1 || fd == 2) || dest == NULL)
		return (-1);
	while (fd >= 0 && ((len = ft_check_endofline(current_fd->text)) ||
				(ret = ft_read_fd(fd, buffer)) > 0) && len <= 0)
		current_fd->text = ft_strfreejoin(current_fd->text, buffer, 2);
	if (ret == -1)
		return (-1);
	if (len > 0)
		current_fd->text[len - 1] = '\0';
	*dest = ft_strdup(current_fd->text);
	line = current_fd->text;
	current_fd->text = ((len > 0) ? ft_strdup(current_fd->text + len) :
									ft_strdup(""));
	free(line);
	current_fd = current_fd->begin_list;
	return ((len || **dest) ? 1 : 0);
}