]> git.meshlink.io Git - meshlink/blobdiff - examples/chat.c
Don't link with Catta anymore.
[meshlink] / examples / chat.c
index d0e511cab56fa578e384e468bb8d94032da7c355..87af2878b91e1dba7cecf3f2b4c9f22e0e2efcfa 100644 (file)
@@ -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));