On 22-04-2025 04:02 pm, Geert Uytterhoeven wrote: > Hi Andy, > > On Tue, 22 Apr 2025 at 12:16, Andy Shevchenko > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: >> On Tue, Apr 22, 2025 at 10:43:59AM +0200, Geert Uytterhoeven wrote: >>> On Tue, 22 Apr 2025 at 10:30, Aditya Garg <gargaditya08@xxxxxxxx> wrote: >>>> On 22-04-2025 01:37 pm, Geert Uytterhoeven wrote: >>>>> On Tue, 8 Apr 2025 at 08:48, Aditya Garg <gargaditya08@xxxxxxxx> wrote: >> >> ... >> >>>> Originally, it was %p4cr (reverse-endian), but on the request of the >>>> maintainers, it was changed to %p4cn. >>> >>> Ah, I found it[1]: >>> >>> | so, it needs more information that this mimics htonl() / ntohl() for >>> networking. >>> >>> IMHO this does not mimic htonl(), as htonl() is a no-op on big-endian. >>> while %p4ch and %p4cl yield different results on big-endian. >>> >>>> So here network means reverse of host, not strictly big-endian. >>> >>> Please don't call it "network byte order" if that does not have the same >>> meaning as in the network subsystem. >>> >>> Personally, I like "%p4r" (reverse) more... >>> (and "%p4ch" might mean human-readable ;-) >> >> It will confuse the reader. h/r is not very established pair. If you really >> wont see h/n, better to drop them completely for now then. Because I'm against >> h/r pair. > > I am not against h/n in se, but I am against bad/confusing naming. > The big question is: should it print > (A) the value in network byte order, or > (B) the reverse of host byte order? > > If the answer is (A), I see no real reason to have %p4n, as %p4b prints > the exact same thing. Moreover, it leaves us without a portable > way to print values in reverse without the caller doing an explicit > __swab32() (which is not compatible with the %p pass-by-pointer > calling convention). > > If the answer is (B), "%p4n using network byte order" is bad/confusing > naming. The answer is definitely (B). As far as bad/confusing naming is concerned, I'll let vsprintf maintainers decide. As far as usage is concerned, %p4cl is used in appletbdrm and %p4ch is used in to be upstreamed soon smc driver by Asahi Linux.