aboutsummaryrefslogtreecommitdiff
path: root/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'parse.c')
-rw-r--r--parse.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/parse.c b/parse.c
index c61fb5c..3d1fb00 100644
--- a/parse.c
+++ b/parse.c
@@ -66,6 +66,12 @@ t_pformat *parse_conversion(char *conversion)
pformat->left_adjusted = *start == '-';
start++;
}
+ pformat->min_field_width_wildcard = FALSE;
+ if (*start == '*')
+ {
+ pformat->min_field_width_wildcard = TRUE;
+ start++;
+ }
if (ft_isdigit(*start))
{
pformat->min_field_width = ft_atoi(start);
@@ -75,12 +81,20 @@ t_pformat *parse_conversion(char *conversion)
else
pformat->min_field_width = -1;
pformat->precision = -1;
+ pformat->precision_wildcard = FALSE;
if (*start == '.')
{
start++;
- pformat->precision = ft_atoi(start);
- while (ft_isdigit(*start))
- start++;
+ /* printf("\n%s\n", start); */
+ if (*start == '*')
+ pformat->precision_wildcard = TRUE;
+ else
+ {
+ pformat->precision_wildcard = FALSE;
+ pformat->precision = ft_atoi(start);
+ while (ft_isdigit(*start))
+ start++;
+ }
}
return (pformat);
}