9.13.3.5.3. Define ENSURE_OR_GO_CLEANUP

9.13.3.5.3.1. Define Documentation

ENSURE_OR_GO_CLEANUP(CONDITION)

If condition fails, goto :cleanup label

{
    ...

    status = Operation1();
    ENSURE_OR_GO_CLEANUP(0 == status);

    status = Operation2();
    ENSURE_OR_GO_CLEANUP(0 == status);

    ...

cleanup:
    return status;
}