Messages in this thread | | | Date | Fri, 17 Dec 2004 09:06:57 +0100 (MET) | From | Jan Engelhardt <> | Subject | Re: Significance of do ... while (0) |
| |
>> >> Can any one explain the importance of do ... while (0) >> >It's a standard C programming practice; more info is available from >> Why? {} would suffice, no need to do{}while(0) > >Unless I'm mistaken, it won't work in all cases. Example: > #define foo(...) { ... /* nefarious macro stuff here */ ... } > if (some_condition) > foo(); > else > // do something nifty > >The above would expand to: > > if (some_condition) { > /* nefarious macro stuff here */ > }; > else > // do something nifty > >And that's not quite right.
So it's best to always make some braces around ifs :) Would be consistent with longer-than-one-statement blocks too.
if(some_cond) { MY_MACRO }
Jan Engelhardt -- ENOSPC - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |