[Libvir] RFC: Add a short doc with libvirt coding style guidelines

Jim Meyering jim at meyering.net
Mon Jan 14 09:55:33 UTC 2008

"Daniel P. Berrange" <berrange at redhat.com> wrote:
> Thoughts.. ?

Thanks for writing that up.
I like them all -- of course :-)

>        Libvirt Hacking Guidelines
>        --------------------------
>   1. Apply sizeof to the return variable, not the type.
>   2. Do not use conditionals in front of 'free'.
>   3. Include "config.h" in all source files
>   4. Indent in 4 space units, without tabs
>   5. Ensure any user visible strings are marked for translation

Here are a few proposed additions:
(IMHO, each that we agree on should be automatically checked)

  * avoid global-scoped variables
  * avoid trailing blanks and blank lines at end of file
  * avoid SPACE-TAB (i.e., " 	") esp. in indentation, but even in
      other contexts, like globs and regular expressions: i.e., prefer to
      use the TAB-SPACE sequence, grep '[	 ]$' ..., to the SPACE-TAB one.
      Of course, it's even better if you can use the syntax where the TAB
      is actually visible: /[\t ]$/.
  * use const-correct types (I don't know how to check this automatically)

With these, it is easier (or "possible") to reject invalid inputs:

  * avoid atof, atoi, atol, etc.
  * if you use strto*, be very careful, or consider the xstrto* wrappers
  * avoid parsing with sscanf

More information about the libvir-list mailing list