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

Tomi Ollila tomi.ollila at iki.fi
Wed Jun 12 13:13:27 PDT 2019


On Wed, Jun 12 2019, David Bremner wrote:

> 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)

If this is the way, then #define TO_BOOL(thing) (!! (thing))

(does uncrustify then change this to (! ! (thing)) ?

Alternative is to do (bool) cast -- i.e. return (bool)opt_desc->opt_inherit + (bool) ...

-- for the question in PATCH 0 -email:

I'd prefer just one commit doing all the uncrustify changes for now, and
preferably set 

GIT_AUTHOR_NAME=uncrustify

(GIT_AUTHOR_EMAIL not modified)

this way anyone who does git annotate can easily see who not to blame for
changes and notice what such style changes was done at the same time...

after first big bump in it is easier to fix some leftover smaller things
(if any) -- incrementally, as the effort required is significantly smaller...


I'm not sure whether TO_BOOL looks so good, but these changes LGTM. someone
more familiar seeing '!!' in other codebases could comment??


Tomi

> +
>  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
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list