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 <geert@xxxxxxxxxxxxxx> > Closes: https://lore.kernel.org/r/CAMuHMdV9tX=TG7E_CrSF=2PY206tXf+_yYRuacG48EWEtJLo-Q@xxxxxxxxxxxxxx > Signed-off-by: Petr Mladek <pmladek@xxxxxxxx> Reviewed-by: Aditya Garg <gargaditya08@xxxxxxxx> > --- > 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.