On Fri, 2020-07-31 at 21:08 +0300, Andy Shevchenko wrote:
> When printing phandle via %pOFp the custom spec is used. First of all,
> it has a SMALL flag which makes no sense for decimal numbers. Second,
> we have already default spec for decimal numbers. Use the latter in
> the %pOFp case as well.
[]
> diff --git a/lib/vsprintf.c b/lib/vsprintf.c
[]
> @@ -1979,12 +1979,6 @@ char *device_node_string(char *buf, char *end, struct 
> device_node *dn,
>       char *buf_start = buf;
>       struct property *prop;
>       bool has_mult, pass;
> -     static const struct printf_spec num_spec = {
> -             .flags = SMALL,
> -             .field_width = -1,
> -             .precision = -1,
> -             .base = 10,
> -     };
>  
>       struct printf_spec str_spec = spec;
>       str_spec.field_width = -1;
> @@ -2024,7 +2018,7 @@ char *device_node_string(char *buf, char *end, struct 
> device_node *dn,
>                       str_spec.precision = precision;
>                       break;
>               case 'p':       /* phandle */
> -                     buf = number(buf, end, (unsigned int)dn->phandle, 
> num_spec);
> +                     buf = number(buf, end, (unsigned int)dn->phandle, 
> default_dec_spec);

Could changing .precision = -1 to 0 change any output?


Reply via email to