diff options
Diffstat (limited to 'libft/src/ft_atoi.c')
-rw-r--r-- | libft/src/ft_atoi.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/libft/src/ft_atoi.c b/libft/src/ft_atoi.c index 7a97eae..3640578 100644 --- a/libft/src/ft_atoi.c +++ b/libft/src/ft_atoi.c @@ -13,30 +13,31 @@ #include <libft.h> #include <inttypes.h> -static int8_t - ft_setsign(const char c) +static int8_t ft_setsign(const char c) { int8_t sign; sign = 1; if (c == '-') + { sign = -1; + } return (sign); } -static uint8_t - ft_seti(const char *str) +static uint8_t ft_seti(const char str[]) { uint8_t i; i = 0; - while (ft_isspace(str[i])) + while (ft_isspace(str[i]) == TRUE) + { i++; + } return (i); } -int - ft_atoi(const char *str) +int ft_atoi(const char str[]) { uint8_t i; int8_t sign; @@ -47,12 +48,14 @@ int sign = 1; if (str[i] == '+' || str[i] == '-') sign = ft_setsign(str[i++]); - while (ft_isdigit(str[i])) + while (str[i] != '\0' && ft_isdigit(str[i]) == TRUE) { if (nb * 10 + (str[i] - 48) < nb) { if (sign < 0) + { return (0); + } return (-1); } nb = nb * 10 + (str[i] - 48); |