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