diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-15 11:40:48 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-15 11:40:48 +0100 |
| commit | 496afe8e8a82d6db730bf835eb5fbe1ef3a142be (patch) | |
| tree | bf9f12c2abb32d436783743045fc900a2172ecdc /src/str/ft_atoi.c | |
| parent | 1e9b077e0d9f3c50d7d518bf6ea7f08e7f5ec590 (diff) | |
| download | libft-496afe8e8a82d6db730bf835eb5fbe1ef3a142be.tar.gz libft-496afe8e8a82d6db730bf835eb5fbe1ef3a142be.tar.bz2 libft-496afe8e8a82d6db730bf835eb5fbe1ef3a142be.zip | |
Added ft_strtol, ft_isspace, ft_todigit, ft_strict_atoi, modified ft_atoi to use ft_strtol
Diffstat (limited to 'src/str/ft_atoi.c')
| -rw-r--r-- | src/str/ft_atoi.c | 29 |
1 files changed, 2 insertions, 27 deletions
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 <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* 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)); } |
