aboutsummaryrefslogtreecommitdiff
path: root/src/str/ft_atoi.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-15 11:40:48 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-15 11:40:48 +0100
commit496afe8e8a82d6db730bf835eb5fbe1ef3a142be (patch)
treebf9f12c2abb32d436783743045fc900a2172ecdc /src/str/ft_atoi.c
parent1e9b077e0d9f3c50d7d518bf6ea7f08e7f5ec590 (diff)
downloadlibft-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.c29
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));
}