Compare commits

..

No commits in common. "main" and "refactor" have entirely different histories.

7 changed files with 18 additions and 9 deletions

View File

@ -19,6 +19,7 @@ int parse_conversion(const char **format, va_list args)
{ {
int wrote; int wrote;
wrote = 0;
if (**format == 'c') if (**format == 'c')
wrote = print_char(args); wrote = print_char(args);
else if (**format == 's') else if (**format == 's')
@ -33,7 +34,5 @@ int parse_conversion(const char **format, va_list args)
wrote = print_hex(args, 0); wrote = print_hex(args, 0);
else if (ft_strchr("X", **format)) else if (ft_strchr("X", **format))
wrote = print_hex(args, 1); wrote = print_hex(args, 1);
else
wrote = -1;
return (wrote); return (wrote);
} }

View File

@ -21,6 +21,7 @@ int parse_placeholder(const char **format, va_list args)
int wrote; int wrote;
(*format)++; (*format)++;
wrote = 0;
while (**format && !ft_strchr(conversions, **format)) while (**format && !ft_strchr(conversions, **format))
(*format)++; (*format)++;
if (**format == '%') if (**format == '%')

View File

@ -23,9 +23,10 @@ int print_hex(va_list args, int uppercase)
char *str; char *str;
int wrote; int wrote;
wrote = 0;
str = ft_calloc(sizeof(char), 20); str = ft_calloc(sizeof(char), 20);
if (!str) if (!str)
return (-1); return (wrote);
n = va_arg(args, unsigned int); n = va_arg(args, unsigned int);
if (uppercase) if (uppercase)
ft_putnbr_base(n, "0123456789ABCDEF", str); ft_putnbr_base(n, "0123456789ABCDEF", str);

View File

@ -23,9 +23,10 @@ int print_number(va_list args)
char *str; char *str;
int wrote; int wrote;
wrote = 0;
str = ft_calloc(sizeof(char), 12); str = ft_calloc(sizeof(char), 12);
if (!str) if (!str)
return (-1); return (wrote);
n = va_arg(args, int); n = va_arg(args, int);
ft_putnbr_signed(n, "0123456789", str); ft_putnbr_signed(n, "0123456789", str);
len = ft_strlen(str); len = ft_strlen(str);

View File

@ -22,13 +22,17 @@ int print_pointer(va_list args)
size_t len; size_t len;
char *str; char *str;
int wrote; int wrote;
wrote = 0;
n = va_arg(args, unsigned long); n = va_arg(args, unsigned long);
if (!n) if (!n)
return (write(1, "(nil)", 5)); {
write(1, "(nil)", 5);
return (5);
}
str = ft_calloc(sizeof(char), 20); str = ft_calloc(sizeof(char), 20);
if (!str) if (!str)
return (-1); return (wrote);
ft_strlcpy(str, "0x", 3); ft_strlcpy(str, "0x", 3);
ft_putnbr_base(n, "0123456789abcdef", str); ft_putnbr_base(n, "0123456789abcdef", str);
len = ft_strlen(str); len = ft_strlen(str);

View File

@ -22,7 +22,10 @@ int print_string(va_list args)
str = va_arg(args, char *); str = va_arg(args, char *);
if (!str) if (!str)
return (write(1, "(null)", 6)); {
write(1, "(null)", 6);
return (6);
}
len = ft_strlen(str); len = ft_strlen(str);
return (write(1, str, len)); return (write(1, str, len));
} }

View File

@ -26,7 +26,7 @@ int print_unumber(va_list args)
wrote = 0; wrote = 0;
str = ft_calloc(sizeof(char), 12); str = ft_calloc(sizeof(char), 12);
if (!str) if (!str)
return (-1); return (wrote);
n = va_arg(args, unsigned int); n = va_arg(args, unsigned int);
ft_putnbr_base(n, "0123456789", str); ft_putnbr_base(n, "0123456789", str);
len = ft_strlen(str); len = ft_strlen(str);