cvs-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Cvs-cvs] Changes to ccvs/src/socket-client.c


From: Derek Robert Price
Subject: [Cvs-cvs] Changes to ccvs/src/socket-client.c
Date: Sat, 24 Sep 2005 20:05:14 -0400

Index: ccvs/src/socket-client.c
diff -u ccvs/src/socket-client.c:1.16 ccvs/src/socket-client.c:1.17
--- ccvs/src/socket-client.c:1.16       Sat Sep 24 23:57:02 2005
+++ ccvs/src/socket-client.c    Sun Sep 25 00:05:12 2005
@@ -91,6 +91,8 @@
        blocking mode normally waits until all the requested data is
        available.  */
 
+    assert (size >= need);
+
     *got = 0;
 
     do
@@ -106,7 +108,7 @@
           makes sure that we only recv() BUFFER_DATA_SIZE bytes at
           a time.  */
 
-       nbytes = recv (sb->socket, data, size, 0);
+       nbytes = recv (sb->socket, data + *got, size - *got, 0);
        if (nbytes < 0)
            error (1, 0, "reading from server: %s",
                   SOCK_STRERROR (SOCK_ERRNO));
@@ -121,12 +123,9 @@
            else
                return 0;
        }
-       need -= nbytes;
-       size -= nbytes;
-       data += nbytes;
        *got += nbytes;
     }
-    while (need > 0);
+    while (*got < need);
 
     return 0;
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]