From: "Maxime Devos"
> I’ve seen do { body; } while (0) in some places (albeit not in
SCM_SYSCALL), which you might want investigate and maybe copy (instead
of the { body; }), but I don’t know what the purpose of that
construct is.It's a way of turning a block into a statement. So you
can use it in an if statement like:
#define MACRO() do { ... } while (0)
if (...) MACRO(); else ....
If the macro expanded to a block, it would make everyone unhappy.
-Dale
