>>27
Furthermore, Java has labelled break and continue. Python etc have generators. If these aren't contrary to structured programming as laid down by Wirth and those other purist teachers, I don't really know what is.
So sure, you could skip the out label and just go, do { if((fd = open(gargar, O_RDONLY)) < 0) break; ... ok = true; } while(false); if(!ok) { handle exception and so forth }, but that's a rarer idiom than out-labels.