/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_atoi.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/07/21 08:21:05 by erey-bet #+# #+# */ /* Updated: 2022/10/11 22:44:20 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" int ft_isspace(char c) { return (c == ' ' || c == '\f' ||c == '\n' || c == '\r' || c == '\t' || c == '\v'); } int ft_atoi(const char *nptr) { long result; int sign; while (ft_isspace(*nptr)) nptr++; sign = 1; if (*nptr == '+' || *nptr == '-') { if (*nptr == '-') sign = -1; nptr++; } result = 0; while (*nptr >= '0' && *nptr <= '9') { if (result >= 2147483647 && sign == 1) return (-1); else if (result >= 2147483647) return (0); result = result * 10 + *nptr - '0'; nptr++; } return (result * sign); }