[lvm-devel] master - man: change option sorting in synopsis

David Teigland teigland at fedoraproject.org
Fri Feb 24 21:15:02 UTC 2017


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=4f7631b4adb9c6fff5cd47b5bd733ee716d05c8f
Commit:        4f7631b4adb9c6fff5cd47b5bd733ee716d05c8f
Parent:        5f6bdf707db24e882b3c3f86f8a5f2e2d2007c98
Author:        David Teigland <teigland at redhat.com>
AuthorDate:    Fri Feb 24 15:11:18 2017 -0600
Committer:     David Teigland <teigland at redhat.com>
CommitterDate: Fri Feb 24 15:11:18 2017 -0600

man: change option sorting in synopsis

The options list was sorted as:
- options with both long and short forms, alphabetically
- options with only long form, alphabetically

This was done only for the visual effect.  Change to
sort alphabetically by long opt, without regard to
short forms.
---
 tools/command.c |   55 +++++++------------------------------------------------
 1 files changed, 7 insertions(+), 48 deletions(-)

diff --git a/tools/command.c b/tools/command.c
index 5dd0298..59818f9 100644
--- a/tools/command.c
+++ b/tools/command.c
@@ -2533,10 +2533,7 @@ static void print_man_option_desc(struct command_name *cname, int opt_enum)
 }
 
 /*
- * Print a list of all options names for a given
- * command name, listed by:
- * options with short+long names, alphabetically,
- * then options with only long names, alphabetically
+ * Print a list of all options names for a given command name.
  */
 
 void print_man_all_options_list(struct command_name *cname)
@@ -2545,63 +2542,25 @@ void print_man_all_options_list(struct command_name *cname)
 	int sep = 0;
 	int i;
 
-	/* print those with both short and long opts */
 	for (i = 0; i < ARG_COUNT; i++) {
 		opt_enum = opt_names_alpha[i]->opt_enum;
 
-
 		if (!cname->all_options[opt_enum])
 			continue;
 
-		if (!opt_names[opt_enum].short_opt)
-			continue;
-
 		if (sep)
 			printf(".br\n");
 		printf(".ad l\n");
 
-		printf(" \\fB-%c\\fP|\\fB%s\\fP",
-			opt_names[opt_enum].short_opt,
-			man_long_opt_name(cname->name, opt_enum));
-
-		val_enum = opt_names[opt_enum].val_enum;
-
-		if (!val_names[val_enum].fn) {
-			/* takes no arg */
-		} else if (!val_names[val_enum].usage) {
-			printf(" ");
-			printf("\\fI");
-			printf("%s", val_names[val_enum].name);
-			printf("\\fP");
+		if (opt_names[opt_enum].short_opt) {
+			printf(" \\fB-%c\\fP|\\fB%s\\fP",
+				opt_names[opt_enum].short_opt,
+				man_long_opt_name(cname->name, opt_enum));
 		} else {
-			printf(" ");
-			print_val_man(val_names[val_enum].usage);
+			/* spaces for alignment without short opt */
+			printf("    \\fB%s\\fP", man_long_opt_name(cname->name, opt_enum));
 		}
 
-		printf("\n.ad b\n");
-
-		sep = 1;
-	}
-
-	/* print those without short opts */
-	for (i = 0; i < ARG_COUNT; i++) {
-		opt_enum = opt_names_alpha[i]->opt_enum;
-
-		if (!cname->all_options[opt_enum])
-			continue;
-
-		if (opt_names[opt_enum].short_opt)
-			continue;
-
-		if (sep)
-			printf(".br\n");
-		printf(".ad l\n");
-
-		/* space alignment without short opt */
-		printf("   ");
-
-		printf(" \\fB%s\\fP", man_long_opt_name(cname->name, opt_enum));
-
 		val_enum = opt_names[opt_enum].val_enum;
 
 		if (!val_names[val_enum].fn) {




More information about the lvm-devel mailing list