Files
ft_printf/libftprintf/ft_vprintf_hexadecimal.c

37 lines
1.3 KiB
C
Raw Normal View History

2022-04-13 08:01:46 +02:00
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_vprintf_hexadecimal.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/01/20 11:55:33 by gbaconni #+# #+# */
/* Updated: 2022/04/29 10:58:24 by gbaconni ### ########.fr */
2022-04-13 08:01:46 +02:00
/* */
/* ************************************************************************** */
#include "libftprintf.h"
int ft_vprintf_hexadecimal(const char *format, va_list ap)
{
int ret;
long l;
char *s;
2022-04-26 17:53:39 +02:00
char c;
2022-04-26 17:53:39 +02:00
ret = 0;
l = va_arg(ap, long);
2022-04-26 17:53:39 +02:00
c = *format;
if (c == 'x')
s = ft_ltoa_base(l, HEXA_LOWER);
else
s = ft_ltoa_base(l, HEXA_UPPER);
#ifdef BONUS
if (ft_vprintf_flags_bonus(format, ap) & F_HASH)
2022-04-26 17:53:39 +02:00
ret += ft_puts("0x");
#endif
2022-04-26 17:53:39 +02:00
ret += ft_puts(s);
free(s);
return (ret);
2022-04-13 08:01:46 +02:00
}