At last we can use GOTO again without being vilified :)
The new MISRA standard now allows it's use (with caveats), I haven't seen the standard yet but here's a excerpt from an article on the Electronic Design site (http://electronicdesign.com/dev-tools/misra-c2012-plenty-good-reasons-change?NL=ED-07&Issue=ED-07_20130226_ED-07_678&YM_RIDemail@example.com&YM_MID=1375780&sfvc4enews=42)
Not All Goto Statements Patch Up Wooly Thinking!
All too often, goto statements are used to patch up wooly thinking or an ill-defined algorithm. However, there are situations where the use of the goto statement is justified. For example, if there is an emergency situation in a process-control application, is it really better to set a flag and check it later in the algorithm than to take a direct route via a goto? The “goto statement should not be used” rule is now advisory rather than required, and an additional two rules narrow down the circumstances under which it is acceptable:
The goto statement shall jump to a label declared later in the same function. Any label referenced by a goto statement shall be declared in the same block, or in any block enclosing the goto statement.
So all us wooly thinkers are off the hook now :)