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

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

Date: Wed, 12 Jun 2019 23:13:27 +0300

To: David Bremner, notmuch@notmuchmail.org

Cc:

From: Tomi Ollila


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

Thread: