RE: Use of '%#02x' is almost always wrong

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Bernd Petrovitsch
> Sent: 14 October 2021 00:16
> 
> On 12/10/2021 23:10, David Laight wrote:
> [...]
> >> So presumably all the uses of %#02x in the kernel are not outputting
> >> what is actually expected.  Perhaps all of these should use %#04x.
> >
> > Doesn't help. The definition of "%#x" is completely broken.
> 
> Seconded ...
> 
> > Basically 0 doesn't get the "0x" prefix, so "%#04x" outputs
> > "0000".
> 
> ... just because of that.
> And if one get's in touch with tools where format strings are
> the % -stuff is not consistently used ...
> 
> > "0000" if the value is zero.
> > So the correct replacement is (probably) "0x%02x".
> 
> At least it's consistent that way.
> 
> And in the big techie picture, I don't see what the '#' modifer
> buys and why it makes sense to use it.

It works for "%#8x" where it add the "0x" to the right-aligned
hex digits.

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux