On 28-04-2025 06:01 pm, Petr Mladek wrote:
> The generic FourCC format always prints the data using the big endian
> order. It is generic because it allows to read the data using a custom
> ordering.
>
> The current code uses "n" for reading data in the reverse host ordering.
> It makes the 4 variants [hnbl] consistent with the generic printing
> of IPv4 addresses.
>
> Unfortunately, it creates confusion on big endian systems. For example,
> it shows the data &(u32)0x67503030 as
>
> %p4cn 00Pg (0x30305067)
>
> But people expect that the ordering stays the same. The network ordering
> is a big-endian ordering.
>
> The problem is that the semantic is not the same. The modifiers affect
> the output ordering of IPv4 addresses while they affect the reading order
> in case of FourCC code.
>
> Avoid the confusion by replacing the "n" modifier with "hR", aka
> reverse host ordering. It is inspired by the existing %p[mM]R printf
> format.
>
> Reported-by: Geert Uytterhoeven <ge...@linux-m68k.org>
> Closes:
> https://lore.kernel.org/r/CAMuHMdV9tX=TG7E_CrSF=2py206txf+_yyruacg48ewetjl...@mail.gmail.com
> Signed-off-by: Petr Mladek <pmla...@suse.com>
Reviewed-by: Aditya Garg <gargadity...@live.com>
> ---
> Hi,
>
> I am sending this as a proper patch. It would be nice to queue it
> together with the other patches adding the generic printf modifiers.