X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fade.c;h=c1d15d723b66aa252f10a349e27b4b52d5cd9552;hp=76d6a8b422b3fca28ded60dee815d8335378a5c9;hb=7ebb3ef8d2280c19e741b97627bfcf894c7e3117;hpb=06b3e7bc1b04def7488a5c5cd65de00aca655612 diff --git a/fade.c b/fade.c index 76d6a8b4..c1d15d72 100644 --- a/fade.c +++ b/fade.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1998-2013 Andre Noll + * Copyright (C) 1998-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -14,6 +14,7 @@ #include "string.h" #include "mix.h" #include "error.h" +#include "ggo.h" #include "version.h" INIT_FADE_ERRLISTS; @@ -26,7 +27,7 @@ static struct mixer supported_mixer[] = {MIXER_ARRAY}; #define FOR_EACH_MIXER(i) for ((i) = 0; (i) < NUM_SUPPORTED_MIXERS; (i)++) static int loglevel; -__printf_2_3 void date_log(int ll, const char *fmt, ...) +static __printf_2_3 void date_log(int ll, const char *fmt, ...) { va_list argp; time_t t1; @@ -286,6 +287,15 @@ static struct mixer *get_mixer_or_die(void) exit(EXIT_FAILURE); } +__noreturn static void print_help_and_die(void) +{ + struct ggo_help h = DEFINE_GGO_HELP(fade); + bool d = conf.detailed_help_given; + + ggo_print_help(&h, d? GPH_STANDARD_FLAGS_DETAILED : GPH_STANDARD_FLAGS); + exit(0); +} + int main(int argc, char *argv[]) { int ret; @@ -295,6 +305,8 @@ int main(int argc, char *argv[]) fade_cmdline_parser(argc, argv, &conf); loglevel = get_loglevel_by_name(conf.loglevel_arg); version_handle_flag("fade", conf.version_given); + if (conf.help_given || conf.detailed_help_given) + print_help_and_die(); ret = configfile_exists(); if (!ret && conf.config_file_given) { PARA_EMERG_LOG("can not read config file %s\n",