- if (conf.list_writers_given) {
- char *msg = NULL;
- FOR_EACH_WRITER(i) {
- char *tmp = make_message("%s%s%s",
- i? msg : "",
- i? " " : "",
- writer_names[i]);
- free(msg);
- msg = tmp;
- }
- fprintf(stderr, "%s\n", msg);
- free(msg);
- exit(EXIT_SUCCESS);
- }
- if (conf.prebuffer_arg < 0 || conf.prebuffer_arg > 100)
- goto out;
- if (conf.start_time_given) {
- long unsigned sec, usec;
- if (sscanf(conf.start_time_arg, "%lu:%lu",
- &sec, &usec) != 2)
- goto out;
- tv.tv_sec = sec;
- tv.tv_usec = usec;
- start_time = &tv;
- }
+ printf_or_die("%s\n\n", WRITE_CMDLINE_PARSER_PACKAGE "-"
+ WRITE_CMDLINE_PARSER_VERSION);
+ printf_or_die("%s\n\n", write_args_info_usage);
+ for (; *p; p++)
+ printf_or_die("%s\n", *p);
+ print_writer_helps(d);
+ exit(0);
+}
+
+static int main_btr(struct sched *s)
+{
+ int i, ret;
+ struct check_wav_task _cwt, *cwt = &_cwt;
+ struct writer_node *wns;
+
+ loglevel = get_loglevel_by_name(conf.loglevel_arg);
+ sit.btrn = btr_new_node(&(struct btr_node_description)
+ EMBRACE(.name = "stdin"));
+ stdin_set_defaults(&sit);
+ register_task(&sit.task);
+
+ cwt->state = CWS_NEED_HEADER;
+ cwt->min_iqs = WAV_HEADER_LEN;
+ cwt->btrn = btr_new_node(&(struct btr_node_description)
+ EMBRACE(.name = "check_wav", .parent = sit.btrn,
+ .handler = check_wav_exec, .context = cwt));
+ sprintf(cwt->task.status, "check_wav");
+ cwt->task.pre_select = check_wav_pre_select;
+ cwt->task.post_select = check_wav_post_select;
+ cwt->task.error = 0;
+ register_task(&cwt->task);
+
+ ret = -E_WRITE_SYNTAX;