#define P99_UNWIND (   X)    p00_unwind(p00_unwind_top, p99_unwind_level, (X))

Preliminary resume from one or several levels of nested P99_UNWIND_PROTECT.

XIf this evaluates to 0 nothing is done. If it evaluates positive, that number of levels of P99_UNWIND_PROTECT will be unwound. Otherwise all levels on the stack will be unwound and the control variables p99_unwind_code of these will be set to the value of x.
Utilities that change control flow in an unexpected way may result in the loss of some modifications that are effected on variables. A modern compiler should tell you when you are in such a situation. If it is the case you'd have to declare the variable in question with the volatile qualifier. For an explanation see P99_UNWIND_PROTECT.

Definition at line 687 of file p99_block.h.