Add ft_vprintf_precision_bonus and define HEXA_LOWER HEXA_UPPER

This commit is contained in:
gbaconni
2022-04-29 11:00:53 +02:00
parent 63712bd5d6
commit 34fe699fea
9 changed files with 104 additions and 51 deletions

View File

@@ -6,7 +6,7 @@
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/01/20 11:55:33 by gbaconni #+# #+# */
/* Updated: 2022/04/26 17:33:12 by gbaconni ### ########.fr */
/* Updated: 2022/04/29 10:58:24 by gbaconni ### ########.fr */
/* */
/* ************************************************************************** */
@@ -18,18 +18,18 @@ int ft_vprintf_hexadecimal(const char *format, va_list ap)
long l;
char *s;
char c;
int flags;
ret = 0;
l = va_arg(ap, long);
c = *format;
if (c == 'x')
s = ft_ltoa_base(l, "0123456789abcdef");
s = ft_ltoa_base(l, HEXA_LOWER);
else
s = ft_ltoa_base(l, "0123456789ABCDEF");
flags = ft_vprintf_flags_bonus(format, ap);
if (flags & F_HASH)
s = ft_ltoa_base(l, HEXA_UPPER);
#ifdef BONUS
if (ft_vprintf_flags_bonus(format, ap) & F_HASH)
ret += ft_puts("0x");
#endif
ret += ft_puts(s);
free(s);
return (ret);