summaryrefslogtreecommitdiffstats
path: root/libft/ft_atoi.c
diff options
context:
space:
mode:
authorRudy Bousset <rbousset@z2r5p6.le-101.fr>2019-10-30 15:00:17 +0100
committerRudy Bousset <rbousset@z2r5p6.le-101.fr>2019-10-30 15:00:17 +0100
commita3f3fc742daa4b28094b5ebe9be60263c41979d1 (patch)
tree5a6ce0fba04b55d6f4607038eeace0396e97f0e6 /libft/ft_atoi.c
parentcommit, lotta stuff (diff)
download42-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.c79
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);
-}