docs: printk-formats: Fix hex printing of signed values
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 3 Jul 2023 14:58:38 +0000 (17:58 +0300)
committerPetr Mladek <pmladek@suse.com>
Tue, 18 Jul 2023 11:43:21 +0000 (13:43 +0200)
The commit cbacb5ab0aa0 ("docs: printk-formats: Stop encouraging use of
unnecessary %h[xudi] and %hh[xudi]") obviously missed the point of sign
promotion for the signed values lesser than int. In such case %x prints
not the same as %h[h]x. Restore back those specifiers for the signed hex
cases.

Fixes: cbacb5ab0aa0 ("docs: printk-formats: Stop encouraging use of unnecessary %h[xudi] and %hh[xudi]")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20230703145839.14248-1-andriy.shevchenko@linux.intel.com
Documentation/core-api/printk-formats.rst

index dbe1aac..956c87b 100644 (file)
@@ -15,9 +15,9 @@ Integer types
 
        If variable is of Type,         use printk format specifier:
        ------------------------------------------------------------
-               char                    %d or %x
+               char                    %d or %hhx
                unsigned char           %u or %x
-               short int               %d or %x
+               short int               %d or %hx
                unsigned short int      %u or %x
                int                     %d or %x
                unsigned int            %u or %x
@@ -27,9 +27,9 @@ Integer types
                unsigned long long      %llu or %llx
                size_t                  %zu or %zx
                ssize_t                 %zd or %zx
-               s8                      %d or %x
+               s8                      %d or %hhx
                u8                      %u or %x
-               s16                     %d or %x
+               s16                     %d or %hx
                u16                     %u or %x
                s32                     %d or %x
                u32                     %u or %x