#define _GNU_SOURCE
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
char *data[3];
for(int i = 0; i < 3; i++) {
- char *path;
- asprintf(&path, "trio_conf.%d", i);
- assert(path);
+ char *path = NULL;
+ assert(asprintf(&path, "trio_conf.%d", i) != -1 && path);
mesh[i] = meshlink_open(path, name[i], "trio", DEV_CLASS_BACKBONE);
assert(mesh[i]);
+ free(path);
+
+ meshlink_add_address(mesh[i], "localhost");
data[i] = meshlink_export(mesh[i]);
assert(data[i]);
// start the nodes
for(int i = 0; i < 3; i++) {
- meshlink_start(mesh[i]);
+ free(data[i]);
+ assert(meshlink_start(mesh[i]));
}
// the nodes should now learn about each other
devtool_edge_t *edges = NULL;
size_t nedges = 0;
assert_after((edges = devtool_get_all_edges(mesh[1], edges, &nedges), nedges == 3), 15);
+ free(edges);
// Stop the first node
meshlink_set_log_cb(mesh[1], MESHLINK_DEBUG, log_cb);
for(int i = 1; i < 3; i++) {
- meshlink_start(mesh[i]);
+ assert(meshlink_start(mesh[i]));
}
assert(meshlink_get_node(mesh[1], name[2]));