/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_vprintf_hexadecimal.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/01/20 11:55:33 by gbaconni #+# #+# */ /* Updated: 2022/04/26 17:33:12 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ #include "libftprintf.h" int ft_vprintf_hexadecimal(const char *format, va_list ap) { int ret; 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"); else s = ft_ltoa_base(l, "0123456789ABCDEF"); flags = ft_vprintf_flags_bonus(format, ap); if (flags & F_HASH) ret += ft_puts("0x"); ret += ft_puts(s); free(s); return (ret); }