|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 6/8] tools/xs-clients: don't exit with error when using -h parameter
The "-h" parameter of the xenstore-* programs is explicitly meant to
show the usage information of the programs. This use case should not
result in an error of the program's exit code.
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
V2:
- new patch
---
tools/xs-clients/xenstore_client.c | 40 +++++++++++++++---------------
1 file changed, 20 insertions(+), 20 deletions(-)
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);
}
}
@@ -685,7 +685,7 @@ main(int argc, char **argv)
command = command + strlen("xenstore-");
}
else if (argc < 2)
- usage(MODE_unknown, 0, argv[0]);
+ usage(1, MODE_unknown, 0, argv[0]);
else
{
command = argv[1];
@@ -715,7 +715,7 @@ main(int argc, char **argv)
switch (c) {
case 'h':
- usage(mode, switch_argv, argv[0]);
+ usage(0, mode, switch_argv, argv[0]);
/* NOTREACHED */
case 'f':
if ( mode == MODE_ls ) {
@@ -723,44 +723,44 @@ main(int argc, char **argv)
desired_width = 0;
show_whole_path = 1;
} else {
- usage(mode, switch_argv, argv[0]);
+ usage(1, mode, switch_argv, argv[0]);
}
break;
case 'p':
if ( mode == MODE_read || mode == MODE_list || mode == MODE_ls )
prefix = 1;
else
- usage(mode, switch_argv, argv[0]);
+ usage(1, mode, switch_argv, argv[0]);
break;
case 't':
if ( mode == MODE_rm )
tidy = 1;
else
- usage(mode, switch_argv, argv[0]);
+ usage(1, mode, switch_argv, argv[0]);
break;
case 'u':
if ( mode == MODE_chmod )
upto = 1;
else
- usage(mode, switch_argv, argv[0]);
+ usage(1, mode, switch_argv, argv[0]);
break;
case 'r':
if ( mode == MODE_chmod )
recurse = 1;
else
- usage(mode, switch_argv, argv[0]);
+ usage(1, mode, switch_argv, argv[0]);
break;
case 'n':
if ( mode == MODE_watch )
nr_watches = atoi(optarg);
else
- usage(mode, switch_argv, argv[0]);
+ usage(1, mode, switch_argv, argv[0]);
break;
case 'R':
if ( mode == MODE_read || mode == MODE_write )
raw = 1;
else
- usage(mode, switch_argv, argv[0]);
+ usage(1, mode, switch_argv, argv[0]);
break;
}
}
@@ -770,13 +770,13 @@ main(int argc, char **argv)
break;
case MODE_write:
if ((argc - switch_argv - optind) % 2 == 1) {
- usage(mode, switch_argv, argv[0]);
+ usage(1, mode, switch_argv, argv[0]);
/* NOTREACHED */
}
/* DROP-THRU */
default:
if (optind == argc - switch_argv) {
- usage(mode, switch_argv, argv[0]);
+ usage(1, mode, switch_argv, argv[0]);
/* NOTREACHED */
}
}
--
2.53.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |