[Spice-commits] docs/spice_style.txt

Frediano Ziglio fziglio at kemper.freedesktop.org
Fri Feb 9 10:11:55 UTC 2018


 docs/spice_style.txt |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

New commits:
commit b34478a65242d6f9fdd3aa18abbc118862358ce9
Author: Christophe de Dinechin <dinechin at redhat.com>
Date:   Thu Feb 8 12:25:29 2018 +0100

    Add mention of header guards
    
    Signed-off-by: Christophe de Dinechin <dinechin at redhat.com>
    Acked-by: Frediano Ziglio <fziglio at redhat.com>

diff --git a/docs/spice_style.txt b/docs/spice_style.txt
index 6fdba48c..0c4fa50d 100644
--- a/docs/spice_style.txt
+++ b/docs/spice_style.txt
@@ -348,6 +348,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
+----
+
+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.
+
 Header inclusion
 ----------------
 


More information about the Spice-commits mailing list