On Mon, 04 Jun 2007 10:43:51 PDT, "H. Peter Anvin" said:
> Jan Engelhardt wrote:
> > But gotos are special. ("Evil" minus the "it's good for unrolling in case 
> > of an
> > error" case).

> So?
> 
> You still want them to be associated with the level the bailout happens at.

No, you want them associated with the level you bail out *TO*.  Otherwise you
get this:

        ...
        ...
        if (..) {
                if (..) {
                        goto ka_blammo;
        ...
        foo = yadda_yadda(.....);
        kfree(bar->some_struct);
                        ka_blammo:
        /* continue with cleanup here */

Goto labels belong in column 1.  Or 2 if you believe in the existence of 'diff
-p' that get confused by col-1 labels.

Attachment: pgpK2qCchieQL.pgp
Description: PGP signature

Reply via email to