From 4286b43e9e35242b03f5a38af1099f77901c0b3e Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Fri, 24 Jan 2020 18:19:20 +0100 Subject: Much cleaner --- src/ft_parse_map.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'src/ft_parse_map.c') diff --git a/src/ft_parse_map.c b/src/ft_parse_map.c index f4eb4f0..0a4aa45 100644 --- a/src/ft_parse_map.c +++ b/src/ft_parse_map.c @@ -4,15 +4,42 @@ #include #include +static void +ft_check_cub(const char *map_path, t_win *wlist) +{ + char **words; + size_t i; + + if (!(words = ft_split(map_path, '.'))) + { + ft_dprintf(STDERR_FILENO, "Error\n"); + ft_dprintf(STDERR_FILENO, "\033[31;1mMap is not a .cub\033[0m\n"); + ft_free_words(words); + ft_exit(2, wlist); + } + i = 0; + while (words[i]) + i++; + if (ft_strcmp(words[i - 1], "cub")) + { + ft_dprintf(STDERR_FILENO, "Error\n"); + ft_dprintf(STDERR_FILENO, "\033[31;1mMap is not a .cub\033[0m\n"); + ft_free_words(words); + ft_exit(2, wlist); + } + ft_free_words(words); +} + /* ** I can't close fd */ void -ft_parse_map(t_win *wlist, const char *map_path) +ft_parse_map(const char *map_path, t_win *wlist) { int fd; + ft_check_cub(map_path, wlist); fd = open(map_path, O_RDONLY); if (fd < 0) { -- cgit v1.2.3