diff options
author | JozanLeClerc <bousset.rudy@gmail.com> | 2020-09-29 18:51:47 +0200 |
---|---|---|
committer | JozanLeClerc <bousset.rudy@gmail.com> | 2020-09-29 18:51:47 +0200 |
commit | dd00a5a6e96052a8fd6120ce1bcedcce879441d6 (patch) | |
tree | d122b5978901afdd340c6b5831203536e0b2625c | |
parent | Order update (diff) | |
download | 42-minishell-dd00a5a6e96052a8fd6120ce1bcedcce879441d6.tar.gz 42-minishell-dd00a5a6e96052a8fd6120ce1bcedcce879441d6.tar.bz2 42-minishell-dd00a5a6e96052a8fd6120ce1bcedcce879441d6.tar.xz 42-minishell-dd00a5a6e96052a8fd6120ce1bcedcce879441d6.tar.zst 42-minishell-dd00a5a6e96052a8fd6120ce1bcedcce879441d6.zip |
Atoi update
Diffstat (limited to '')
-rw-r--r-- | libft/include/libft.h | 2 | ||||
-rw-r--r-- | libft/src/ft_atoi.c | 19 |
2 files changed, 12 insertions, 9 deletions
diff --git a/libft/include/libft.h b/libft/include/libft.h index c0910b1..42cb73b 100644 --- a/libft/include/libft.h +++ b/libft/include/libft.h @@ -155,7 +155,7 @@ int ft_toupper(int c); int ft_tolower(int c); int ft_strncmp(const char *s1, const char *s2, size_t n); int ft_lstsize(t_list *lst); -int ft_atoi(const char *str); +int ft_atoi(const char str[]); int ft_putchar(int c); int ft_putnchar(int c, const size_t n); int ft_putstr(const char *s); 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); |