X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=examples%2Fchat.c;h=87af2878b91e1dba7cecf3f2b4c9f22e0e2efcfa;hb=a27bebb24d4072ef66d8640a3c988f1b883e309e;hp=d0e511cab56fa578e384e468bb8d94032da7c355;hpb=43d8f901c4bbb693643bb6f188c97dd28c1d0b0a;p=meshlink diff --git a/examples/chat.c b/examples/chat.c index d0e511ca..87af2878 100644 --- a/examples/chat.c +++ b/examples/chat.c @@ -99,9 +99,31 @@ static void parse_command(meshlink_handle_t *mesh, char *buf) { return; } - meshlink_blacklist(mesh, node); + if(!meshlink_blacklist(mesh, node)) { + fprintf(stderr, "Error blacklising '%s': %s", arg, meshlink_strerror(meshlink_errno)); + return; + } printf("Node '%s' blacklisted.\n", arg); + } else if(!strcasecmp(buf, "whitelist")) { + if(!arg) { + fprintf(stderr, "/whitelist requires an argument!\n"); + return; + } + + meshlink_node_t *node = meshlink_get_node(mesh, arg); + + if(!node) { + fprintf(stderr, "Error looking up '%s': %s\n", arg, meshlink_strerror(meshlink_errno)); + return; + } + + if(!meshlink_whitelist(mesh, node)) { + fprintf(stderr, "Error whitelising '%s': %s", arg, meshlink_strerror(meshlink_errno)); + return; + } + + printf("Node '%s' whitelisted.\n", arg); } else if(!strcasecmp(buf, "who")) { if(!arg) { nodes = meshlink_get_all_nodes(mesh, nodes, &nnodes); @@ -224,7 +246,7 @@ int main(int argc, char *argv[]) { nick = argv[2]; } - meshlink_set_log_cb(NULL, MESHLINK_INFO, log_message); + meshlink_set_log_cb(NULL, MESHLINK_DEBUG, log_message); meshlink_handle_t *mesh = meshlink_open(confbase, nick, "chat", DEV_CLASS_STATIONARY); @@ -235,7 +257,7 @@ int main(int argc, char *argv[]) { meshlink_set_receive_cb(mesh, receive); meshlink_set_node_status_cb(mesh, node_status); - meshlink_set_log_cb(mesh, MESHLINK_INFO, log_message); + meshlink_set_log_cb(mesh, MESHLINK_DEBUG, log_message); if(!meshlink_start(mesh)) { fprintf(stderr, "Could not start MeshLink: %s\n", meshlink_strerror(meshlink_errno));