Re: kernel coding style for if ... else which cross #ifdef

From: H. Peter Anvin
Date: Fri May 23 2008 - 19:13:37 EST

Steve French wrote:
A question splitting "else" and "if" on distinct lines vs. using an
extra line and extra #else came up as I was reviewing a proposed cifs
patch. Which is the preferred style?

if (foo)
something ...
if ((mode & S_IWUGO) == 0)

or alternatively

if (foo)
something ...
else if ((mode & S_IWUGO) == 0)
if ((mode & S_IWUGO) == 0)

The former. Why? Because the latter case has unbalanced indentation: to an editor, and to the human eye, it looks like the if in the #else clause is a child to the "else if".

*However*, the best would really be if we changed Kconfig to emit configuration constants what were 0/1 instead of undefined/defined. That way we could do:

if (CONFIG_SOMETHING && foo) {
/* ... something ... */
} else if ((mode & S_IWUGO) == 0) {
/* ... */

... in many cases.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at