39 lines
1.4 KiB
C
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);
|
|
}
|