X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=examples%2Fchatpp.cc;h=00863d501815cee2c5064d945987a27e3359e79e;hb=56ab7383fd5021da9e940253f5f722aab1828fe3;hp=864a3e809b7258d20f8dcc7dcf561d3bb4c1d4aa;hpb=a67bc2279c8a562c9b162a75c7cfd09e2a59d17f;p=meshlink diff --git a/examples/chatpp.cc b/examples/chatpp.cc index 864a3e80..00863d50 100644 --- a/examples/chatpp.cc +++ b/examples/chatpp.cc @@ -27,6 +27,9 @@ static void node_status(meshlink::mesh *mesh, meshlink::node *node, bool reachab printf("%s left.\n", node->name); } +static meshlink::node **nodes; +static size_t nnodes; + static void parse_command(meshlink::mesh *mesh, char *buf) { char *arg = strchr(buf, ' '); if(arg) @@ -42,7 +45,7 @@ static void parse_command(meshlink::mesh *mesh, char *buf) { invitation = mesh->invite(arg); if(!invitation) { - fprintf(stderr, "Could not invite '%s': %s\n", arg, mesh->errstr); + fprintf(stderr, "Could not invite '%s': %s\n", arg, meshlink::strerror()); return; } @@ -55,7 +58,7 @@ static void parse_command(meshlink::mesh *mesh, char *buf) { } if(!mesh->join(arg)) - fprintf(stderr, "Could not join using invitation: %s\n", mesh->errstr); + fprintf(stderr, "Could not join using invitation: %s\n", meshlink::strerror()); else fprintf(stderr, "Invitation accepted!\n"); } else if(!strcasecmp(buf, "kick")) { @@ -75,16 +78,13 @@ static void parse_command(meshlink::mesh *mesh, char *buf) { printf("Node '%s' blacklisted.\n", arg); } else if(!strcasecmp(buf, "who")) { if(!arg) { - meshlink::node *nodes[100]; - size_t n = mesh->get_all_nodes(nodes, 100); - if(!n) { + nodes = mesh->get_all_nodes(nodes, &nnodes); + if(!nnodes) { fprintf(stderr, "No nodes known!\n"); } else { printf("Known nodes:"); - for(int i = 0; i < n && i < 100; i++) + for(size_t i = 0; i < nnodes; i++) printf(" %s", nodes[i]->name); - if(n > 100) - printf(" (and %zu more)", n - 100); printf("\n"); } } else { @@ -164,7 +164,7 @@ static void parse_input(meshlink::mesh *mesh, char *buf) { } if(!mesh->send(destination, msg, strlen(msg) + 1)) { - fprintf(stderr, "Could not send message to '%s': %s\n", destination->name, mesh->errstr); + fprintf(stderr, "Could not send message to '%s': %s\n", destination->name, meshlink::strerror()); return; } @@ -193,7 +193,7 @@ int main(int argc, char *argv[]) { mesh->set_log_cb(MESHLINK_INFO, log_message); if(!mesh->start()) { - fprintf(stderr, "Could not start MeshLink: %s\n", mesh->errstr); + fprintf(stderr, "Could not start MeshLink: %s\n", meshlink::strerror()); return 1; }