charon-cmd: support multi-line help text for each option in usage

This commit is contained in:
Martin Willi
2013-05-06 15:54:29 +02:00
parent 8e53682cd9
commit d6b0c28b25
2 changed files with 12 additions and 2 deletions
+9 -1
View File
@@ -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]);
}
}
}
}
+3 -1
View File
@@ -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];
};
/**