At 07:59 PM 11/2/99 +0000, Nocturnal Occulto wrote:
>#define WAIT_STATE(ch, cycle) do { GET_WAIT_STATE(ch) = (cycle); }
>while(0)
>
>Curious whats the point with the do/while thing, why not just a simple
>GET_WAIT_STATE(ch) = (cycle); ?
It's just a trick to get the macro to look more like a function. All it
really does is force a semicolon at the end of the line. In this case it's
not needed since there's only one line to the macro (could be
(GET_WAIT_STATE(ch) = (cycle))), but in multi-line blocks, it gets treated
as a single line of code. Thus...
WAIT_STATE(ch, cycle);
...works no matter the implementation of the macro.
Brian Gray
Systems Programmer/Analyst
Broadband Technologies
SportsLine.com
(954)351-2120 x862
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST