From: Bernd Petrovitsch
Sent: 14 October 2021 00:16
On 12/10/2021 23:10, David Laight wrote:
[...]
quoted
quoted
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 ...
quoted
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 ...
quoted
"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)