Re: [RFC][PATCH 01/11] ftrace/trivial: Clean up recordmcount.c touse Linux style comparisons

From: John Reiser
Date: Fri Apr 22 2011 - 11:19:22 EST


On 04/20/2011 07:28 PM, Steven Rostedt wrote:
> From: Steven Rostedt <srostedt@xxxxxxxxxx>
>
> The Linux style for comparing is:
>
> var == 1
> var > 0
>
> and not:
>
> 1 == var
> 0 < var
>
> It is considered that Linux developers are smart enough not to do the
>
> if (var = 1)
>
> mistake.

It's not just a matter of 'smart', it's a matter of safety.
For me it still catches a bug (typo, copy+paste, fumble in editor script, ...)
every year or two. Compilers haven't always warned, or the option to warn
might be turned off.

> - return 0 == strcmp(".text", txtname) ||
> + return strcmp(".text", txtname) == 0 ||

I consider "0==strcmp(" to be an idiom. Too often "strcmp(...) == 0"
overflows my mental stack because of the typographic width of the operands
in the source code. If you still object in this case then please consider
using something like:
#define strequ(a,b) (strcmp((a), (b)) == 0)
or
static int strequ(char const *a, char const *b)
{
return strcmp(a, b) == 0;
}
which names the idiom.

--
John Reiser
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/