Program Listing for File nxEnsure.h

Return to documentation for file (hostlib/hostLib/inc/nxEnsure.h)

{
    ...

    do {
        status = Operation1();
        ENSURE_OR_BREAK(0 == status);

        status = Operation2();
        ENSURE_OR_BREAK(0 == status);

        ...

    } while(0);

    return status;
}
{
    int status = 0;
    ...

    value = Operation1();
    ENSURE_OR_QUIT_WITH_STATUS_ON_ERROR(0 == value, status, ERR_FAIL);

    value = Operation2();
    ENSURE_OR_QUIT_WITH_STATUS_ON_ERROR(0 == value, status, ERR_NOT_ENOUGH_SPACE);

    ...
quit:
    return status;
}
    ...

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

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

    ...

cleanup:
    return status;
}
    ...

    status = Operation1();
    ENSURE_OR_GO_EXIT(0 == status);

    status = Operation2();
    ENSURE_OR_GO_EXIT(0 == status);

    ...

exit:
    return status;
}
{
    ...

    status = Operation1();
    ENSURE_OR_RETURN(0 == status);

    status = Operation2();
    ENSURE_OR_RETURN(0 == status);

    ...

    return;
}
{
    ...

    status = Operation1();
    ENSURE_OR_RETURN_ON_ERROR(0 == status, ERR_FAIL);

    status = Operation2();
    ENSURE_OR_RETURN_ON_ERROR(0 == status, ERR_NOT_ENOUGH_SPACE);

    ...

    return 0;
}