
 Zitat von 
Iqon
					
				 
				ob man das ganze Switch-Case gedöns irgendwie Sinnvoll verstecken könnte.
			
		 
	 
 Verstecken kann man in C fast alles. Ob es sinnvoll ist, ist eine andere Frage. Wäre zwar nicht meine Art, aber bitte schön, ein Q&D Vorschlag zum Verstecken von "Switch-Case-Gedöns":
	Code:
	#include "StateMachine.h"
void longrunning(void) {
    STATEMACHINE_INIT 
        ;/*...*/ // do something
        step++;
    STATEMACHINE_STEP(1)       
        ;/*...*/ // do something more
        step++;
    STATEMACHINE_STEP(2)
        ; // do even more
        if(error) 
            step = -1;
        else
            step = 0;
    STATEMACHINE_STEP(-1)
        ; // do some error handling
        step = 0;
    STATEMACHINE_END
}
 Nachtrag: 
Ich hab die quick'n'dirty Macros etwas überarbeitet und mittlerweile gefällt mir die Lösung sogar 
						
					
Lesezeichen