aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_get_tex.c
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-01-28 16:22:51 +0100
committerJozanLeClerc <bousset.rudy@gmail.com>2020-01-28 16:22:51 +0100
commit6ee3017b31456ae8bcf4f21389e514b67d885098 (patch)
tree39a8354d65268b607d110c67deee9faac081cb5d /src/ft_get_tex.c
parentBug fix (diff)
download42-cub3d-6ee3017b31456ae8bcf4f21389e514b67d885098.tar.gz
42-cub3d-6ee3017b31456ae8bcf4f21389e514b67d885098.tar.bz2
42-cub3d-6ee3017b31456ae8bcf4f21389e514b67d885098.tar.xz
42-cub3d-6ee3017b31456ae8bcf4f21389e514b67d885098.tar.zst
42-cub3d-6ee3017b31456ae8bcf4f21389e514b67d885098.zip
Got tex
Diffstat (limited to 'src/ft_get_tex.c')
-rw-r--r--src/ft_get_tex.c111
1 files changed, 20 insertions, 91 deletions
diff --git a/src/ft_get_tex.c b/src/ft_get_tex.c
index 1a936bd..a409a3c 100644
--- a/src/ft_get_tex.c
+++ b/src/ft_get_tex.c
@@ -2,121 +2,50 @@
#include <cub3d.h>
#include <stdlib.h>
-static int
-ft_get_tex_no(int fd, t_cub *clist)
+int
+ft_get_tex_no(char **words, t_cub *clist)
{
- char *line;
- char **words;
-
- if (get_next_line(fd, &line) <= 0 || !(words = ft_split(line, ' ')))
- {
- ft_memdel(line);
- return (ft_map_error(2, clist));
- }
- if (!(*words) || ft_strcmp(*words, "NO")
- || !(*(words + 1)) || (*(words + 2)))
- {
- ft_free_words(words, line);
- return (ft_map_error(2, clist));
- }
+ if (!(*words) || !(*(words + 1)) || (*(words + 2)))
+ return (-1);
ft_memdel(clist->no_tex_path);
if (!(clist->no_tex_path = ft_strdup(*(words + 1))))
- {
- ft_free_words(words, line);
return (-1);
- }
- ft_free_words(words, line);
+ ft_free_words(words);
return (0);
}
-static int
-ft_get_tex_so(int fd, t_cub *clist)
+int
+ft_get_tex_so(char **words, t_cub *clist)
{
- char *line;
- char **words;
-
- if (get_next_line(fd, &line) <= 0 || !(words = ft_split(line, ' ')))
- {
- ft_memdel(line);
- return (ft_map_error(3, clist));
- }
- if (!(*words) || ft_strcmp(*words, "SO")
- || !(*(words + 1)) || (*(words + 2)))
- {
- ft_free_words(words, line);
- return (ft_map_error(3, clist));
- }
+ if (!(*words) || !(*(words + 1)) || (*(words + 2)))
+ return (-1);
ft_memdel(clist->so_tex_path);
if (!(clist->so_tex_path = ft_strdup(*(words + 1))))
- {
- ft_free_words(words, line);
return (-1);
- }
- ft_free_words(words, line);
+ ft_free_words(words);
return (0);
}
-static int
-ft_get_tex_we(int fd, t_cub *clist)
+int
+ft_get_tex_ea(char **words, t_cub *clist)
{
- char *line;
- char **words;
-
- if (get_next_line(fd, &line) <= 0 || !(words = ft_split(line, ' ')))
- {
- ft_memdel(line);
- return (ft_map_error(4, clist));
- }
- if (!(*words) || ft_strcmp(*words, "WE")
- || !(*(words + 1)) || (*(words + 2)))
- {
- ft_free_words(words, line);
- return (ft_map_error(4, clist));
- }
- ft_memdel(clist->we_tex_path);
- if (!(clist->we_tex_path = ft_strdup(*(words + 1))))
- {
- ft_free_words(words, line);
+ if (!(*words) || !(*(words + 1)) || (*(words + 2)))
return (-1);
- }
- ft_free_words(words, line);
- return (0);
-}
-
-static int
-ft_get_tex_ea(int fd, t_cub *clist)
-{
- char *line;
- char **words;
-
- if (get_next_line(fd, &line) <= 0 || !(words = ft_split(line, ' ')))
- {
- ft_memdel(line);
- return (ft_map_error(5, clist));
- }
- if (!(*words) || ft_strcmp(*words, "EA")
- || !(*(words + 1)) || (*(words + 2)))
- {
- ft_free_words(words, line);
- return (ft_map_error(5, clist));
- }
ft_memdel(clist->ea_tex_path);
if (!(clist->ea_tex_path = ft_strdup(*(words + 1))))
- {
- ft_free_words(words, line);
return (-1);
- }
- ft_free_words(words, line);
+ ft_free_words(words);
return (0);
}
int
-ft_get_tex(int fd, t_cub *clist)
+ft_get_tex_we(char **words, t_cub *clist)
{
- if (ft_get_tex_no(fd, clist) < 0 ||
- ft_get_tex_so(fd, clist) < 0 ||
- ft_get_tex_we(fd, clist) < 0 ||
- ft_get_tex_ea(fd, clist) < 0)
+ if (!(*words) || !(*(words + 1)) || (*(words + 2)))
+ return (-1);
+ ft_memdel(clist->we_tex_path);
+ if (!(clist->we_tex_path = ft_strdup(*(words + 1))))
return (-1);
+ ft_free_words(words);
return (0);
}