add max int

This commit is contained in:
kinou-p 2022-03-19 00:21:37 +01:00
parent 5fdc221dd1
commit 31b280bf34
3 changed files with 65 additions and 28 deletions

View File

@ -6,12 +6,13 @@
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ # # By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2022/02/13 16:27:49 by apommier #+# #+# # # Created: 2022/02/13 16:27:49 by apommier #+# #+# #
# Updated: 2022/03/15 17:49:12 by apommier ### ########.fr # # Updated: 2022/03/19 00:16:31 by apommier ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
NAME = philo NAME = philo
SRCS = srcs/main.c\ SRCS = srcs/main.c\
srcs/check_args.c\
srcs/init.c\ srcs/init.c\
srcs/exit.c\ srcs/exit.c\
srcs/philo.c\ srcs/philo.c\

63
srcs/check_args.c Normal file
View File

@ -0,0 +1,63 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* check_args.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/19 00:05:55 by apommier #+# #+# */
/* Updated: 2022/03/19 00:21:03 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
#include "philosophers.h"
size_t ft_strlen(const char *s)
{
size_t i;
i = 0;
if (!s)
return (0);
while (s[i] != 0)
i++;
return (i);
}
int is_nbr(int nb_args, char **list)
{
int j;
int i;
i = 0;
j = 1;
while (nb_args - j)
{
if (ft_strlen(list[j]) > 10)
return (0);
i = 0;
while (list[j][i])
{
if (list[j][i] < '0' || list[j][i] > '9')
return (0);
i++;
}
if (ft_atoi(list[j]) > 2147483647)
return (0);
j++;
}
return (1);
}
int check_arg(int argc, char **argv)
{
if (argc != 5 && argc != 6)
return (1);
if (!is_nbr(argc, argv))
return (1);
if (argv[1][0] == '0' || (argv[1][0] == '1' && !argv[1][1]))
return (1);
if (argc == 6 && argv[5][0] == '0')
return (1);
return (0);
}

View File

@ -57,33 +57,6 @@ void put_event(t_arg *data, int philo_id, char *event)
pthread_mutex_unlock(&data->life_check); pthread_mutex_unlock(&data->life_check);
} }
int check_arg(int argc, char **argv)
{
int i;
int j;
j = 0;
i = 1;
if (argc != 5 && argc != 6)
return (1);
while (argv[i])
{
j = 0;
while (argv[i][j])
{
if (argv[i][j] > '9' || argv[i][j] < '0')
return (1);
j++;
}
i++;
}
if (argv[1][0] == '0' || (argv[1][0] == '1' && !argv[1][1]))
return (1);
if (argc == 6 && argv[5][0] == '0')
return (1);
return (0);
}
int is_philo_full(t_philo *philo, t_arg *data) int is_philo_full(t_philo *philo, t_arg *data)
{ {
int nb_full; int nb_full;