aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_get_tex.c
diff options
context:
space:
mode:
authorRudy Bousset <rbousset@z2r4p3.le-101.fr>2020-02-17 15:31:11 +0100
committerRudy Bousset <rbousset@z2r4p3.le-101.fr>2020-02-17 15:31:11 +0100
commit2fd013d7583e0388d50ff9895c5e474e2d76f79f (patch)
tree435e687675c620c93e44823dea606a30e20f3db4 /src/ft_get_tex.c
parentWork in progress, res now (diff)
download42-cub3d-2fd013d7583e0388d50ff9895c5e474e2d76f79f.tar.gz
42-cub3d-2fd013d7583e0388d50ff9895c5e474e2d76f79f.tar.bz2
42-cub3d-2fd013d7583e0388d50ff9895c5e474e2d76f79f.tar.xz
42-cub3d-2fd013d7583e0388d50ff9895c5e474e2d76f79f.tar.zst
42-cub3d-2fd013d7583e0388d50ff9895c5e474e2d76f79f.zip
Better parse for textures and colors
Diffstat (limited to '')
-rw-r--r--src/ft_get_tex.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/ft_get_tex.c b/src/ft_get_tex.c
index 1965e72..ad093ed 100644
--- a/src/ft_get_tex.c
+++ b/src/ft_get_tex.c
@@ -18,10 +18,23 @@ int8_t
ft_get_tex_no(char **words, t_cub *clist)
{
if (!(*words) || !(*(words + 1)) || (*(words + 2)))
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_ARGS, ft_strlen(FT_ERR_ARGS) + 1);
return (-1);
+ }
+ if (ft_check_ext(*(words + 1), ".xpm") < 0)
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_NOT_A_XPM,
+ ft_strlen(FT_ERR_NOT_A_XPM) + 1);
+ return (-1);
+ }
ft_memdel((void**)&clist->mlist->no_tex_path);
if (!(clist->mlist->no_tex_path = ft_strdup(*(words + 1))))
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_ALLOCATE,
+ ft_strlen(FT_ERR_ALLOCATE) + 1);
return (-1);
+ }
return (0);
}
@@ -29,10 +42,23 @@ int8_t
ft_get_tex_so(char **words, t_cub *clist)
{
if (!(*words) || !(*(words + 1)) || (*(words + 2)))
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_ARGS, ft_strlen(FT_ERR_ARGS) + 1);
+ return (-1);
+ }
+ if (ft_check_ext(*(words + 1), ".xpm") < 0)
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_NOT_A_XPM,
+ ft_strlen(FT_ERR_NOT_A_XPM) + 1);
return (-1);
+ }
ft_memdel((void**)&clist->mlist->so_tex_path);
if (!(clist->mlist->so_tex_path = ft_strdup(*(words + 1))))
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_ALLOCATE,
+ ft_strlen(FT_ERR_ALLOCATE) + 1);
return (-1);
+ }
return (0);
}
@@ -40,10 +66,23 @@ int8_t
ft_get_tex_ea(char **words, t_cub *clist)
{
if (!(*words) || !(*(words + 1)) || (*(words + 2)))
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_ARGS, ft_strlen(FT_ERR_ARGS) + 1);
return (-1);
+ }
+ if (ft_check_ext(*(words + 1), ".xpm") < 0)
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_NOT_A_XPM,
+ ft_strlen(FT_ERR_NOT_A_XPM) + 1);
+ return (-1);
+ }
ft_memdel((void**)&clist->mlist->ea_tex_path);
if (!(clist->mlist->ea_tex_path = ft_strdup(*(words + 1))))
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_ALLOCATE,
+ ft_strlen(FT_ERR_ALLOCATE) + 1);
return (-1);
+ }
return (0);
}
@@ -51,9 +90,22 @@ int8_t
ft_get_tex_we(char **words, t_cub *clist)
{
if (!(*words) || !(*(words + 1)) || (*(words + 2)))
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_ARGS, ft_strlen(FT_ERR_ARGS) + 1);
+ return (-1);
+ }
+ if (ft_check_ext(*(words + 1), ".xpm") < 0)
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_NOT_A_XPM,
+ ft_strlen(FT_ERR_NOT_A_XPM) + 1);
return (-1);
+ }
ft_memdel((void**)&clist->mlist->we_tex_path);
if (!(clist->mlist->we_tex_path = ft_strdup(*(words + 1))))
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_ALLOCATE,
+ ft_strlen(FT_ERR_ALLOCATE) + 1);
return (-1);
+ }
return (0);
}