diff --git a/exemple.txt b/exemple.txt new file mode 100644 index 0000000..40f8271 --- /dev/null +++ b/exemple.txt @@ -0,0 +1,11 @@ +("%.i", 0) : '' [0] +JACKPOT : '' [0] + + +---------------------------------------------------------------- +% flags width .precision length specifier +% 0-#' + * 0..9 .* 0..9 hhhlllLjtz diuxXcsp%efgnEFGaACSo +% 0- * 0..9 .* 0..9 diuxXcsp% +% #' + hhhlll efgn +---------------------------------------------------------------- + diff --git a/ft_printf.c b/ft_printf.c index 81b69b1..94cc271 100644 --- a/ft_printf.c +++ b/ft_printf.c @@ -108,9 +108,7 @@ char *convert_with_flags(char *s, va_list ap, char *type, int *size) return (NULL); if (!(print = ft_flag_transform(s, print, type, size))) return (NULL); -// ft_putstr(s); free(s); - s = print; return (print); } diff --git a/outf.txt b/outf.txt new file mode 100644 index 0000000..5c94524 --- /dev/null +++ b/outf.txt @@ -0,0 +1 @@ +33333 diff --git a/outft.txt b/outft.txt new file mode 100644 index 0000000..5c94524 --- /dev/null +++ b/outft.txt @@ -0,0 +1 @@ +33333 diff --git a/srcs/ft_flag_transform.c b/srcs/ft_flag_transform.c index cfffbb7..75f0766 100644 --- a/srcs/ft_flag_transform.c +++ b/srcs/ft_flag_transform.c @@ -66,7 +66,7 @@ char *ft_precision(char *s, char *print, char *type) { precision = ft_atoi(tmp + 1); *tmp = '\0'; - while (ft_strchr("#- +'0", *(++s))) + while (*s && ft_strchr("#- +'0", *(++s))) if (*s == '0') *s = '.'; i = 0; diff --git a/temoin.txt b/temoin.txt new file mode 100644 index 0000000..40f8271 --- /dev/null +++ b/temoin.txt @@ -0,0 +1,11 @@ +("%.i", 0) : '' [0] +JACKPOT : '' [0] + + +---------------------------------------------------------------- +% flags width .precision length specifier +% 0-#' + * 0..9 .* 0..9 hhhlllLjtz diuxXcsp%efgnEFGaACSo +% 0- * 0..9 .* 0..9 diuxXcsp% +% #' + hhhlll efgn +---------------------------------------------------------------- +