[lxc-devel] [lxc/master] arguments: improve some operations

2xsec on Github lxc-bot at linuxcontainers.org
Mon Jun 11 02:15:05 UTC 2018


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 440 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20180611/adca9052/attachment.bin>
-------------- next part --------------
From 97d7e88f9ac7463b7b8def05dd658a8953d6cc0f Mon Sep 17 00:00:00 2001
From: Donghwa Jeong <dh48.jeong at samsung.com>
Date: Mon, 11 Jun 2018 11:10:58 +0900
Subject: [PATCH] arguments: improve some operations

Signed-off-by: Donghwa Jeong <dh48.jeong at samsung.com>
---
 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");


More information about the lxc-devel mailing list