valid_arguments
This commit is contained in:
parent
d763c08626
commit
39fea719bf
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/19 14:41:55 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/23 12:28:37 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/24 11:38:31 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -28,5 +28,6 @@ int parse_file(char *buffer, t_map *map);
|
||||
void print_config(t_map *map);
|
||||
t_tile **copy_map(t_tile **grid, int width, int height);
|
||||
char **pointer_lines(char *buffer, char c);
|
||||
int valid_arguments(int argc, char **argv);
|
||||
|
||||
#endif
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/15 16:01:29 by qmennen #+# #+# */
|
||||
/* Updated: 2025/04/23 11:58:04 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/24 11:39:05 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -18,11 +18,8 @@ int main(int argc, char **argv)
|
||||
|
||||
errno = 0;
|
||||
game = NULL;
|
||||
if (argc != 2)
|
||||
{
|
||||
ft_putstr_fd("Usage: ./cub3d <map.cub>\n", 2);
|
||||
if (!valid_arguments(argc, argv))
|
||||
return (EXIT_FAILURE);
|
||||
}
|
||||
if (!initialize_cub3d(&game, argv[1]))
|
||||
{
|
||||
perror("initialize_cub3d");
|
||||
|
||||
50
src/parser/valid_arguments.c
Normal file
50
src/parser/valid_arguments.c
Normal file
@ -0,0 +1,50 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* :::::::: */
|
||||
/* valid_arguments.c :+: :+: */
|
||||
/* +:+ */
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/24 11:28:55 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/24 11:38:05 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "cub3d.h"
|
||||
#include "libft.h"
|
||||
|
||||
static int valid_extension(char *filename)
|
||||
{
|
||||
int len;
|
||||
|
||||
len = ft_strlen(filename);
|
||||
if (len < 4)
|
||||
return (FAILURE);
|
||||
if (!ft_strncmp(filename + len - 4, ".cub", 4))
|
||||
return (SUCCESS);
|
||||
return (FAILURE);
|
||||
}
|
||||
|
||||
int valid_arguments(int argc, char **argv)
|
||||
{
|
||||
int fd;
|
||||
|
||||
if (argc != 2)
|
||||
return (ft_putstr_fd("Usage: ./cub3d <map.cub>\n", 2), FAILURE);
|
||||
if (!valid_extension(argv[1]))
|
||||
{
|
||||
ft_putstr_fd("Error: Invalid file extension. Expected .cub\n", 2);
|
||||
return (FAILURE);
|
||||
}
|
||||
fd = open(argv[1], O_RDONLY);
|
||||
if (fd < 0)
|
||||
return (perror("Error opening file"), FAILURE);
|
||||
if (read(fd, NULL, 0) < 0)
|
||||
{
|
||||
perror("Error reading file");
|
||||
close(fd);
|
||||
return (FAILURE);
|
||||
}
|
||||
close(open(argv[1], O_RDONLY));
|
||||
return (SUCCESS);
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user