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/src/ft_itoa.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/src/ft_itoa.c')
-rw-r--r-- | libft/src/ft_itoa.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/libft/src/ft_itoa.c b/libft/src/ft_itoa.c new file mode 100644 index 0000000..bf3c0c8 --- /dev/null +++ b/libft/src/ft_itoa.c @@ -0,0 +1,62 @@ +/* ************************************************************************** */ +/* LE - / */ +/* / */ +/* ft_itoa.c .:: .:/ . .:: */ +/* +:+:+ +: +: +:+:+ */ +/* By: rbousset <marvin@le-101.fr> +:+ +: +: +:+ */ +/* #+# #+ #+ #+# */ +/* Created: 2019/10/13 02:22:48 by rbousset #+# ## ## #+# */ +/* Updated: 2019/10/13 13:35:46 by rbousset ### #+. /#+ ###.fr */ +/* / */ +/* / */ +/* ************************************************************************** */ + +#include "libft.h" +#include <inttypes.h> +#include <stdlib.h> + +static uint8_t + ft_intlen(int n) +{ + uint8_t len; + + len = 0; + if (!n) + return (1); + if (n < 0) + len = 1; + while (n != 0) + { + n /= 10; + len++; + } + return (len); +} + +char + *ft_itoa(int n) +{ + char *s; + unsigned int nb; + uint8_t i; + + i = ft_intlen(n) - 1; + if (!(s = (char*)malloc((i + 2) * sizeof(char)))) + return (NULL); + if (!n) + s[i] = '0'; + nb = n; + if (n < 0) + { + s[0] = '-'; + nb = -n; + } + s[i + 1] = '\0'; + while (nb > 0) + { + s[i] = 48 + (nb % 10); + nb = nb / 10; + i--; + } + return (s); +} |