[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 6/8] tools/xs-clients: don't exit with error when using -h parameter


  • To: Juergen Gross <jgross@xxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Thu, 12 Mar 2026 16:00:31 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tt+qVBv15qMf88SL/5sDZ1jpbbnkCfDyWx7rgW2Gw4M=; b=KRyn4UWD0yG3pOTVIiUq8NWBW5yynk8GzarfwmP1elnO519fYi/r9Fk1UenW+IJTDbY0TAMrU+cmsecLp6lmZE6fzvrpEHLgPPZN9e8EEKosn87aWUAzxf8InjqnlTi6MKJt05IytzTO8gjqxP1qCKDZ1WjeFqmodf+JUeDaciukMFjSGXTTKZIWEeyhxwGLDEwFGuji7563sJPVHzLcuBkqffKdLHL0iEPDCDzslwMGZoni74NmgeYgwqkM4ykYh0fcCfh+Uq6OwDBrbEZGfBn+ZZa7Pns1uMj4rHsTCXkJG3ijVg8vJKUv+WjzKBtst725U6rG2yjIAdIg3H+ZqQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pKst5KfYt5jwl8NuT8Xrz68IsARmIqdD8XvAnVWss+vfgMYBGlztG9zFs9727i1KbGtspH+N4Dk+P51v5wmcJQVSBJdARkfQ6ujwchGz5YhR6o1wjR6e++VTfPT4O4EPsis2nfZZ9XOyJoWwJb2zQbqtlHf/8YG5i/QgrAPG2123LgvZdXAqtcj/L3HZt0K+AkcS+TyqBqGDjedDhyMqtebrBMhc5aYNpxawmkAlOP9yLg7lYAQA963jpxbnw61BgdZYXwiXUrxIvDDQ9K/ivrQvLhVW7AbZ/rTaXcYP7bMr3ZRrpNg7SuCsqT5Xa2r9ET1conAl+UEuHYJTJwnqww==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>
  • Delivery-date: Thu, 12 Mar 2026 16:00:47 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 12/03/2026 3:51 pm, Juergen Gross wrote:
> diff --git a/tools/xs-clients/xenstore_client.c 
> b/tools/xs-clients/xenstore_client.c
> index a104cf6487..1794451d43 100644
> --- a/tools/xs-clients/xenstore_client.c
> +++ b/tools/xs-clients/xenstore_client.c
> @@ -214,37 +214,37 @@ output_raw(const char *data, int len)
>  }
>  
>  static void
> -usage(enum mode mode, int incl_mode, const char *progname)
> +usage(int eval, enum mode mode, int incl_mode, const char *progname)
>  {
>      const char *mstr = NULL;
>  
>      switch (mode) {
>      case MODE_unknown:
> -     errx(1, "Usage: %s <mode> [-h] [...]", progname);
> +     errx(eval, "Usage: %s <mode> [-h] [...]", progname);
>      case MODE_read:
>       mstr = incl_mode ? "read " : "";
> -     errx(1, "Usage: %s %s[-h] [-p] [-R] key [...]", progname, mstr);
> +     errx(eval, "Usage: %s %s[-h] [-p] [-R] key [...]", progname, mstr);
>      case MODE_write:
>       mstr = incl_mode ? "write " : "";
> -     errx(1, "Usage: %s %s[-h] [-R] key value [...]", progname, mstr);
> +     errx(eval, "Usage: %s %s[-h] [-R] key value [...]", progname, mstr);
>      case MODE_rm:
>       mstr = incl_mode ? "rm " : "";
> -     errx(1, "Usage: %s %s[-h] [-t] key [...]", progname, mstr);
> +     errx(eval, "Usage: %s %s[-h] [-t] key [...]", progname, mstr);
>      case MODE_exists:
>       mstr = incl_mode ? "exists " : "";
>       /* fallthrough */
>      case MODE_list:
>       mstr = mstr ? : incl_mode ? "list " : "";
> -     errx(1, "Usage: %s %s[-h] [-p] key [...]", progname, mstr);
> +     errx(eval, "Usage: %s %s[-h] [-p] key [...]", progname, mstr);
>      case MODE_ls:
>       mstr = mstr ? : incl_mode ? "ls " : "";
> -     errx(1, "Usage: %s %s[-h] [-f] [-p] [path]", progname, mstr);
> +     errx(eval, "Usage: %s %s[-h] [-f] [-p] [path]", progname, mstr);
>      case MODE_chmod:
>       mstr = incl_mode ? "chmod " : "";
> -     errx(1, "Usage: %s %s[-h] [-u] [-r] key <mode [modes...]>", progname, 
> mstr);
> +     errx(eval, "Usage: %s %s[-h] [-u] [-r] key <mode [modes...]>", 
> progname, mstr);
>      case MODE_watch:
>       mstr = incl_mode ? "watch " : "";
> -     errx(1, "Usage: %s %s[-h] [-n NR] key", progname, mstr);
> +     errx(eval, "Usage: %s %s[-h] [-n NR] key", progname, mstr);
>      }
>  }

I'd not even spotted this, but I agree it wants fixing.  Could I
possibly talk you into naming the parameter err_val, seeing as eval
commonly means something very different.

~Andrew



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.