valid_arguments
This commit is contained in:
parent
d763c08626
commit
39fea719bf
@ -6,7 +6,7 @@
|
|||||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||||
/* +#+ */
|
/* +#+ */
|
||||||
/* Created: 2025/04/19 14:41:55 by whaffman #+# #+# */
|
/* 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);
|
void print_config(t_map *map);
|
||||||
t_tile **copy_map(t_tile **grid, int width, int height);
|
t_tile **copy_map(t_tile **grid, int width, int height);
|
||||||
char **pointer_lines(char *buffer, char c);
|
char **pointer_lines(char *buffer, char c);
|
||||||
|
int valid_arguments(int argc, char **argv);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ */
|
||||||
/* +#+ */
|
/* +#+ */
|
||||||
/* Created: 2025/04/15 16:01:29 by qmennen #+# #+# */
|
/* 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;
|
errno = 0;
|
||||||
game = NULL;
|
game = NULL;
|
||||||
if (argc != 2)
|
if (!valid_arguments(argc, argv))
|
||||||
{
|
|
||||||
ft_putstr_fd("Usage: ./cub3d <map.cub>\n", 2);
|
|
||||||
return (EXIT_FAILURE);
|
return (EXIT_FAILURE);
|
||||||
}
|
|
||||||
if (!initialize_cub3d(&game, argv[1]))
|
if (!initialize_cub3d(&game, argv[1]))
|
||||||
{
|
{
|
||||||
perror("initialize_cub3d");
|
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