[PATCH 1/7] cli: replace use of !! with macro

David Bremner david at tethera.net
Wed Jun 12 04:35:00 PDT 2019


The slightly annoying reason to do this is because uncrustify can't
handle '!! foo' sensibly. The less annoying reason is that it helps
understand what the code does.
---
 command-line-arguments.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/command-line-arguments.c b/command-line-arguments.c
index d64aa85b..5f0607be 100644
--- a/command-line-arguments.c
+++ b/command-line-arguments.c
@@ -4,6 +4,8 @@
 #include "error_util.h"
 #include "command-line-arguments.h"
 
+#define TO_BOOL(thing) (!! thing)
+
 typedef enum {
     OPT_FAILED, /* false */
     OPT_OK, /* good */
@@ -120,13 +122,13 @@ _process_string_arg (const notmuch_opt_desc_t *arg_desc, char next, const char *
 static int _opt_set_count (const notmuch_opt_desc_t *opt_desc)
 {
     return
-	!!opt_desc->opt_inherit +
-	!!opt_desc->opt_bool +
-	!!opt_desc->opt_int +
-	!!opt_desc->opt_keyword +
-	!!opt_desc->opt_flags +
-	!!opt_desc->opt_string +
-	!!opt_desc->opt_position;
+	TO_BOOL (opt_desc->opt_inherit) +
+	TO_BOOL (opt_desc->opt_bool) +
+	TO_BOOL (opt_desc->opt_int) +
+	TO_BOOL (opt_desc->opt_keyword) +
+	TO_BOOL (opt_desc->opt_flags) +
+	TO_BOOL (opt_desc->opt_string) +
+	TO_BOOL (opt_desc->opt_position);
 }
 
 /* Return true if opt_desc is valid. */
-- 
2.20.1



More information about the notmuch mailing list