[PATCH v3 2/7] lib/vsprintf: Add support for generic FOURCCs by extending %p4cc
Andy Shevchenko
andriy.shevchenko at linux.intel.com
Mon Nov 14 07:46:28 PST 2022
On Mon, Nov 14, 2022 at 04:34:07PM +0100, Petr Mladek wrote:
> On Tue 2022-11-08 16:33:22, Russell King wrote:
...
> > orig = get_unaligned(fourcc);
> > - val = orig & ~BIT(31);
> > + switch (fmt[2]) {
> > + case 'h':
> > + val = orig;
> > + break;
> > + case 'r':
> > + val = orig = swab32(orig);
>
> I do not like much these multi assignments. I think that the result
> was not even defined in some older C standards. Though, I can't find
> it now. And even make W=3 does not warn about it.
>
> > + break;
> > + case 'l':
> > + val = orig = le32_to_cpu(orig);
> > + break;
> > + case 'b':
> > + val = orig = be32_to_cpu(orig);
> > + break;
Isn't easy to fix? Something like below?
switch (fmt[2]) {
case 'h':
break;
case 'r':
orig = swab32(orig);
break;
case 'l':
orig = le32_to_cpu(orig);
break;
case 'b':
orig = be32_to_cpu(orig);
break;
...
}
val = orig;
--
With Best Regards,
Andy Shevchenko
More information about the linux-arm-kernel
mailing list