projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use sideband also for challenge response.
[paraslash.git]
/
recv.c
diff --git
a/recv.c
b/recv.c
index 9d6f028319fc6e1e8f36f7406fc64475fb3576df..f14ea2876fba05a4b8196c4dcafbcf968de32644 100644
(file)
--- a/
recv.c
+++ b/
recv.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 2005-20
09
Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-20
12
Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
@@
-8,7
+8,6
@@
#include <regex.h>
#include <sys/types.h>
#include <regex.h>
#include <sys/types.h>
-#include <dirent.h>
#include "para.h"
#include "list.h"
#include "para.h"
#include "list.h"
@@
-20,6
+19,8
@@
#include "string.h"
#include "error.h"
#include "stdout.h"
#include "string.h"
#include "error.h"
#include "stdout.h"
+#include "buffer_tree.h"
+#include "version.h"
/** The gengetopt args info struct. */
static struct recv_args_info conf;
/** The gengetopt args info struct. */
static struct recv_args_info conf;
@@
-58,7
+59,7
@@
static void *parse_config(int argc, char *argv[], int *receiver_num)
}
/**
}
/**
- *
the main function of para_recv
+ *
The main function of para_recv.
*
* \param argc number of arguments
* \param argv vector of arguments
*
* \param argc number of arguments
* \param argv vector of arguments
@@
-90,28
+91,31
@@
int main(int argc, char *argv[])
}
r = &receivers[receiver_num];
rn.receiver = r;
}
r = &receivers[receiver_num];
rn.receiver = r;
+ rn.btrn = btr_new_node(&(struct btr_node_description)
+ EMBRACE(.name = r->name));
ret = r->open(&rn);
if (ret < 0)
goto out;
r_opened = 1;
ret = r->open(&rn);
if (ret < 0)
goto out;
r_opened = 1;
+ sot.btrn = btr_new_node(&(struct btr_node_description)
+ EMBRACE(.parent = rn.btrn, .name = "stdout"));
stdout_set_defaults(&sot);
stdout_set_defaults(&sot);
- sot.bufp = &rn.buf;
- sot.loaded = &rn.loaded;
- sot.input_error = &rn.task.error;
- register_task(&sot.task);
+ register_task(&s, &sot.task);
rn.task.pre_select = r->pre_select;
rn.task.post_select = r->post_select;
rn.task.pre_select = r->pre_select;
rn.task.post_select = r->post_select;
- sprintf(rn.task.status, "
receiver node"
);
- register_task(&rn.task);
+ sprintf(rn.task.status, "
%s", r->name
);
+ register_task(&
s, &
rn.task);
ret = schedule(&s);
out:
if (r_opened)
r->close(&rn);
ret = schedule(&s);
out:
if (r_opened)
r->close(&rn);
- if (r)
- r->shutdown();
+ btr_free_node(rn.btrn);
+ btr_free_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;
if (ret < 0)
PARA_ERROR_LOG("%s\n", para_strerror(-ret));
return ret < 0? EXIT_FAILURE : EXIT_SUCCESS;