On Fri, 31 Jul 2020 11:20:21 -0700 Joe Perches <j...@perches.com> wrote:
> 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? > static const struct printf_spec default_dec_spec = { .base = 10, .precision = -1, }; It's the field_width that changes from -1 to 0, which shouldn't cause any issue. -- Steve