aboutsummaryrefslogtreecommitdiff
path: root/convert_int.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_int.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_int.c')
-rw-r--r--convert_int.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/convert_int.c b/convert_int.c
index d0ef77e..8bc0b1a 100644
--- a/convert_int.c
+++ b/convert_int.c
@@ -9,9 +9,9 @@ char *convert_int(va_list ap, t_pformat *pformat)
long long int n;
if (pformat->flags & FLAG_SHORT)
- n = va_arg(ap, short);
+ n = va_arg(ap, int);
else if (pformat->flags & FLAG_SHORT_SHORT)
- n = va_arg(ap, signed char);
+ n = va_arg(ap, int);
else if (pformat->flags & FLAG_LONG)
n = va_arg(ap, long int);
else if (pformat->flags & FLAG_LONG_LONG)
@@ -20,16 +20,15 @@ char *convert_int(va_list ap, t_pformat *pformat)
n = va_arg(ap, int);
is_neg = n < 0;
-
char *str = ITOA_DEC(n);
-
if (is_neg)
ft_strcpy(str, str + 1);
str = handle_precision(pformat, str);
if (pformat->flags & FLAG_ZERO_PADDING)
{
- if (is_neg || pformat->flags & FLAG_SIGNED)
+ if (is_neg || pformat->flags & FLAG_SIGNED || pformat->flags & FLAG_SPACE)
pformat->min_width--;
+ /* pformat->min_width--; */
str = handle_padding(pformat, str);
}
if (is_neg)
@@ -44,4 +43,3 @@ char *convert_int(va_list ap, t_pformat *pformat)
str = handle_padding(pformat, str);
return (str);
}
-