diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: gvoelkne +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2026/04/27 16:44:35 by gvoelkne #+# #+# # -# Updated: 2026/05/06 08:40:25 by gvoelkne ### ########.fr # +# Updated: 2026/05/06 09:36:11 by gvoelkne ### ########.fr # # # # **************************************************************************** # @@ -48,4 +48,3 @@ test-dbg: $(NAME) $(CC) main.c -g -L. -lftprintf -o tests valgrind ./tests -bonus: all diff --git a/ft_printf.c b/ft_printf.c --- a/ft_printf.c +++ b/ft_printf.c @@ -6,7 +6,7 @@ /* By: gvoelkne +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2026/04/29 09:00:02 by gvoelkne #+# #+# */ -/* Updated: 2026/05/06 08:35:11 by gvoelkne ### ########.fr */ +/* Updated: 2026/05/06 09:34:46 by gvoelkne ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,18 +14,23 @@ static int ft_putstr(char *s) { - int len; + ssize_t write_count; if (!s) return (ft_putstr("(null)")); - len = ft_strlen(s); - write(1, s, len); - return (len); + write_count = write(1, s, ft_strlen(s)); + if (write_count < 0) + return (0); + return (write_count); } static int ft_putchar(int c) { - write(1, &c, 1); + ssize_t write_count; + + write_count = write(1, &c, 1); + if (write_count < 0) + return (0); return (1); } @@ -40,17 +45,14 @@ if (format == 'd' || format == 'i') return (ft_putstr(ft_ntoa(va_arg(args, int), 10))); if (format == 'u') - return (ft_putstr(ft_ntoa((unsigned int)va_arg(args, int), 10))); + return (ft_putstr(ft_untoa((unsigned int)va_arg(args, int), 10))); if (format == '%') return (ft_putchar('%')); if (format == 'X') - return (ft_putstr(ft_ntoa(va_arg(args, long), 16))); + return (ft_putstr(ft_untoa(va_arg(args, unsigned int), 16))); if (format == 'x') - { - long curr_argv = va_arg(args, unsigned long); - char *hex = ft_ntoa(curr_argv, 16); - return (ft_putstr(ft_strlower(hex))); - } + return (ft_putstr(ft_strlower(ft_untoa(va_arg(args, unsigned int), + 16)))); return (0); } diff --git a/ft_putptr.c b/ft_putptr.c --- a/ft_putptr.c +++ b/ft_putptr.c @@ -6,7 +6,7 @@ /* By: gvoelkne +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2026/05/01 11:36:45 by gvoelkne #+# #+# */ -/* Updated: 2026/05/05 13:28:29 by gvoelkne ### ########.fr */ +/* Updated: 2026/05/06 09:21:51 by gvoelkne ### ########.fr */ /* */ /* ************************************************************************** */ @@ -56,11 +56,14 @@ int ft_putptr(void *ptr) { char *s; + ssize_t write_count; if (!ptr || (intptr_t)ptr == 0) s = "(nil)"; else s = ptr_to_hex((uintptr_t)ptr); - write(1, s, ft_strlen(s)); - return (ft_strlen(s)); + write_count = write(1, s, ft_strlen(s)); + if (write_count < 0) + return (0); + return (write_count); } diff --git a/ft_strlower.c b/ft_strlower.c --- a/ft_strlower.c +++ b/ft_strlower.c @@ -12,7 +12,7 @@ char *ft_strlower(char *str) { - unsigned int idx; + unsigned int idx; idx = 0; while (str[idx])