Fix a few branch checks
authorWouter Verhelst <w@uter.be>
Thu, 9 Jun 2011 14:16:44 +0000 (16:16 +0200)
committerWouter Verhelst <w@uter.be>
Thu, 9 Jun 2011 14:16:44 +0000 (16:16 +0200)
There were still two errors in the ifs in negotiate() that made 'make
check fail'. It works again now.

nbd-server.c

index 133bc7e..144d3d0 100644 (file)
@@ -1390,11 +1390,11 @@ CLIENT* negotiate(int net, CLIENT *client, GArray* servers, int phase) {
                }
                if (write(net, &magic, sizeof(magic)) < 0) {
                        err_nonfatal("Negotiation failed: %m");
                }
                if (write(net, &magic, sizeof(magic)) < 0) {
                        err_nonfatal("Negotiation failed: %m");
-                       if(client)
+                       if(phase & NEG_OLD)
                                exit(EXIT_FAILURE);
                }
        }
                                exit(EXIT_FAILURE);
                }
        }
-       if(phase & NEG_MODERN) {
+       if ((phase & NEG_MODERN) && (phase & NEG_INIT)) {
                /* modern */
                uint32_t reserved;
                uint32_t opt;
                /* modern */
                uint32_t reserved;
                uint32_t opt;