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

From: Philipp Hortmann
Date: Fri Jun 24 2022 - 01:26:37 EST


On 6/24/22 05:30, Chang Yu wrote:
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.

Please consider that the person you want to sign-of for this patch is most likely Greg K-H. I propose to fix first what he is asking for.

Bye Philipp