From: Andre Noll Date: Sun, 7 Dec 2008 11:21:48 +0000 (+0100) Subject: audiod: Include help for receivers/filter/writers in help output. X-Git-Tag: v0.3.4~80 X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=5c01bccd6581c86020f9cf1500db70a8dacf911c;p=paraslash.git audiod: Include help for receivers/filter/writers in help output. --- diff --git a/Makefile.in b/Makefile.in index f4bae24a..4e6ef962 100644 --- a/Makefile.in +++ b/Makefile.in @@ -119,6 +119,7 @@ grab_client.cmdline.h grab_client.cmdline.c: grab_client.ggo recv.ggo) O="--no-handle-help";; \ filter.ggo) O="--no-handle-help";; \ write.ggo) O="--no-handle-help";; \ + audiod.ggo) O="--no-handle-help";; \ esac; \ if test $< != fsck.ggo; then O="$$O --conf-parser "; fi; \ gengetopt $$O \ diff --git a/NEWS b/NEWS index 209e9460..3874bed1 100644 --- a/NEWS +++ b/NEWS @@ -5,7 +5,9 @@ NEWS 0.3.4 (to be announced) "elliptic inheritance" ---------------------------------------------- - new options for mp3dec: --ignore-crc, --bufsize - - Improved man pages for para_recv/para_filter and para_write. + - Improved help/man pages: The documentation of para_audiod, + para_recv, para_filter and para_write now also contains + all options of the available receivers/filters/writers. -------------------------------------------- 0.3.3 (2008-12-01) "axiomatic perspectivity" diff --git a/audiod.c b/audiod.c index 22611eb0..e3db6bea 100644 --- a/audiod.c +++ b/audiod.c @@ -1069,6 +1069,24 @@ static void set_initial_status(void) PARA_WARNING_LOG("invalid mode\n"); } +__noreturn static void print_help_and_die(void) +{ + int d = conf.detailed_help_given; + const char **p = d? audiod_args_info_detailed_help + : audiod_args_info_help; + + printf_or_die("%s\n\n", AUDIOD_CMDLINE_PARSER_PACKAGE "-" + AUDIOD_CMDLINE_PARSER_VERSION); + printf_or_die("%s\n\n", audiod_args_info_usage); + for (; *p; p++) + printf_or_die("%s\n", *p); + print_receiver_helps(d); + print_filter_helps(d); + print_writer_helps(d); + exit(0); +} + + /** * the main function of para_audiod * @@ -1112,8 +1130,10 @@ int main(int argc, char *argv[]) } if (conf.logfile_given) logfile = open_log(conf.logfile_arg); - log_welcome("para_audiod", conf.loglevel_arg); i = init_stream_io(); + if (conf.help_given || conf.detailed_help_given) + print_help_and_die(); + log_welcome("para_audiod", conf.loglevel_arg); if (i < 0) { PARA_EMERG_LOG("init stream io error: %s\n", para_strerror(-i)); exit(EXIT_FAILURE);