/*
- * Copyright (C) 2005-2012 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;
register_task(&s, &sot.task);
rn.task.pre_select = r->pre_select;
- rn.task.post_select = r->post_select;
+ if (r->new_post_select) {
+ rn.task.new_post_select = r->new_post_select;
+ rn.task.post_select = NULL;
+ } else {
+ rn.task.new_post_select = NULL;
+ rn.task.post_select = r->post_select;;
+ }
sprintf(rn.task.status, "%s", r->name);
register_task(&s, &rn.task);
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;