The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxc/pull/2393

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
Hello,

improve print_usage() to print required & optional arguments.

Thanks.

Signed-off-by: Donghwa Jeong <[email protected]>
From 97d7e88f9ac7463b7b8def05dd658a8953d6cc0f Mon Sep 17 00:00:00 2001
From: Donghwa Jeong <[email protected]>
Date: Mon, 11 Jun 2018 11:10:58 +0900
Subject: [PATCH] arguments: improve some operations

Signed-off-by: Donghwa Jeong <[email protected]>
---
 src/lxc/tools/arguments.c | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

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");
_______________________________________________
lxc-devel mailing list
[email protected]
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to