[Libguestfs] [nbdkit PATCH v2 4/5] main: Use new bool parser for --tls

Richard W.M. Jones rjones at redhat.com
Fri Nov 9 08:58:04 UTC 2018


On Thu, Nov 08, 2018 at 03:29:51PM -0600, Eric Blake wrote:
> Our use of --tls is a superset of boolean because we add a
> force mode; but once we have checked for that, it's more
> consistent if we accept the same set of other boolean values
> as anything else (in this case, adding 'yes/no' and 'true/false'),
> as well as consistently allowing case-insensitivity.  The error
> message for an unrecognized spelling changes from:
> 
> $ nbdkit --tls huh
> nbdkit: --tls flag must be off|on|require
> 
> to:
> 
> $ nbdkit --tls huh
> nbdkit: error: could not decipher boolean (huh)
> 
> but I don't think that hurts too much.
> 
> Signed-off-by: Eric Blake <eblake at redhat.com>
> ---
> 
>  src/main.c | 16 ++++++----------
>  1 file changed, 6 insertions(+), 10 deletions(-)
> 
> diff --git a/src/main.c b/src/main.c
> index 7ebbba6..0a883e1 100644
> --- a/src/main.c
> +++ b/src/main.c
> @@ -376,18 +376,14 @@ main (int argc, char *argv[])
> 
>      case TLS_OPTION:
>        tls_set_on_cli = 1;
> -      if (strcmp (optarg, "off") == 0 || strcmp (optarg, "0") == 0)
> -        tls = 0;
> -      else if (strcmp (optarg, "on") == 0 || strcmp (optarg, "1") == 0)
> -        tls = 1;
> -      else if (strcmp (optarg, "require") == 0 ||
> -               strcmp (optarg, "required") == 0 ||
> -               strcmp (optarg, "force") == 0)
> +      if (strcasecmp (optarg, "require") == 0 ||
> +          strcasecmp (optarg, "required") == 0 ||
> +          strcasecmp (optarg, "force") == 0)
>          tls = 2;
>        else {
> -        fprintf (stderr, "%s: --tls flag must be off|on|require\n",
> -                 program_name);
> -        exit (EXIT_FAILURE);
> +        tls = nbdkit_parse_bool (optarg);
> +        if (tls < 0)

Stylisticly I guess we use tls == -1 elsewhere, but it's not
a big deal.

Rich.

> +          exit (EXIT_FAILURE);
>        }
>        break;
> 
> -- 
> 2.17.2
> 
> _______________________________________________
> Libguestfs mailing list
> Libguestfs at redhat.com
> https://www.redhat.com/mailman/listinfo/libguestfs

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html




More information about the Libguestfs mailing list