From 496afe8e8a82d6db730bf835eb5fbe1ef3a142be Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 15 Jan 2020 11:40:48 +0100 Subject: Added ft_strtol, ft_isspace, ft_todigit, ft_strict_atoi, modified ft_atoi to use ft_strtol --- src/str/ft_atoi.c | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) (limited to 'src/str/ft_atoi.c') diff --git a/src/str/ft_atoi.c b/src/str/ft_atoi.c index 0ad6022..fa31407 100644 --- a/src/str/ft_atoi.c +++ b/src/str/ft_atoi.c @@ -6,38 +6,13 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:46:16 by cacharle #+# #+# */ -/* Updated: 2020/01/15 09:26:14 by cacharle ### ########.fr */ +/* Updated: 2020/01/15 10:56:06 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" -#define MIN_INT -2147483648 -#define MAX_INT 2147483647 - int ft_atoi(const char *str) { - unsigned int nb; - int i; - int is_negative; - - while (*str == ' ' || *str == '\t' || *str == '\n' - || *str == '\v' || *str == '\f' || *str == '\r') - str++; - is_negative = 0; - if (*str == '-' || *str == '+') - if (*str++ == '-') - is_negative = 1; - i = 0; - nb = 0; - while (ft_isdigit(str[i])) - { - if (!is_negative && nb > (unsigned int)MAX_INT) - return (-1); - else if (nb > (unsigned int)MIN_INT) - return (0); - nb *= 10; - nb += str[i++] & 0x0F; - } - return ((int)(is_negative ? -nb : nb)); + return ((int)ft_strtol(str, (char**)NULL, 10)); } -- cgit