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

Reply via email to