Re: [PATCH] iio: si1133: fix format string warnings

From: Andy Shevchenko
Date: Sat May 29 2021 - 03:53:04 EST


On Sat, May 29, 2021 at 12:35 AM Joe Perches <joe@xxxxxxxxxxx> wrote:
> On Sat, 2021-05-29 at 00:16 +0300, Andy Shevchenko wrote:
> > On Saturday, May 29, 2021, Joe Perches <joe@xxxxxxxxxxx> wrote:

...

> > > > > Likely these should be 0x%02x
> > > >
> > > > What’s the difference (except printing 0)?
> > >
> > > (assuming the argument is unsigned char/u8)
> > >
> > > %#02x will always emit more than the specified length (3 or 4 chars)
> > > values < 16 are 0x<hexdigit>, values >= 16 are 0x<hexdigit><hexdigit>
> >
> > 0 will be 0, btw.
>
> Hey Andy. Right.
>
> > > 0x%02x will always emit 4 chars
> >
> > *Minimum* or at least 4 characters. There is an upper limit of sizeof(int)
> > * 2 + 2.
>
> I did write assuming the argument is unsigned char/u8.
> For the general unsigned int arg case, you are of course correct.

Signed char also. Basically for all signed types and unsigned int cases.

--
With Best Regards,
Andy Shevchenko