stevens (09/23/82)
The trick I use is to define the macro like this:
#define mymacro if (e1) s1; else
-or-
#define mymacro if (e1) {s1;} else
Then both
mymacro;
-and-
if (whatever)
mymacro;
else
stmt;
work like you would expect.
This also works for things like:
#define TRACE(stmt) if (tracing) {stmt;} else
so you can do
TRACE(printf("Got to this point.\n"));
--Scott Stevens
inuxd!stevens