
do {
    x1 = do_something();
    if (!x1) break;
    x2 = do_something_else(x1);
    if (!x2) break;
    if (!do_yet_another_thing()) break;
    ...
    // everything done. got a lucky ending.
    return TRUE;
} while (FALSE);

// Time for some garbage collect (poor mans C++ exceptions)
cleanup();
return FALSE;
