}
bool add_edge_h(meshlink_handle_t *mesh, connection_t *c, const char *request) {
+ assert(request);
+ assert(*request);
+
edge_t *e;
node_t *from, *to;
char from_name[MAX_STRING_SIZE];
// Check if devclasses are valid
- if(from_devclass < 0 || from_devclass > _DEV_CLASS_MAX) {
+ if(from_devclass < 0 || from_devclass >= DEV_CLASS_COUNT) {
logger(mesh, MESHLINK_ERROR, "Got bad %s from %s: %s", "ADD_EDGE", c->name, "from devclass invalid");
return false;
}
- if(to_devclass < 0 || to_devclass > _DEV_CLASS_MAX) {
+ if(to_devclass < 0 || to_devclass >= DEV_CLASS_COUNT) {
logger(mesh, MESHLINK_ERROR, "Got bad %s from %s: %s", "ADD_EDGE", c->name, "to devclass invalid");
return false;
}
node_add(mesh, to);
}
+ to->devclass = to_devclass;
+
/* Convert addresses */
address = str2sockaddr(to_address, to_port);
logger(mesh, MESHLINK_WARNING, "Got %s from %s which does not match existing entry",
"ADD_EDGE", c->name);
edge_del(mesh, e);
- graph(mesh);
}
} else {
return true;
}
bool del_edge_h(meshlink_handle_t *mesh, connection_t *c, const char *request) {
+ assert(request);
+ assert(*request);
+
edge_t *e;
char from_name[MAX_STRING_SIZE];
char to_name[MAX_STRING_SIZE];