From 251efde8f2cfd5e64817cb279411462eeb776337 Mon Sep 17 00:00:00 2001 From: Andre Date: Mon, 27 Mar 2006 06:58:32 +0200 Subject: [PATCH 1/1] audiod: use the new help text array of gengetopt-2.17 This allows to get rid of an ugly hack for the grab command. --- Makefile.in | 3 --- audiod.c | 25 ++++++++++++++++--------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/Makefile.in b/Makefile.in index 42ab70ec..d8932e43 100644 --- a/Makefile.in +++ b/Makefile.in @@ -123,9 +123,6 @@ grab_client.cmdline.h grab_client.cmdline.c: grab_client.ggo --arg-struct-name=grab_client_args_info \ --file-name=$(subst .ggo,,$<).cmdline \ --func-name $(subst .ggo,,$<)_cmdline_parser < $< - grep -v 'fprintf\ *(stderr' $(subst .ggo,,$<).cmdline.c > $(subst .ggo,,$<).tmp - mv $(subst .ggo,,$<).tmp $(subst .ggo,,$<).cmdline.c - ggo_help GRAB_HELP_TXT < grab_client.ggo >> $(subst .ggo,,$<).cmdline.h %_recv.cmdline.h %_recv.cmdline.c: %_recv.ggo gengetopt $(module_ggo_opts) \ diff --git a/audiod.c b/audiod.c index 741bd68b..adfcbf41 100644 --- 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 = + "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, @@ -1345,7 +1347,8 @@ static int com_grab(int fd, int argc, char **argv) { 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); @@ -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 = 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); -- 2.39.2