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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to