X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=afh.c;h=3881955d3ff14c757eef89a6330ccb95133cb09f;hp=699a6d8f83896353c3a6e7eea6d1d8d8a8d5f8ac;hb=5dbc9ac5ce13e1d2872058f3440de253e4416dfe;hpb=b01605d7062e4d1f005d5aaaaed158d8efe06d79 diff --git a/afh.c b/afh.c index 699a6d8f..3881955d 100644 --- a/afh.c +++ b/afh.c @@ -15,6 +15,7 @@ #include "afh.h" #include "error.h" #include "version.h" +#include "ggo.h" static struct afh_args_info conf; INIT_AFH_ERRLISTS; @@ -56,6 +57,17 @@ static void print_chunk_table(struct afh_info *afhi) } } +__noreturn static void print_help_and_die(void) +{ + struct ggo_help h = DEFINE_GGO_HELP(afh); + int d = conf.detailed_help_given; + unsigned flags = d? GPH_STANDARD_FLAGS_DETAILED : GPH_STANDARD_FLAGS; + + ggo_print_help(&h, flags); + printf("supported audio formats: %s\n", AUDIO_FORMAT_HANDLERS); + exit(EXIT_SUCCESS); +} + /** * The main function of para_afh. * @@ -73,7 +85,10 @@ int main(int argc, char **argv) afh_cmdline_parser(argc, argv, &conf); loglevel = get_loglevel_by_name(conf.loglevel_arg); - HANDLE_VERSION_FLAG("afh", conf); + version_handle_flag("afh", conf.version_given); + if (conf.help_given || conf.detailed_help_given) + print_help_and_die(); + afh_init(); ret = -E_AFH_SYNTAX; if (conf.inputs_num == 0) goto out;