fdf/src/get_map_sizes.c
2024-12-13 17:18:20 +01:00

39 lines
1.4 KiB
C

/* ************************************************************************** */
/* */
/* ::: o_ :::::: ::: */
/* get_map_sizes.c :+: / :+::+: :+: */
/* +:+ > +:++:+ +:+ */
/* By: whaffman <whaffman@student.codam.nl> +#+ +:+ +#++#++:++#++ */
/* +#+ +#+#+ +#++#+ +#+ \o/ */
/* Created: 2024/12/13 15:23:14 by whaffman #+#+# #+#+# #+# #+# | */
/* Updated: 2024/12/13 15:23:14 by whaffman ### ### ### ### / \ */
/* */
/* ************************************************************************** */
#include "fdf.h"
int get_map_sizes(char *filename, t_map *map)
{
const int fd = open(filename, O_RDONLY);
char *line;
int width;
if (fd < 0)
return (ft_printf(FILE_ERROR, filename), 0);
width = 0;
while (true)
{
line = get_next_line(fd);
if (!line)
break ;
width = ft_count_words(line, ' ');
free(line);
if (map->width != 0 && map->width != width)
return (ft_printf(WRONG_LINE_LENGTH), 0);
else if (map->width == 0)
map->width = width;
map->height++;
}
return (close(fd), 1);
}