diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-06-20 22:01:42 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-06-21 16:04:46 +0200 |
commit | 5991f0956525a49e8c8139cf8e450ccd96b60e53 (patch) | |
tree | 5a319fbfef36599470669248e221d6a2725cfd86 /src/charon-cmd | |
parent | 5e185047e1411d57751f1d2523b7fb266f3860b5 (diff) | |
download | strongswan-5991f0956525a49e8c8139cf8e450ccd96b60e53.tar.bz2 strongswan-5991f0956525a49e8c8139cf8e450ccd96b60e53.tar.xz |
charon-cmd: Use fixed number of character to align command descriptions
If the command and argument is longer than that write the first line of
description to the following line.
Diffstat (limited to 'src/charon-cmd')
-rw-r--r-- | src/charon-cmd/charon-cmd.c | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/src/charon-cmd/charon-cmd.c b/src/charon-cmd/charon-cmd.c index d35847d25..f3059bea5 100644 --- a/src/charon-cmd/charon-cmd.c +++ b/src/charon-cmd/charon-cmd.c @@ -204,15 +204,9 @@ static void segv_handler(int signal) */ static void usage(FILE *out, char *msg, char *binary) { - char *pre, *post; - int i, line, padto = 0, spacing = 2; - - for (i = 0; i < CMD_OPT_COUNT; i++) - { - padto = max(padto, strlen(cmd_options[i].name) + - strlen(cmd_options[i].arg)); - } - padto += spacing; + static const int padto = 18; + char cmd[64], *pre, *post; + int i, line, pad; if (msg) { @@ -237,17 +231,22 @@ static void usage(FILE *out, char *msg, char *binary) post = " "; break; } - fprintf(out, " --%s%s%s%s %-*s%s\n", - cmd_options[i].name, - pre, cmd_options[i].arg, post, - padto - strlen(cmd_options[i].name) - strlen(cmd_options[i].arg), "", - cmd_options[i].desc); + snprintf(cmd, sizeof(cmd), " --%s%s%s%s", cmd_options[i].name, + pre, cmd_options[i].arg, post); + pad = padto - strlen(cmd); + if (pad >= 1) + { + fprintf(out, "%s%-*s%s\n", cmd, pad, "", cmd_options[i].desc); + } + else + { /* write description to a separate line */ + fprintf(out, "%s\n%-*s%s\n", cmd, padto, "", cmd_options[i].desc); + } for (line = 0; line < countof(cmd_options[i].lines); line++) { if (cmd_options[i].lines[line]) { - fprintf(out, "%-*s %s\n", - padto, "", cmd_options[i].lines[line]); + fprintf(out, "%-*s%s\n", padto, "", cmd_options[i].lines[line]); } } } |