Damjan Jovanovic : ws2_32: Update WSASendTo's iovec properly.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jul 16 08:23:37 CDT 2007


Module: wine
Branch: master
Commit: 15428534d85918093ed01c169ebbf136cf9cca94
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=15428534d85918093ed01c169ebbf136cf9cca94

Author: Damjan Jovanovic <damjan.jov at gmail.com>
Date:   Sun Jul 15 13:58:31 2007 +0200

ws2_32: Update WSASendTo's iovec properly.

---

 dlls/ws2_32/socket.c |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index 60c4e44..0a6597d 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -2717,13 +2717,11 @@ INT WINAPI WSASendTo( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount,
             if (n > 0)
             {
                 *lpNumberOfBytesSent += n;
-                if (iovec[first_buff].iov_len > n)
-                    iovec[first_buff].iov_len -= n;
-                else
-                {
-                    while (n > 0) n -= iovec[first_buff++].iov_len;
-                    if (first_buff >= dwBufferCount) break;
-                }
+                while (first_buff < dwBufferCount && iovec[first_buff].iov_len <= n)
+                    n -= iovec[first_buff++].iov_len;
+                if (first_buff >= dwBufferCount) break;
+                iovec[first_buff].iov_base = (char*)iovec[first_buff].iov_base + n;
+                iovec[first_buff].iov_len -= n;
             }
 
             if (timeout != -1)




More information about the wine-cvs mailing list