char Error; char Done; char Avail; void test( char val ) { do{ switch( val ){ case 0: // Done = 1, Avail = 0 break; case 1: // Avail = 0 continue; case 2: // nothing return; default: // Error = 1, Done = 1, Avail = 0 Error = 1; } Done = 1; }while( 0 ); Avail = 0; }