From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 8EAFA6DE0E92 for ; Wed, 12 Jun 2019 13:13:31 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: 0.419 X-Spam-Level: X-Spam-Status: No, score=0.419 tagged_above=-999 required=5 tests=[AWL=-0.233, SPF_NEUTRAL=0.652] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id prOCFrNxS_SK for ; Wed, 12 Jun 2019 13:13:30 -0700 (PDT) Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) by arlo.cworth.org (Postfix) with ESMTP id 214E96DE0E8B for ; Wed, 12 Jun 2019 13:13:29 -0700 (PDT) Received: from guru.guru-group.fi (localhost [IPv6:::1]) by guru.guru-group.fi (Postfix) with ESMTP id 3CA3F100084; Wed, 12 Jun 2019 23:13:27 +0300 (EEST) From: Tomi Ollila To: David Bremner , notmuch@notmuchmail.org Subject: Re: [PATCH 1/7] cli: replace use of !! with macro In-Reply-To: <20190612113506.2892-2-david@tethera.net> References: <20190612113506.2892-1-david@tethera.net> <20190612113506.2892-2-david@tethera.net> User-Agent: Notmuch/0.28.3+84~g41389bb (https://notmuchmail.org) Emacs/25.2.1 (x86_64-unknown-linux-gnu) X-Face: HhBM'cA~ MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Jun 2019 20:13:31 -0000 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