This isn't what you were asking about, but there are a few better ways you could arrange those loop.
Code:
for (;;) {
for(int loop = 1; loop;) {
// ...
if(ok) loop = 0;
}
func();
}
Move the variable that controls the loop in as far as you can get it. Limiting the scope of your variables as much as possible is always a good thing. I also renamed it, boolean variables should have a positive meaning. If we want to keep looping, loop is true. Having a variable called "break loop" that breaks the loop when it's 0 is more than a little confusing, someone (possibly future you) is going to come along and make an incorrect assumption about the purpose of that variable and possibly cause a bug.
Or... well, just the break keyword.
Code:
for (;;) {
for(;;) {
// ...
if(ok) break;
}
func();
}