X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=examples%2Fgroupchat.c;h=7a5a300fb526f7f8be3790338e90a10ca3e9831e;hb=ac63b6adaf29c4143f9e106039011b9ebeb96b93;hp=f84b3e99a03e6f6f753585357f6964fc58cea03d;hpb=ec02aca3d7888f072c5c0d52ba6b5c37ed42b69e;p=meshlink diff --git a/examples/groupchat.c b/examples/groupchat.c index f84b3e99..7a5a300f 100644 --- a/examples/groupchat.c +++ b/examples/groupchat.c @@ -230,6 +230,22 @@ static void parse_command(meshlink_handle_t *mesh, char *buf) { meshlink_blacklist(mesh, node); fprintf(stderr, "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; + } + + meshlink_whitelist(mesh, node); + + fprintf(stderr, "Node '%s' whitelisted.\n", arg); } else if(!strcasecmp(buf, "who")) { meshlink_submesh_t *node_group = NULL; @@ -239,10 +255,10 @@ static void parse_command(meshlink_handle_t *mesh, char *buf) { if(!nnodes) { fprintf(stderr, "Could not get list of nodes: %s\n", meshlink_strerror(meshlink_errno)); } else { - fprintf(stderr, "%zu known nodes:\n", nnodes); + fprintf(stderr, "%lu known nodes:\n", (unsigned long)nnodes); for(size_t i = 0; i < nnodes; i++) { - fprintf(stderr, " %lu. %s", i, nodes[i]->name); + fprintf(stderr, " %lu. %s", (unsigned long)i, nodes[i]->name); if((node_group = meshlink_get_node_submesh(mesh, nodes[i]))) { fprintf(stderr, "\t%s", node_group->name);