Messages in this thread | | | Date | Tue, 12 Aug 2003 03:11:12 -0400 | From | Ryan Anderson <> | Subject | Re: [Dri-devel] Re: [PATCH] CodingStyle fixes for drm_agpsupport |
| |
On Mon, Aug 11, 2003 at 01:21:22PM -0700, Sottek, Matthew J wrote:
> 2) There are some very real ways that bracketless code will > get broken. Either someone adds a line that didn't notice the > lack of brackets or, someone accidentally uses a multi-line > macro. > > i.e. > if(foo) > DEBUG_PRINT("Foo!\n"); > > works great for 100 years until someone recodes the DEBUG_PRINT > macro to be 2 lines. The Linux kernel often has plain looking > functions or variables that end up being macros (and may only > expand to multi-line on some platforms) which could easily get > you into such a situation.
#define DEBUG_PRINT(x) do { printk((x)); printk((x)); } while (0)
I believe your example is, oh, the #1 reason for this style of macro.
--
Ryan Anderson sometimes Pug Majere - 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/
| |