MISRA-C でも、制御パスを変える、
goto, 複数return, (多重脱出からの?)break/continue などは禁止。
だから、ループ内で、やたらとフラグを持ち回る

でも、Linux では、
早期return, goto でエラー処理をまとめたりするから、フラグを持ち回らない