aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_get_sprite.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/ft_get_sprite.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/ft_get_sprite.c b/src/ft_get_sprite.c
index cdea85c..791f51f 100644
--- a/src/ft_get_sprite.c
+++ b/src/ft_get_sprite.c
@@ -12,14 +12,28 @@
#include <libft.h>
#include <cub3d.h>
+#include <stdint.h>
int8_t
ft_get_sprite(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->sprite_path);
if (!(clist->mlist->sprite_path = ft_strdup(*(words + 1))))
+ {
+ ft_strlcpy(clist->errmsg, FT_ERR_ALLOCATE,
+ ft_strlen(FT_ERR_ALLOCATE) + 1);
return (-1);
+ }
return (0);
}