X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=write_common.c;h=5bfba37d9197b7910046fa9efd6685167166164b;hb=a9ed3326f84cbb7585b5875e745f87eb96551ad4;hp=6cd7ed22cabf94eafdfd5019b06d366262378c5e;hpb=c773ec0d537d239e2eebe2d77a786f0ba49fdc22;p=paraslash.git diff --git a/write_common.c b/write_common.c index 6cd7ed22..5bfba37d 100644 --- a/write_common.c +++ b/write_common.c @@ -66,27 +66,33 @@ void *check_writer_arg(const char *wa, int *writer_num) c = wa[len]; if (c && c != ' ') continue; - if (c && !writers[i].parse_config) - return NULL; *writer_num = i; - return writers[i].parse_config(c? wa + len + 1 : ""); + return writers[i].parse_config_or_die(c? wa + len + 1 : ""); } PARA_ERROR_LOG("writer not found\n"); return NULL; } +/** + * Open a writer node and register the corresponding task. + * + * \param wn The writer node to open. + * \param parent The parent btr node (the source for the writer node). + * + * The configuration of the writer node stored in \p wn->conf must be + * initialized before this function may be called. + */ void register_writer_node(struct writer_node *wn, struct btr_node *parent) { struct writer *w = writers + wn->writer_num; char *name = make_message("%s writer", writer_names[wn->writer_num]); - int ret; wn->btrn = btr_new_node(&(struct btr_node_description) EMBRACE(.name = name, .parent = parent, .handler = w->execute, .context = wn)); strcpy(wn->task.status, name); free(name); - ret = w->open(wn); + w->open(wn); wn->task.post_select = w->post_select; wn->task.pre_select = w->pre_select; register_task(&wn->task); @@ -115,7 +121,7 @@ int setup_writer_node(const char *arg, struct btr_node *parent, wn->conf = check_writer_arg(arg, &wn->writer_num); else { wn->writer_num = DEFAULT_WRITER; - wn->conf = writers[DEFAULT_WRITER].parse_config(""); + wn->conf = writers[DEFAULT_WRITER].parse_config_or_die(""); } if (!wn->conf) return -E_WRITE_COMMON_SYNTAX; @@ -123,7 +129,6 @@ int setup_writer_node(const char *arg, struct btr_node *parent, return 1; } - /** * Print the help text of all writers to stdout. * @@ -163,7 +168,7 @@ static void get_btr_value(struct btr_node *btrn, const char *cmd, * Ask parent btr nodes for the sample rate of the current stream. * * \param btrn Where to start the search. - * \param result. Filled in by this function. + * \param result Filled in by this function. * * This function is assumed to succeed and terminates on errors. */