[PATCH 1/7] cli: replace use of !! with macro
Jorge P. de Morais Neto
jorge+list at disroot.org
Wed Jun 12 13:17:57 PDT 2019
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 <david at tethera.net> 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 at 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?]]
More information about the notmuch
mailing list