X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=write_common.c;h=cdb67e58fd65bf4438522fd0bed4ef9092aaaeaf;hp=a4f908acc187d3a3e96b831fdbafa45ec0c7bd02;hb=dda88dcb390a44e1f1f68f6248ed513c75dce4bf;hpb=c5e38315901ea63efd169af5d4ba3f3c66db7de9 diff --git a/write_common.c b/write_common.c index a4f908ac..cdb67e58 100644 --- a/write_common.c +++ b/write_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -16,6 +16,7 @@ #include "buffer_tree.h" #include "write.h" #include "error.h" +#include "write_common.h" /** the array containing the names of all supported writers */ const char *writer_names[] ={WRITER_NAMES}; @@ -106,38 +107,39 @@ void register_writer_node(struct writer_node *wn, struct btr_node *parent, struct sched *s) { struct writer *w = writers + wn->writer_num; - char *name = make_message("%s writer", writer_names[wn->writer_num]); wn->btrn = btr_new_node(&(struct btr_node_description) - EMBRACE(.name = name, .parent = parent, + EMBRACE(.name = writer_names[wn->writer_num], .parent = parent, .handler = w->execute, .context = wn)); - strcpy(wn->task.status, name); - free(name); - wn->task.post_select = w->post_select; - wn->task.pre_select = w->pre_select; - register_task(s, &wn->task); + wn->task = task_register(&(struct task_info) { + .name = writer_names[wn->writer_num], + .pre_select = w->pre_select, + .post_select = w->post_select, + .context = wn, + }, s); } /** * Print the help text of all writers to stdout. * - * \param detailed Whether to print the detailed help text. + * \param flags Passed to \ref ggo_print_help(). */ -void print_writer_helps(int detailed) +void print_writer_helps(unsigned flags) { int i; - printf_or_die("\nAvailable writers: \n\t"); + printf_or_die("\nAvailable writers: "); FOR_EACH_WRITER(i) printf_or_die("%s%s", i? " " : "", writer_names[i]); - printf_or_die("\n\n"); + printf_or_die("\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, detailed); + printf_or_die("\n%s: %s", writer_names[i], + w->help.purpose); + ggo_print_help(&w->help, flags); } }