]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
charon-cmd: support multi-line help text for each option in usage
authorMartin Willi <martin@revosec.ch>
Mon, 22 Apr 2013 09:20:58 +0000 (11:20 +0200)
committerMartin Willi <martin@revosec.ch>
Mon, 6 May 2013 13:54:29 +0000 (15:54 +0200)
src/charon-cmd/charon-cmd.c
src/charon-cmd/cmd/cmd_options.h

index a493b17c7a1070e0a473498add2a7dec8ed2b00c..5f27255a98b627e3d11d68bb891ecdd165244035 100644 (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]);
+                       }
+               }
        }
 }
 
index 3756225bf5251ed1a4ea814d60d9a0d0235184ec..6fa3fade459fa7129618add24d346346fb4db9e4 100644 (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];
 };
 
 /**