1
0

」 feat: put error when unintended char is in args

This commit is contained in:
2024-08-13 10:36:26 +02:00
parent 36bda7d5c0
commit a101ff72de
4 changed files with 47 additions and 3 deletions

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/07/07 16:12:20 by adjoly #+# #+# */
/* Updated: 2024/08/12 19:38:58 by adjoly ### ########.fr */
/* Updated: 2024/08/13 10:22:30 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
@ -28,6 +28,8 @@ bool print_err(uint8_t error)
printf(ERR_MAX_MEAL);
else if (error == 5)
printf(ERR_NB_ARG);
else if (error == 6)
printf(ERR_ARG);
return (true);
}

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/07/08 15:30:46 by adjoly #+# #+# */
/* Updated: 2024/08/12 19:39:43 by adjoly ### ########.fr */
/* Updated: 2024/08/13 10:32:25 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
@ -14,6 +14,7 @@
#include "philo_msg.h"
bool print_err(uint8_t error);
bool check_args(char **av);
bool check_av(char **av)
{
@ -85,5 +86,7 @@ t_pdata philo_parse(char **av, int ac)
data.philo_nbr = 0;
if (!(ac > 4 && ac <= 6))
return (ret_err(data, 5));
if (check_args(av))
return (ret_err(data, 6));
return (fill_pdata(av));
}

38
philo/parsing2.c Normal file
View File

@ -0,0 +1,38 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* parsing2.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/13 10:25:34 by adjoly #+# #+# */
/* Updated: 2024/08/13 10:33:07 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "philo.h"
int ft_isdigit(int c)
{
return (c >= '0' && c <= '9');
}
bool check_args(char **av)
{
char **tmp;
char *a;
tmp = av;
while (*tmp)
{
a = *tmp;
while (*a)
{
if (!ft_isdigit(*a))
return (true);
a++;
}
tmp++;
}
return (false);
}

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/07/07 17:50:46 by adjoly #+# #+# */
/* Updated: 2024/08/12 17:32:08 by adjoly ### ########.fr */
/* Updated: 2024/08/13 10:19:13 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
@ -25,5 +25,6 @@
# define ERR_MAX_SLEEP_TIME "Time to sleep too long < INT_MAX\n" // err 3
# define ERR_MAX_MEAL "Too much meal < 1000\n" // err 4
# define ERR_NB_ARG "Invalid number of args need to be 4 or 5\n" // err 5
# define ERR_ARG "Invalid argument\n"
#endif