
On Wed, Jul 11, 2012 at 08:36:10AM -0600, Eric Blake wrote:
On 07/11/2012 04:40 AM, Hu Tao wrote:
When building with --disable-debug, VIR_DEBUG expands to a nop. But parameters to VIR_DEBUG can be variables that are passed only to VIR_DEBUG. In the case the building system complains about unused variables. --- cfg.mk | 2 ++ src/util/logging.h | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-)
# else +/** + * virLogEatParam: + * + * Do nothing but eat parameters. + */ +static inline void virLogEatParam(void *unused ATTRIBUTE_UNUSED, ...) {}
Can't we do:
static inline void virLogEatParam(void *dummy, ...) { dummy = dummy; }
to avoid even needing the ATTRIBUTE_UNUSED, and the syntax check exemption?
Good.
# define VIR_DEBUG_INT(category, f, l, ...) \ - do { } while (0) + virLogEatParam((void*)category, f, l, __VA_ARGS__)
Any reason we have to use a cast, instead of just creating our eat function with the correct type parameter in the first place?
I just wanted to make the function more generic. -- Thanks, Hu Tao