aboutsummaryrefslogtreecommitdiff
path: root/convert_uint.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-10-30 04:58:00 +0100
committerCharles <sircharlesaze@gmail.com>2019-10-30 04:58:00 +0100
commit001786c8ec464b1ae3e6321acfd984227cb1bbee (patch)
tree6c71dd227eb8a8c28cd529cb4cfc31879e845831 /convert_uint.c
parentd963161275bcb3af4097872ba033da3ff9255606 (diff)
downloadft_printf-001786c8ec464b1ae3e6321acfd984227cb1bbee.tar.gz
ft_printf-001786c8ec464b1ae3e6321acfd984227cb1bbee.tar.bz2
ft_printf-001786c8ec464b1ae3e6321acfd984227cb1bbee.zip
Added flags for x and X
Diffstat (limited to 'convert_uint.c')
-rw-r--r--convert_uint.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/convert_uint.c b/convert_uint.c
index bf28679..239e47d 100644
--- a/convert_uint.c
+++ b/convert_uint.c
@@ -3,15 +3,19 @@
char *convert_uint(va_list ap, t_pformat *pformat)
{
- unsigned int n;
+ long long unsigned int n;
if (pformat->flags & FLAG_SHORT)
- n = va_arg(ap, unsigned short);
+ n = va_arg(ap, int);
else if (pformat->flags & FLAG_SHORT_SHORT)
- n = va_arg(ap, unsigned char);
+ n = va_arg(ap, int);
+ else if (pformat->flags & FLAG_LONG)
+ n = va_arg(ap, long unsigned int);
+ else if (pformat->flags & FLAG_LONG_LONG)
+ n = va_arg(ap, long long unsigned int);
else
n = va_arg(ap, unsigned int);
- char *str = ft_itoa_base(n, "0123456789");
+ char *str = ft_itoa_unsigned_base(n, "0123456789");
str = handle_precision(pformat, str);
str = handle_padding(pformat, str);
return (str);