[Spice-devel] [PATCH v3 09/11] Add mention of header guards

Christophe Fergeau cfergeau at redhat.com
Wed Feb 14 15:43:37 UTC 2018


On Thu, Feb 08, 2018 at 12:25:29PM +0100, Christophe de Dinechin wrote:
> From: Christophe de Dinechin <dinechin at redhat.com>
> 
> Signed-off-by: Christophe de Dinechin <dinechin at redhat.com>
> ---
>  docs/spice_style.txt | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/docs/spice_style.txt b/docs/spice_style.txt
> index eb2ee252..ae91f987 100644
> --- a/docs/spice_style.txt
> +++ b/docs/spice_style.txt
> @@ -385,6 +385,25 @@ char *array[] = {
>      "item_3",
>  };
>  
> +Headers
> +-------
> +
> +Headers should be protected against multiple inclusion using a macro that contains the header file name in uppercase, with all characters that are invalid in C replaced with an underscore '_':
> +
> +[source,c]
> +---
> +#ifndef MY_MODULE_H
> +#define MY_MODULE_H
> +
> +...
> +
> +#endif // MY_MODULE_H

I see this has been pushed, but this does not match what server/ is
doing, so nack from me.

> +---
> +
> +The macro may include additional information, e.g. a component. For example a file generally referenced as foo/bar.h could use a FOO_BAR_H macro.
> +
> +Historically, some headers added underscores liberally, e.g. MY_MODULE_H_. This is neither necessary nor discouraged, although as a reminder, a leading underscore followed by a capital letter is reserved for the implementation and should not be used, so _MY_MODULE_H is, technically speaking, invalid C.

And really, no to these "oh, we have a standard, but you can make up
your own variations around it". I would not even mention the historical
stuff, or just say that it's obsolete, and ideally should be fixed.

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20180214/777b116c/attachment-0001.sig>


More information about the Spice-devel mailing list