OSDN Git Service

docs: printk-formats: Stop encouraging use of unnecessary %h[xudi] and %hh[xudi]
authorJoe Perches <joe@perches.com>
Fri, 6 Sep 2019 21:11:51 +0000 (14:11 -0700)
committerJonathan Corbet <corbet@lwn.net>
Sat, 14 Sep 2019 07:57:43 +0000 (01:57 -0600)
commitcbacb5ab0aa04a49030e520523ef9405c9cafa95
treed6510fd81b033ca31bc593247656c0617fd75a2f
parent82f12ab311fd5ab46d25c9cc51784adf37f33ad5
docs: printk-formats: Stop encouraging use of unnecessary %h[xudi] and %hh[xudi]

Standard integer promotion is already done and %hx and %hhx is useless
so do not encourage the use of %hh[xudi] or %h[xudi].

As Linus said in:
https://lore.kernel.org/lkml/CAHk-=wgoxnmsj8GEVFJSvTwdnWm8wVJthefNk2n6+4TC=20e0Q@mail.gmail.com/

It's a pointless warning, making for more complex code, and
making people remember esoteric printf format details that have no
reason for existing.

The "h" and "hh" things should never be used. The only reason for them
being used if if you have an "int", but you want to print it out as a
"char" (and honestly, that is a really bad reason, you'd be better off
just using a proper cast to make the code more obvious).

So if what you have a "char" (or unsigned char) you should always just
print it out as an "int", knowing that the compiler already did the
proper type conversion.

Signed-off-by: Joe Perches <joe@perches.com>
Reviewed-by: Louis Taylor <louis@kragniz.eu>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Documentation/core-api/printk-formats.rst