]> git.meshlink.io Git - meshlink/commitdiff
Merge branch 'master' into testing/invitations
authorSaverio Proto <zioproto@gmail.com>
Wed, 11 Jun 2014 17:58:53 +0000 (19:58 +0200)
committerSaverio Proto <zioproto@gmail.com>
Wed, 11 Jun 2014 17:58:53 +0000 (19:58 +0200)
examples/chat.c
src/meshlink.c

index 70d17d7d917bf6515aaf98d1fb97bea2f969df22..887d1440f0e6b6af095bad45ab0971d801cd363e 100644 (file)
@@ -56,8 +56,10 @@ static void parse_command(meshlink_handle_t *mesh, char *buf) {
 
                if(!meshlink_join(mesh, arg))
                        fprintf(stderr, "Could not join using invitation: %s\n", mesh->errstr);
-               else
+               else {
                        fprintf(stderr, "Invitation accepted!\n");
+                       meshlink_start(mesh);
+               }
        } else if(!strcasecmp(buf, "kick")) {
                if(!arg) {
                        fprintf(stderr, "/kick requires an argument!\n");
@@ -194,7 +196,6 @@ int main(int argc, char *argv[]) {
 
        if(!meshlink_start(mesh)) {
                fprintf(stderr, "Could not start MeshLink: %s\n", mesh->errstr);
-               return 1;
        }
 
        printf("Chat started.\nType /help for a list of commands.\n");
index e5982721d533aadd2cafb8e775f6dcb7b1555916..c703ddbe6da3bb205ecff27b67bde3fcbe3a62db 100644 (file)
@@ -773,11 +773,6 @@ meshlink_handle_t *meshlink_open(const char *confbase, const char *name) {
        WSAStartup(MAKEWORD(2, 2), &wsa_state);
 #endif
 
-       // Setup up everything
-       // TODO: we should not open listening sockets yet
-
-       if(!setup_network(mesh))
-               return meshlink_close(mesh), NULL;
 
        return mesh;
 }
@@ -800,6 +795,10 @@ bool meshlink_start(meshlink_handle_t *mesh) {
                fprintf(stderr, "No name given!\n");
                return false;
        }
+       // Setup up everything
+
+       if(!setup_network(mesh))
+               return meshlink_close(mesh), NULL;
 
        // Start the main thread