aboutsummaryrefslogtreecommitdiff
path: root/convert_int.c
diff options
context:
space:
mode:
Diffstat (limited to 'convert_int.c')
-rw-r--r--convert_int.c34
1 files changed, 19 insertions, 15 deletions
diff --git a/convert_int.c b/convert_int.c
index ebc360a..34336d0 100644
--- a/convert_int.c
+++ b/convert_int.c
@@ -1,26 +1,35 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* convert_int.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2019/10/30 23:29:53 by cacharle #+# #+# */
+/* Updated: 2019/10/30 23:32:21 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
#include <stdlib.h>
#include <stdarg.h>
+#include "libft.h"
#include "header.h"
char *convert_int(va_list ap, t_pformat *pformat)
{
- char *tmp;
- int is_neg;
- long long int n;
+ char *tmp;
+ int is_neg;
+ long long int n;
+ char *str;
- if (pformat->flags & FLAG_SHORT)
- n = va_arg(ap, int);
- else if (pformat->flags & FLAG_SHORT_SHORT)
- n = va_arg(ap, int);
- else if (pformat->flags & FLAG_LONG)
+ if (pformat->flags & FLAG_LONG)
n = va_arg(ap, long int);
else if (pformat->flags & FLAG_LONG_LONG)
n = va_arg(ap, long long int);
else
n = va_arg(ap, int);
-
is_neg = n < 0;
- char *str = ITOA_DEC(n);
+ str = ITOA_DEC(n);
if (is_neg)
ft_strcpy(str, str + 1);
str = handle_precision(pformat, str);
@@ -28,15 +37,10 @@ char *convert_int(va_list ap, t_pformat *pformat)
{
if (is_neg || pformat->flags & (FLAG_SIGNED | FLAG_SPACE))
pformat->min_width--;
- /* pformat->min_width--; */
str = handle_padding(pformat, str);
}
- /* str[ft_strlen(str)] = 0; */
if (is_neg)
- {
tmp = ft_strjoin("-", str);
- /* printf("%s\n", str); */
- }
else if (pformat->flags & (FLAG_SIGNED | FLAG_SPACE))
tmp = ft_strjoin(pformat->flags & FLAG_SPACE ? " " : "+", str);
else