From 2582b08de8ae999cd038e7aafbcffc827106ab52 Mon Sep 17 00:00:00 2001 From: Nathan3942 <77839482+Nathan3942@users.noreply.github.com> Date: Fri, 17 Nov 2023 04:16:56 +0100 Subject: [PATCH] Update ft_putvoid.c --- ft_putvoid.c | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/ft_putvoid.c b/ft_putvoid.c index 6409df5..6a71c56 100644 --- a/ft_putvoid.c +++ b/ft_putvoid.c @@ -14,19 +14,40 @@ static size_t putvoid(const unsigned long nb) { + int i; + + i = 0; if (nb / 16) return (putvoid(nb / 16) + putvoid(nb % 16)); else if (!(nb / 10)) - ft_putchar(nb + '0'); + { + i = ft_putchar(nb + '0'); + if (i < 0) + return (-100); + else + return (i); + } else - ft_putchar((char)nb - 10 + 'a'); - return (1); + { + i = ft_putchar((char)nb - 10 + 'a'); + if (i < 0) + return (-100); + else + return (i); + } } size_t ft_putvoid(void *adress) { + int temp; + if (!adress) - return (0); - ft_putstr("0x"); - return (2 + putvoid((unsigned long)adress)); + return (ft_putstr("0x0")); + if (ft_putstr("0x") < 0) + return (-1); + temp = putvoid((unsigned long)adress); + if (temp < 0) + return (-1); + else + return (2 + temp); }