[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4DB19A1E.8070806@bitwagon.com>
Date:	Fri, 22 Apr 2011 08:09:18 -0700
From:	John Reiser <jreiser@...wagon.com>
To:	Steven Rostedt <rostedt@...dmis.org>
CC:	linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Frederic Weisbecker <fweisbec@...il.com>,
	"H. Peter Anvin" <hpa@...or.com>
Subject: Re: [RFC][PATCH 01/11] ftrace/trivial: Clean up recordmcount.c to
 use Linux style comparisons
On 04/20/2011 07:28 PM, Steven Rostedt wrote:
> From: Steven Rostedt <srostedt@...hat.com>
> 
> 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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Powered by blists - more mailing lists
 
