Ну и какая разница break с середины или return?

Деление на процедуры и вложенные if позволяют все это разрулить.
Но C-шники не любят делить на функции.
Вложенных функций нет.
Не вложенную (даже private) -- вроде как нужно объявить в h-файле.
После этого придется перекомпилировать "бог знает что".
Да еще и source control мешает.

Короче легче наколбасить "такое".