On Mon, 28 Apr 2025 at 14:31, Petr Mladek <pmla...@suse.com> 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: Geert Uytterhoeven <geert+rene...@glider.be> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds