From: Donghwa Jeong Date: Mon, 11 Jun 2018 02:10:58 +0000 (+0900) Subject: arguments: improve some operations X-Git-Tag: lxc-3.1.0~257^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F2393%2Fhead;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 1dbb092a8..3541d4a82 100644 --- a/src/lxc/tools/arguments.c +++ b/src/lxc/tools/arguments.c @@ -97,16 +97,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)) @@ -114,18 +104,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");