diff --git a/ft_printf.c b/ft_printf.c index 2a4e62b..f1045e5 100644 --- 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 15:48:02 by gvoelkne ### ########.fr */ +/* Updated: 2026/05/06 16:46:07 by gvoelkne ### ########.fr */ /* */ /* ************************************************************************** */ @@ -34,19 +34,11 @@ static int ft_putchar(int c) return (1); } -static int format(char format, va_list args) +static int format_alloc(char format, va_list args) { char *str; int result; - if (format == 'c') - return (ft_putchar(va_arg(args, int))); - if (format == 's') - return (ft_putstr(va_arg(args, char *))); - if (format == 'p') - return (ft_putptr(va_arg(args, void *))); - if (format == '%') - return (ft_putchar('%')); if (format == 'd' || format == 'i') str = ft_ntoa(va_arg(args, int), 10); if (format == 'u') @@ -66,6 +58,19 @@ static int format(char format, va_list args) return (result); } +static int format(char format, va_list args) +{ + if (format == 'c') + return (ft_putchar(va_arg(args, int))); + if (format == 's') + return (ft_putstr(va_arg(args, char *))); + if (format == 'p') + return (ft_putptr(va_arg(args, void *))); + if (format == '%') + return (ft_putchar('%')); + return (format_alloc(format, args)); +} + int ft_printf(const char *s, ...) { int idx;