On Wed, 2008-02-20 at 12:02 -0500, Trond Myklebust wrote: > > #ifdef DEBUG > > #define some_print_wrapper(fmt, arg...) \ > > do { if (0) printk(KERN_DEBUG fmt, ##arg); } while (0) > > #else > > #define some_print_wrapper(fmt, arg...) \ > > printk(KERN_DEBUG fmt, ##arg) > > #endif > Have you actually read include/linux/sunrpc/debug.h?
Yes, I have. What's there: #define dfprintk(fac, args...) do ; while (0) vs what's suggested: #define dfprintk(fac, args...) \ do { if (0) printk(##args); } while (0); No argument verification is done to args There has been code that fails to compile with -DDEBUG when the code use two different #ifdef DEBUG #else macros. I think some of the USB code was reworked because of that. The extra verification is just a guard against bad arguments when compiled normally. It's similar to what's done in kernel.h pr_debug without the __attribute__((format(printf,x,y))) so that calls made as arguments to functions aren't called unnecessarily. cheers, Joe -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html