audiod: use the new help text array of gengetopt-2.17
[paraslash.git] / audiod.c
index 741bd68b0344c510ecdd750e897aedfa25b9ee48..adfcbf41f767bb489ed6d84eefb740321bb6041a 100644 (file)
--- a/audiod.c
+++ b/audiod.c
@@ -153,11 +153,13 @@ static struct audiod_command cmds[] = {
 .description = "grab the audio stream",
 .synopsis = "-- grab [grab_options]",
 .help =
 .description = "grab the audio stream",
 .synopsis = "-- grab [grab_options]",
 .help =
+
 "grab ('splice') the audio stream at any position in the filter      \n"
 "grab ('splice') the audio stream at any position in the filter      \n"
-"chain and send that data back to the client. \n"
-"Available options:\n\n"
-GRAB_HELP_TXT
+"chain and send that data back to the client. Try\n"
+"\t para_audioc -- grab -h\n"
+"for the list of available options.\n"
 },
 },
+
 {
 .name = "help",
 .handler = com_help,
 {
 .name = "help",
 .handler = com_help,
@@ -1345,7 +1347,8 @@ static int com_grab(int fd, int argc, char **argv)
 {
        struct grab_client *gc;
        struct filter_node *fn;
 {
        struct grab_client *gc;
        struct filter_node *fn;
-       int err;
+       int i, err;
+       char *help;
 
        PARA_INFO_LOG("argc: %d, argv[0]: %s, optind: %d\n", argc, argv[0], optind);
        gc = grab_client_new(fd, argc, argv, &err);
 
        PARA_INFO_LOG("argc: %d, argv[0]: %s, optind: %d\n", argc, argv[0], optind);
        gc = grab_client_new(fd, argc, argv, &err);
@@ -1359,11 +1362,15 @@ static int com_grab(int fd, int argc, char **argv)
 err_out:
        if (err != -E_GC_HELP_GIVEN)
                return err;
 err_out:
        if (err != -E_GC_HELP_GIVEN)
                return err;
-       err = client_write(fd, "Usage: para_audioc [audioc_options] -- "
-               "grab [grab_options]\nAvailable options:\n");
-       if (err < 0)
-               return err;
-       err = client_write(fd, GRAB_HELP_TXT);
+       help = make_message("%s\n\n", grab_client_args_info_usage);
+       for (i = 0; grab_client_args_info_help[i]; i++) {
+               char *tmp = make_message("%s%s\n", help,
+                       grab_client_args_info_help[i]);
+               free(help);
+               help = tmp;
+       }
+       err = client_write(fd, help);
+       free(help);
        if (err < 0)
                return err;
        close(fd);
        if (err < 0)
                return err;
        close(fd);