
On Fri, Jul 13, 2012 at 11:46:17AM +0200, Michal Privoznik wrote:
On 13.07.2012 09:50, 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. --- src/util/logging.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/util/logging.h b/src/util/logging.h index 70318d0..2e70af4 100644 --- a/src/util/logging.h +++ b/src/util/logging.h @@ -34,8 +34,21 @@ # define VIR_DEBUG_INT(category, f, l, ...) \ virLogMessage(category, VIR_LOG_DEBUG, f, l, 0, __VA_ARGS__) # else +/** + * virLogEatParam: + * + * Do nothing but eat parameters. + */ +static inline void virLogEatParam(const char *category, + const char *funcname, + long long linenr, ...) +{ + category = category; + funcname = funcname; + linenr = linenr; +} # define VIR_DEBUG_INT(category, f, l, ...) \ - do { } while (0) + virLogEatParam(category, f, l, __VA_ARGS__) # endif /* !ENABLE_DEBUG */
# define VIR_INFO_INT(category, f, l, ...) \
Okay, this fixes the issue. However I think virLogEatParam() should be implemented in src/util/logging.c and in .h it should be only annotated.
No, the whole point in having it in logging.h, is that it expands to a no-op when you have debugging disabled. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|