diff options
author | Martin Willi <martin@revosec.ch> | 2013-04-22 11:20:58 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-05-06 15:54:29 +0200 |
commit | d6b0c28b252a1312aea692f89a1ff0300c7ec9c9 (patch) | |
tree | acc62fd45b947b3017c86467e2d55cc3052afa16 /src | |
parent | 8e53682cd9def392e219845eccd6f44de5fb2303 (diff) | |
download | strongswan-d6b0c28b252a1312aea692f89a1ff0300c7ec9c9.tar.bz2 strongswan-d6b0c28b252a1312aea692f89a1ff0300c7ec9c9.tar.xz |
charon-cmd: support multi-line help text for each option in usage
Diffstat (limited to 'src')
-rw-r--r-- | src/charon-cmd/charon-cmd.c | 10 | ||||
-rw-r--r-- | src/charon-cmd/cmd/cmd_options.h | 4 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/charon-cmd/charon-cmd.c b/src/charon-cmd/charon-cmd.c index a493b17c7..5f27255a9 100644 --- a/src/charon-cmd/charon-cmd.c +++ b/src/charon-cmd/charon-cmd.c @@ -199,7 +199,7 @@ static void segv_handler(int signal) */ static void usage(FILE *out, char *msg, char *binary) { - int i, pre, post, padto = 0, spacing = 2; + int i, line, pre, post, padto = 0, spacing = 2; for (i = 0; i < CMD_OPT_COUNT; i++) { @@ -235,6 +235,14 @@ static void usage(FILE *out, char *msg, char *binary) pre, cmd_options[i].arg, post, padto - strlen(cmd_options[i].name) - strlen(cmd_options[i].arg), "", 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]); + } + } } } diff --git a/src/charon-cmd/cmd/cmd_options.h b/src/charon-cmd/cmd/cmd_options.h index 3756225bf..6fa3fade4 100644 --- a/src/charon-cmd/cmd/cmd_options.h +++ b/src/charon-cmd/cmd/cmd_options.h @@ -52,8 +52,10 @@ struct cmd_option_t { int has_arg; /** decription of argument */ const char *arg; - /** description to option */ + /** short description to option */ const char *desc; + /** additional description lines */ + const char *lines[8]; }; /** |