
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 ...