Re: [PATCH 1/7] cli: replace use of !! with macro
Hi. Isn't it good practice to parenthesize the arguments of C macros? So TO_BOOL would be defined as #define TO_BOOL(thing) (!! (thing)) In fact, why not just cast to bool? Regards David Bremner writes: > 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 > > ___ > notmuch mailing list > notmuch@notmuchmail.org > https://notmuchmail.org/mailman/listinfo/notmuch -- - I am Brazilian. I hope my English is correct and I welcome feedback - Please adopt free formats like PDF, ODF, Org, LaTeX, Opus, WebM and 7z - Free/libre software for Android: https://f-droid.org/ - [[https://www.gnu.org/philosophy/free-sw.html][What is free software?]] ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 1/7] cli: replace use of !! with macro
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
[PATCH 1/7] cli: replace use of !! with macro
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 ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch