From: Martin Willi Date: Mon, 22 Apr 2013 09:20:58 +0000 (+0200) Subject: charon-cmd: support multi-line help text for each option in usage X-Git-Tag: 5.1.0dr1~154^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6b0c28b252a1312aea692f89a1ff0300c7ec9c9;p=thirdparty%2Fstrongswan.git charon-cmd: support multi-line help text for each option in usage --- diff --git a/src/charon-cmd/charon-cmd.c b/src/charon-cmd/charon-cmd.c index a493b17c7a..5f27255a98 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 3756225bf5..6fa3fade45 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]; }; /**