X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=write.c;h=34cea48c6a81ab2d7d6743e28706181415362824;hp=6e78e773c558f3d1c6d5fd8a15d0532645cec570;hb=05ac3a8322555355fac0e224305a4a10a5d7caa2;hpb=2084249288864e17c43570bd9957bd927864b1b7 diff --git a/write.c b/write.c index 6e78e773..34cea48c 100644 --- a/write.c +++ b/write.c @@ -1,11 +1,12 @@ /* - * Copyright (C) 2005-2008 Andre Noll + * Copyright (C) 2005-2009 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ /** \file write.c Paraslash's standalone wav/raw player. */ +#include #include #include @@ -122,7 +123,8 @@ register_check_wav: s->timeout.tv_usec = 1; } -INIT_STDERR_LOGGING(conf.loglevel_arg) +static int loglevel; +INIT_STDERR_LOGGING(loglevel) static struct writer_node_group *check_args(void) { @@ -130,6 +132,7 @@ static struct writer_node_group *check_args(void) struct writer_node_group *g = NULL; struct initial_delay_task *idt = &the_initial_delay_task; + loglevel = get_loglevel_by_name(conf.loglevel_arg); if (conf.start_time_given) { long unsigned sec, usec; if (sscanf(conf.start_time_arg, "%lu:%lu", @@ -151,7 +154,7 @@ static struct writer_node_group *check_args(void) conf.writer_arg[i], &writer_num); if (!g->writer_nodes[i].conf) goto out; - g->writer_nodes[i].writer = &writers[writer_num]; + g->writer_nodes[i].writer_num = writer_num; } ret = 1; out: @@ -163,7 +166,7 @@ out: __noreturn static void print_help_and_die(void) { - int i, d = conf.detailed_help_given; + int d = conf.detailed_help_given; const char **p = d? write_args_info_detailed_help : write_args_info_help; @@ -172,19 +175,7 @@ __noreturn static void print_help_and_die(void) printf_or_die("%s\n\n", write_args_info_usage); for (; *p; p++) printf_or_die("%s\n", *p); - - printf_or_die("\nAvailable writers: \n\t"); - FOR_EACH_WRITER(i) - printf_or_die("%s%s", i? " " : "", writer_names[i]); - printf_or_die("\n\n"); - FOR_EACH_WRITER(i) { - struct writer *w = writers + i; - - if (!w->help.short_help) - continue; - printf_or_die("Options for %s:\n", writer_names[i]); - ggo_print_help(&w->help, d); - } + print_writer_helps(d); exit(0); } @@ -206,7 +197,7 @@ int main(int argc, char *argv[]) struct check_wav_task *cwt = &the_check_wav_task; struct initial_delay_task *idt = &the_initial_delay_task; - init_supported_writers(); + writer_init(); write_cmdline_parser(argc, argv, &conf); HANDLE_VERSION_FLAG("write", conf); if (conf.help_given || conf.detailed_help_given) @@ -224,7 +215,7 @@ int main(int argc, char *argv[]) sit.bufsize = conf.bufsize_arg * 1024; sit.buf = para_malloc(sit.bufsize); - wng->buf = sit.buf; + wng->bufp = &sit.buf; wng->loaded = &sit.loaded; wng->input_error = &sit.task.error;