]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - recv.c
Don't check return value of command line parsers unnecessarily.
[paraslash.git] / recv.c
diff --git a/recv.c b/recv.c
index b915156ab69da3725088f5b4a59ca1f3c96e7234..b03c5714b23b23c305b5b0e1114ea5326cd1f841 100644 (file)
--- a/recv.c
+++ b/recv.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2011 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
+#include "buffer_tree.h"
 #include "recv.h"
 #include "recv.cmdline.h"
 #include "fd.h"
 #include "string.h"
 #include "error.h"
 #include "stdout.h"
-#include "buffer_tree.h"
 #include "version.h"
 
+extern void afh_recv_init(struct receiver *r);
+#undef AFH_RECEIVER
+#define AFH_RECEIVER {.name = "afh", .init = afh_recv_init},
+DEFINE_RECEIVER_ARRAY;
+
 /** The gengetopt args info struct. */
 static struct recv_args_info conf;
 
@@ -49,8 +54,7 @@ __noreturn static void print_help_and_die(void)
 
 static void *parse_config(int argc, char *argv[], int *receiver_num)
 {
-       if (recv_cmdline_parser(argc, argv, &conf))
-               return NULL;
+       recv_cmdline_parser(argc, argv, &conf);
        HANDLE_VERSION_FLAG("recv", conf);
        if (conf.help_given || conf.detailed_help_given)
                print_help_and_die();
@@ -112,10 +116,11 @@ int main(int argc, char *argv[])
 out:
        if (r_opened)
                r->close(&rn);
-       btr_free_node(rn.btrn);
-       btr_free_node(sot.btrn);
+       btr_remove_node(&rn.btrn);
+       btr_remove_node(&sot.btrn);
        if (rn.conf)
                r->free_config(rn.conf);
+
        if (ret < 0)
                PARA_ERROR_LOG("%s\n", para_strerror(-ret));
        return ret < 0? EXIT_FAILURE : EXIT_SUCCESS;