Man page, help output and also parsing is sorted in order to find
options smoothly.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
tools/virsh.c | 64 ++++++++++++++++++++++++++++-----------------------------
tools/virsh.pod | 38 +++++++++++++++++-----------------
2 files changed, 51 insertions(+), 51 deletions(-)
diff --git a/tools/virsh.c b/tools/virsh.c
index 2d4aaff..9b8429f 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -3110,16 +3110,16 @@ vshUsage(void)
"\n%s [options]... <command> [args...]\n\n"
" options:\n"
" -c | --connect=URI hypervisor connection
URI\n"
- " -r | --readonly connect readonly\n"
" -d | --debug=NUM debug level [0-4]\n"
+ " -e | --escape <char> set escape sequence for
console\n"
" -h | --help this help\n"
+ " -l | --log=FILE output logging to file\n"
" -q | --quiet quiet mode\n"
+ " -r | --readonly connect readonly\n"
" -t | --timing print timing information\n"
- " -l | --log=FILE output logging to file\n"
" -v short version\n"
" -V long version\n"
" --version[=TYPE] version, TYPE is short or long
(default short)\n"
- " -e | --escape <char> set escape sequence for
console\n\n"
" commands (non interactive mode):\n\n"), progname,
progname);
for (grp = cmdGroups; grp->name; grp++) {
@@ -3306,23 +3306,27 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
size_t i;
int longindex = -1;
struct option opt[] = {
+ {"connect", required_argument, NULL, 'c'},
{"debug", required_argument, NULL, 'd'},
+ {"escape", required_argument, NULL, 'e'},
{"help", no_argument, NULL, 'h'},
+ {"log", required_argument, NULL, 'l'},
{"quiet", no_argument, NULL, 'q'},
+ {"readonly", no_argument, NULL, 'r'},
{"timing", no_argument, NULL, 't'},
{"version", optional_argument, NULL, 'v'},
- {"connect", required_argument, NULL, 'c'},
- {"readonly", no_argument, NULL, 'r'},
- {"log", required_argument, NULL, 'l'},
- {"escape", required_argument, NULL, 'e'},
{NULL, 0, NULL, 0}
};
/* Standard (non-command) options. The leading + ensures that no
* argument reordering takes place, so that command options are
* not confused with top-level virsh options. */
- while ((arg = getopt_long(argc, argv, "+:d:hqtc:vVrl:e:", opt,
&longindex)) != -1) {
+ while ((arg = getopt_long(argc, argv, "+:c:d:e:hl:qrtvV", opt,
&longindex)) != -1) {
switch (arg) {
+ case 'c':
+ VIR_FREE(ctl->name);
+ ctl->name = vshStrdup(ctl, optarg);
+ break;
case 'd':
if (virStrToLong_i(optarg, NULL, 10, &debug) < 0) {
vshError(ctl, _("option %s takes a numeric argument"),
@@ -3335,19 +3339,36 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
else
ctl->debug = debug;
break;
+ case 'e':
+ len = strlen(optarg);
+
+ if ((len == 2 && *optarg == '^' &&
+ vshAllowedEscapeChar(optarg[1])) ||
+ (len == 1 && *optarg != '^')) {
+ ctl->escapeChar = optarg;
+ } else {
+ vshError(ctl, _("Invalid string '%s' for escape
sequence"),
+ optarg);
+ exit(EXIT_FAILURE);
+ }
+ break;
case 'h':
vshUsage();
exit(EXIT_SUCCESS);
break;
+ case 'l':
+ vshCloseLogFile(ctl);
+ ctl->logfile = vshStrdup(ctl, optarg);
+ vshOpenLogFile(ctl);
+ break;
case 'q':
ctl->quiet = true;
break;
case 't':
ctl->timing = true;
break;
- case 'c':
- VIR_FREE(ctl->name);
- ctl->name = vshStrdup(ctl, optarg);
+ case 'r':
+ ctl->readonly = true;
break;
case 'v':
if (STRNEQ_NULLABLE(optarg, "long")) {
@@ -3358,27 +3379,6 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
case 'V':
vshShowVersion(ctl);
exit(EXIT_SUCCESS);
- case 'r':
- ctl->readonly = true;
- break;
- case 'l':
- vshCloseLogFile(ctl);
- ctl->logfile = vshStrdup(ctl, optarg);
- vshOpenLogFile(ctl);
- break;
- case 'e':
- len = strlen(optarg);
-
- if ((len == 2 && *optarg == '^' &&
- vshAllowedEscapeChar(optarg[1])) ||
- (len == 1 && *optarg != '^')) {
- ctl->escapeChar = optarg;
- } else {
- vshError(ctl, _("Invalid string '%s' for escape
sequence"),
- optarg);
- exit(EXIT_FAILURE);
- }
- break;
case ':':
for (i = 0; opt[i].name != NULL; i++) {
if (opt[i].val == optopt)
diff --git a/tools/virsh.pod b/tools/virsh.pod
index cafbb9a..cefce1b 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -52,21 +52,6 @@ The B<virsh> program understands the following I<OPTIONS>.
=over 4
-=item B<-h>, B<--help>
-
-Ignore all other arguments, and behave as if the B<help> command were
-given instead.
-
-=item B<-v>, B<--version[=short]>
-
-Ignore all other arguments, and prints the version of the libvirt library
-virsh is coming from
-
-=item B<-V>, B<--version=long>
-
-Ignore all other arguments, and prints the version of the libvirt library
-virsh is coming from and which options and driver are compiled in.
-
=item B<-c>, B<--connect> I<URI>
Connect to the specified I<URI>, as if by the B<connect> command,
@@ -78,6 +63,17 @@ Enable debug messages at integer I<LEVEL> and above.
I<LEVEL> can
range from 0 to 4 (default). See the documentation of B<VIRSH_DEBUG>
environment variable below for the description of each I<LEVEL>.
+=item B<-e>, B<--escape> I<string>
+
+Set alternative escape sequence for I<console> command. By default,
+telnet's B<^]> is used. Allowed characters when using hat notation are:
+alphabetic character, @, [, ], \, ^, _.
+
+=item B<-h>, B<--help>
+
+Ignore all other arguments, and behave as if the B<help> command were
+given instead.
+
=item B<-l>, B<--log> I<FILE>
Output logging details to I<FILE>.
@@ -95,11 +91,15 @@ option of the B<connect> command.
Output elapsed time information for each command.
-=item B<-e>, B<--escape> I<string>
+=item B<-v>, B<--version[=short]>
-Set alternative escape sequence for I<console> command. By default,
-telnet's B<^]> is used. Allowed characters when using hat notation are:
-alphabetic character, @, [, ], \, ^, _.
+Ignore all other arguments, and prints the version of the libvirt library
+virsh is coming from
+
+=item B<-V>, B<--version=long>
+
+Ignore all other arguments, and prints the version of the libvirt library
+virsh is coming from and which options and driver are compiled in.
=back
--
1.9.0