「✨」 feat: put error when unintended char is in args
This commit is contained in:
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/07/07 16:12:20 by adjoly #+# #+# */
|
/* 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);
|
printf(ERR_MAX_MEAL);
|
||||||
else if (error == 5)
|
else if (error == 5)
|
||||||
printf(ERR_NB_ARG);
|
printf(ERR_NB_ARG);
|
||||||
|
else if (error == 6)
|
||||||
|
printf(ERR_ARG);
|
||||||
return (true);
|
return (true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/07/08 15:30:46 by adjoly #+# #+# */
|
/* 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"
|
#include "philo_msg.h"
|
||||||
|
|
||||||
bool print_err(uint8_t error);
|
bool print_err(uint8_t error);
|
||||||
|
bool check_args(char **av);
|
||||||
|
|
||||||
bool check_av(char **av)
|
bool check_av(char **av)
|
||||||
{
|
{
|
||||||
@ -85,5 +86,7 @@ t_pdata philo_parse(char **av, int ac)
|
|||||||
data.philo_nbr = 0;
|
data.philo_nbr = 0;
|
||||||
if (!(ac > 4 && ac <= 6))
|
if (!(ac > 4 && ac <= 6))
|
||||||
return (ret_err(data, 5));
|
return (ret_err(data, 5));
|
||||||
|
if (check_args(av))
|
||||||
|
return (ret_err(data, 6));
|
||||||
return (fill_pdata(av));
|
return (fill_pdata(av));
|
||||||
}
|
}
|
||||||
|
38
philo/parsing2.c
Normal file
38
philo/parsing2.c
Normal 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);
|
||||||
|
}
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/07/07 17:50:46 by adjoly #+# #+# */
|
/* 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_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_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_NB_ARG "Invalid number of args need to be 4 or 5\n" // err 5
|
||||||
|
# define ERR_ARG "Invalid argument\n"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user