fix: valgrind error when % at end of first printf arg

This commit is contained in:
2026-04-03 23:35:42 +02:00
parent b6670f2400
commit b0a77bc18c
2 changed files with 7 additions and 7 deletions
+5 -5
View File
@@ -10,10 +10,10 @@
/* */
/* ************************************************************************** */
#include <stdarg.h>
#include <unistd.h>
#include "ft_printf_bonus.h"
#include <stdarg.h>
#include <stdlib.h>
#include <unistd.h>
static int ft_print_arg_flags(t_arg *arg, va_list args)
{
@@ -84,11 +84,11 @@ int ft_printf(const char *first_arg, ...)
while (first_arg[i])
{
temp = nb_print;
if (first_arg[i] == '%')
if (first_arg[i] == '%' && first_arg[i + 1] != '\0')
{
i++;
nb_print += ft_print_arg((char *) &first_arg[i], args);
i += ft_to_skip((char *) &first_arg[i]);
nb_print += ft_print_arg((char *)&first_arg[i], args);
i += ft_to_skip((char *)&first_arg[i]);
}
else
nb_print += write(1, &first_arg[i], 1);