Variable arg function question

Unga unga888 at
Sun May 4 15:34:31 UTC 2008

--- Roland Smith <rsmith at> wrote:

> On Sun, May 04, 2008 at 07:02:36AM -0700, Patrick
> Clochesy wrote:
> > What about using a macro (...) in front of the
> function to csll it which 
> > passes __VARARGS__, NULL to ensure there is always
> a trailing NULL? I think 
> > this would at least work in GCC... Can' test on my
> phone though.
> That's a good idea. If one uses __VA_ARGS__ instead
> of __VARARGS__, it
> should work with any C99 compliant compiler,
> including gcc.
> The good thing about variadic macros in C99[1] is
> that you don't need a
> first argument.
> Roland
> [1:]
> -- 

I gave it a try, but I cannot get it to work:
(As per above wikipedia example)

void realdprintf (char const *file, int line, char
const *fmt, ...); 
#define dprintf(...) realdprintf(__FILE__, __LINE__,

To solve my problem, I must be able to indicate the
end of the arg list, may be by a empty string (""),
but GNU C compiler does not allow to specify anything
after the ... .

How do I specify end of arg list? or is that the way?


Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

More information about the freebsd-questions mailing list