Kill remaining instances of signal().
[paraslash.git] / filter.c
index 0ffb723e218793a2ac69f4d905b643adb04667c3..9311a20a6f0ef035f9491c2d3856006a8cd2f3f5 100644 (file)
--- a/filter.c
+++ b/filter.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2009 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -44,7 +44,8 @@ static struct stdout_task *sot = &stdout_task_struct;
 /** Gengetopt struct that holds the command line args. */
 static struct filter_args_info conf;
 
-INIT_STDERR_LOGGING(conf.loglevel_arg);
+static int loglevel;
+INIT_STDERR_LOGGING(loglevel);
 
 static void open_filters(void)
 {
@@ -97,7 +98,7 @@ err:
 
 __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? filter_args_info_detailed_help
                : filter_args_info_help;
 
@@ -106,20 +107,7 @@ __noreturn static void print_help_and_die(void)
        printf_or_die("%s\n\n", filter_args_info_usage);
        for (; *p; p++)
                printf_or_die("%s\n", *p);
-
-       printf_or_die("\nAvailable filters: \n\t");
-       FOR_EACH_SUPPORTED_FILTER(i)
-               printf_or_die("%s%s", i? " " : "", filters[i].name);
-       printf_or_die("\n\n");
-
-       FOR_EACH_SUPPORTED_FILTER(i) {
-               struct filter *f = filters + i;
-
-               if (!f->help.short_help)
-                       continue;
-               printf_or_die("Options for %s:\n", f->name);
-               ggo_print_help(&f->help, d);
-       }
+       print_filter_helps(d);
        exit(0);
 }
 
@@ -171,10 +159,11 @@ int main(int argc, char *argv[])
        stdin_set_defaults(sit);
        sit->buf = para_malloc(sit->bufsize),
 
-       filter_init(filters);
+       filter_init();
        ret = parse_config(argc, argv);
        if (ret < 0)
                goto out;
+       loglevel = get_loglevel_by_name(conf.loglevel_arg);
        ret = init_filter_chain();
        if (ret < 0)
                goto out;