Check return code for write when sending messages to server.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.info>
Sat, 15 Mar 2014 17:17:56 +0000 (14:17 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.info>
Sat, 15 Mar 2014 17:17:56 +0000 (14:17 -0300)
This not only avoids a warning, but prevents us from moving forward,
when we should report an error, when write fails.

rnetclient.c

index d264c72..04869fd 100644 (file)
@@ -161,8 +161,12 @@ static int handshake(int c)
        char buffer[16];
        int r;
        buffer[0] = 1;
-       write(c, buffer, 1);
-       write(c, "00000000000000", 14);
+       r = write(c, buffer, 1);
+       if (r < 1)
+               return -1;
+       r = write(c, "00000000000000", 14);
+       if (r < 14)
+               return -1;
        r = read(c, buffer, 1);
        if (r != 1 && buffer[0] != 'E')
                return -1;