Re: [PATCH] staging: r8188eu: combine nested if statements into one

From: Chang Yu
Date: Thu Jun 23 2022 - 23:30:55 EST


On Thu, Jun 23, 2022 at 12:05:40PM +0000, David Laight wrote:
> ...
> > Seems to work. But the rules which operation is done first && or == are
> > not too easy.
>
> They are the way around you want them to be.
> == generates a truth value.
> && and || compare truth values,
>
> The only 'wrong' operator priorities are & and |.
> The short-circuiting && and || weren't in the very early
> versions of C - the bitwise & and | were used.
> When K&R added && and || they left the priorities of & an | alone.
> I they they've later said they should have bitten the bullet
> and changed the priorities and all the existing C code
>
> > I would prefer to have:
> >
> > if (padapter && (pfree_recv_queue == free_recv_queue))
> >
> > So it is very easy to read what is evaluated first.
>
> That just starts adding too many () and makes more complex
> conditionals hard to read.
>
> David
>
> >
> > But this is just my opinion and does not have to be right.
> >
> > Thanks for your patch.
> >
> > Bye Philipp
>
> -
> Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
> Registration No: 1397386 (Wales)

In my humble opinion it just boils down to personal preference in this
case. The kernel coding style guidlines don't seem to have a definitive
gold standard regarding this. I will leave the patch as-is for now, but
if anybody feels strongly that the () needs to be removed please feel
free to let me know and I'll make the change.