diff --git a/ft_itoa.c b/ft_itoa.c index d0d73c8..7d5b2b0 100644 --- a/ft_itoa.c +++ b/ft_itoa.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/12/08 18:20:19 by apommier #+# #+# */ -/* Updated: 2020/12/11 15:32:12 by apommier ### ########.fr */ +/* Updated: 2020/12/12 20:54:29 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,10 +17,12 @@ char *fill(long n, int j, int minus) char *dest; j += minus; - dest = (char*)ft_calloc(j + 1, 1); + dest = (char*)ft_malloc(sizeof(char) * (j + 1)); if (dest == 0) return (0); dest[j] = 0; + if (n == 0) + dest[j - 1] = '0'; while (n) { dest[j - 1] = n % 10 + '0'; @@ -35,21 +37,23 @@ char *fill(long n, int j, int minus) char *ft_itoa(int n) { long i; + long k; int j; int minus; + k = n; minus = 0; i = 1; j = 0; - if (n < 0) + if (k < 0) { minus = 1; - n = n * -1; + k = k * -1; } - while (n >= i - 1) + while (k >= i - 1) { i = i * 10; j++; } - return (fill(n, j, minus)); + return (fill(k, j, minus)); }