From: Donghwa Jeong Date: Mon, 11 Jun 2018 02:10:58 +0000 (+0900) Subject: arguments: improve some operations X-Git-Tag: lxc-2.0.10~105 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3a15f35b513fb1f20fe923d7448c67e8eb8b7298;p=thirdparty%2Flxc.git arguments: improve some operations Signed-off-by: Donghwa Jeong --- diff --git a/src/lxc/tools/arguments.c b/src/lxc/tools/arguments.c index 711361e0f..a6c5d3c2a 100644 --- a/src/lxc/tools/arguments.c +++ b/src/lxc/tools/arguments.c @@ -96,16 +96,6 @@ static void print_usage(const struct option longopts[], fprintf(stderr, "Usage: %s ", a_args->progname); for (opt = longopts, i = 1; opt->name; opt++, i++) { - int j; - char *uppername; - - uppername = strdup(opt->name); - if (!uppername) - exit(-ENOMEM); - - for (j = 0; uppername[j]; j++) - uppername[j] = toupper(uppername[j]); - fprintf(stderr, "["); if (isprint(opt->val)) @@ -113,18 +103,30 @@ static void print_usage(const struct option longopts[], fprintf(stderr, "--%s", opt->name); - if (opt->has_arg == required_argument) - fprintf(stderr, "=%s", uppername); + if ((opt->has_arg == required_argument) || + (opt->has_arg == optional_argument)) { + int j; + char *uppername; + + uppername = strdup(opt->name); + if (!uppername) + exit(-ENOMEM); - if (opt->has_arg == optional_argument) - fprintf(stderr, "[=%s]", uppername); + for (j = 0; uppername[j]; j++) + uppername[j] = toupper(uppername[j]); + + if (opt->has_arg == required_argument) + fprintf(stderr, "=%s", uppername); + else // optional_argument + fprintf(stderr, "[=%s]", uppername); + + free(uppername); + } fprintf(stderr, "] "); if (!(i % 4)) fprintf(stderr, "\n\t"); - - free(uppername); } fprintf(stderr, "\n");