[libvirt] [PATCH 1/1] The use of goto

Jim Meyering jim at meyering.net
Fri Mar 5 22:45:39 UTC 2010


David Allan wrote:
> * Added a section on the appropriate and inappropriate uses of goto to the HACKING document and website.
> ---

Good to write that down.

> +Use of goto
> +===========
> +
> +The use of goto is not forbidden, and goto is widely used throughout
> +libvirt.  While the uncontrolled use of goto will quickly lead to
> +unmaintainable code, there is a place for it in well structured code
> +where its use increases readability and maintainability.
> +
> +The typical use of goto is to jump to cleanup code in the case of a
> +long list of actions, any of which may fail and cause the entire
> +operation to fail.  In this case, a function will have a single label
> +at the end of the funcion.  It's almost always ok to use this style.

s/funcion/function/

...
>                  Libvirt commiters guidelines
>                  ============================
> diff --git a/docs/hacking.html.in b/docs/hacking.html.in
...
> +      The typical use of goto is to jump to cleanup code in the case
> +      of a long list of actions, any of which may fail and cause the
> +      entire operation to fail.  In this case, a function will have a
> +      single label at the end of the funcion.  It's almost always ok

Likewise                                ^^^^^^

> +      to use this style.  In particular, if the cleanup code only
> +      involves free'ing memory, then having multiple labels is
...




More information about the libvir-list mailing list