[libvirt] [PATCH 29/29] Require space after cast

Martin Kletzander mkletzan at redhat.com
Mon Apr 23 12:44:57 UTC 2018


Let's make a rule out of it and document it.  This is based on few sources:

1) Most of the code [1] used spaces after casts, so the patch to change it this
   way rather than the other way around is smaller

2) I asked the first libvirt developer on my left when deciding, they preferred
   spaces

3) My own preference.

4) The fact that this is clearly the superior way of casting =D

[1] 54.85% is more than 50%, plus it is increasing as it was 52.96% during the
    first draft of this clean-up.

Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
---
 cfg.mk               | 6 ++++++
 docs/hacking.html.in | 9 +++++++++
 2 files changed, 15 insertions(+)

diff --git a/cfg.mk b/cfg.mk
index 902178dd1c3a..967f99202481 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -1050,6 +1050,12 @@ sc_prohibit_backslash_alignment:
 	halt='Do not attempt to right-align backslashes' \
 	  $(_sc_search_regexp)
 
+sc_require_space_after_cast:
+	@prohibit='(\([a-zA-Z _]+ \*+|\(((signed|unsigned|long|short|int|char|s?size_t|void) ?)+|switch \(\(vir[a-zA-Z]*Type)\)([^ );,])' \
+	in_vc_files='*\.[chx]$$' \
+	halt='Use space after cast' \
+	  $(_sc_search_regexp)
+
 # We don't use this feature of maint.mk.
 prev_version_file = /dev/null
 
diff --git a/docs/hacking.html.in b/docs/hacking.html.in
index fbeea3eb751d..df3821aa3084 100644
--- a/docs/hacking.html.in
+++ b/docs/hacking.html.in
@@ -579,6 +579,15 @@
       int foo(int wizz);    // Good
 </pre>
 
+    <p>
+      There must be a single whitespace immediately following a cast to any
+      type. E.g.
+    </p>
+    <pre>
+      foo = (int)bar;  // Bad
+      foo = (int) bar; // Good
+</pre>
+
     <h2><a id="comma">Commas</a></h2>
 
     <p>
-- 
2.17.0




More information about the libvir-list mailing list