Variable length arg lists for macros
David DiGiacomo
david at sun.uucp
Fri Sep 16 09:23:15 AEST 1988
In article <13573 at mimsy.UUCP> chris at mimsy.UUCP (Chris Torek) writes:
>or, if you need {}s,
>
> #define MAC() do { mac_statements } while (0)
That's nice, but lint churlishly complains about "constant in conditional
context". To avoid this, use:
#ifdef lint
int _ZERO_;
#else
#define _ZERO_ 0
#endif
#define _STMT(op) do { op } while (_ZERO_)
#define MAC() _STMT(mac_statements)
More information about the Comp.lang.c
mailing list