diff options
author | Rudy Bousset <rbousset@z2r5p6.le-101.fr> | 2019-10-30 15:00:17 +0100 |
---|---|---|
committer | Rudy Bousset <rbousset@z2r5p6.le-101.fr> | 2019-10-30 15:00:17 +0100 |
commit | a3f3fc742daa4b28094b5ebe9be60263c41979d1 (patch) | |
tree | 5a6ce0fba04b55d6f4607038eeace0396e97f0e6 /libft/ft_atoi.c | |
parent | commit, lotta stuff (diff) | |
download | 42-minishell-a3f3fc742daa4b28094b5ebe9be60263c41979d1.tar.gz 42-minishell-a3f3fc742daa4b28094b5ebe9be60263c41979d1.tar.bz2 42-minishell-a3f3fc742daa4b28094b5ebe9be60263c41979d1.tar.xz 42-minishell-a3f3fc742daa4b28094b5ebe9be60263c41979d1.tar.zst 42-minishell-a3f3fc742daa4b28094b5ebe9be60263c41979d1.zip |
New libft, feelsgoodman
Diffstat (limited to 'libft/ft_atoi.c')
-rw-r--r-- | libft/ft_atoi.c | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/libft/ft_atoi.c b/libft/ft_atoi.c deleted file mode 100644 index 8903606..0000000 --- a/libft/ft_atoi.c +++ /dev/null @@ -1,79 +0,0 @@ -/* ************************************************************************** */ -/* LE - / */ -/* / */ -/* ft_atoi.c .:: .:/ . .:: */ -/* +:+:+ +: +: +:+:+ */ -/* By: rbousset <marvin@le-101.fr> +:+ +: +: +:+ */ -/* #+# #+ #+ #+# */ -/* Created: 2019/10/10 05:32:13 by rbousset #+# ## ## #+# */ -/* Updated: 2019/10/15 02:16:20 by rbousset ### #+. /#+ ###.fr */ -/* / */ -/* / */ -/* ************************************************************************** */ - -#include "libft.h" -#include <inttypes.h> - -static uint8_t - ft_isaspace(int c) -{ - if (c == '\t' || - c == '\n' || - c == '\v' || - c == '\f' || - c == '\r' || - c == ' ') - return (1); - return (0); -} - -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) -{ - uint8_t i; - - i = 0; - while (ft_isaspace(str[i])) - i++; - return (i); -} - -int - ft_atoi(const char *str) -{ - uint8_t i; - int8_t sign; - long nb; - - if (!str || !*str) - return (0); - i = ft_seti(str); - nb = 0; - sign = 1; - if (str[i] == '+' || str[i] == '-') - sign = ft_setsign(str[i++]); - while (ft_isdigit(str[i])) - { - if (nb * 10 + (str[i] - 48) < nb) - { - if (sign < 0) - return (0); - return (-1); - } - nb = nb * 10 + (str[i] - 48); - i++; - } - nb *= sign; - return ((int)nb); -} |