diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-10-13 13:55:07 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-10-13 14:40:48 +0200 |
| commit | d744e75aea3145927a4e725eb95496499dc54630 (patch) | |
| tree | 5a65c3c3de463e60b3f9de9f38ee73ea6b58b9d2 /parse.c | |
| parent | 82981d4b0d04c0d52020a209c8322fa0eed012f7 (diff) | |
| download | ft_printf-d744e75aea3145927a4e725eb95496499dc54630.tar.gz ft_printf-d744e75aea3145927a4e725eb95496499dc54630.tar.bz2 ft_printf-d744e75aea3145927a4e725eb95496499dc54630.zip | |
Added precision and min field width wildcard
Diffstat (limited to 'parse.c')
| -rw-r--r-- | parse.c | 20 |
1 files changed, 17 insertions, 3 deletions
@@ -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); } |
