server: Convert non-afs commands to lopsub.
[paraslash.git] / filter.c
index 1ba12689b45d7b41d3e2a8b1a8c06464114211a6..81901896aef25294a64599c9d77f63bf541f91e4 100644 (file)
--- a/filter.c
+++ b/filter.c
@@ -21,6 +21,9 @@
 #include "error.h"
 #include "version.h"
 
+/** Array of error strings. */
+DEFINE_PARA_ERRLIST;
+
 /** The list of all status items used by para_{server,audiod,gui}. */
 const char *status_item_list[] = {STATUS_ITEM_ARRAY};
 
@@ -32,9 +35,6 @@ const char *status_item_list[] = {STATUS_ITEM_ARRAY};
  */
 char *stat_item_values[NUM_STAT_ITEMS] = {NULL};
 
-/** Initialize the array of errors for para_filter. */
-INIT_FILTER_ERRLISTS;
-
 /** The task that reads from stdin. */
 static struct stdin_task stdin_task_struct;
 /** pointer to the stdin task. */
@@ -58,7 +58,7 @@ __noreturn static void print_help_and_die(void)
 
        ggo_print_help(&h, d? GPH_STANDARD_FLAGS_DETAILED : GPH_STANDARD_FLAGS);
        print_filter_helps(d? GPH_MODULE_FLAGS_DETAILED : GPH_MODULE_FLAGS);
-       exit(0);
+       exit(EXIT_SUCCESS);
 }
 
 static int parse_config(void)
@@ -142,7 +142,8 @@ int main(int argc, char *argv[])
                ti.pre_select = f->pre_select;
                ti.post_select = f->post_select;
                ti.context = fn;
-               f->open(fn);
+               if (f->open)
+                       f->open(fn);
                fn->task = task_register(&ti, &s);
                parent = fn->btrn;
        }