Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2004-03-31 19:33:33 +0400
committerCorinna Vinschen <corinna@vinschen.de>2004-03-31 19:33:33 +0400
commit455bbeae3882e2469c379f47419b41bf626e6e7c (patch)
treeeaeebf6cc8e53a1728a68c5b11577ef27d55519a /winsup/cygwin/fhandler_socket.cc
parentdecd3e5d72bb72dc93ea314583f5c25e18c8ff1d (diff)
* fhandler_socket.cc (fhandler_socket::recvfrom): Always initialize
ret to 0 when using in Winsock call. (fhandler_socket::recvmsg): Ditto. (fhandler_socket::sendto): Ditto. (fhandler_socket::sendmsg): Ditto.
Diffstat (limited to 'winsup/cygwin/fhandler_socket.cc')
-rw-r--r--winsup/cygwin/fhandler_socket.cc37
1 files changed, 18 insertions, 19 deletions
diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc
index a410e15ac..952b87b82 100644
--- a/winsup/cygwin/fhandler_socket.cc
+++ b/winsup/cygwin/fhandler_socket.cc
@@ -727,8 +727,8 @@ fhandler_socket::recvfrom (void *ptr, size_t len, int flags,
WSABUF wsabuf = { len, (char *) ptr };
if (is_nonblocking () || has_been_closed)
- res = WSARecvFrom (get_socket (), &wsabuf, 1, &ret, (DWORD *) &flags,
- from, fromlen, NULL, NULL);
+ res = WSARecvFrom (get_socket (), &wsabuf, 1, (ret = 0, &ret),
+ (DWORD *) &flags, from, fromlen, NULL, NULL);
else
{
wsock_event wsock_evt;
@@ -738,9 +738,9 @@ fhandler_socket::recvfrom (void *ptr, size_t len, int flags,
do
{
if (!(res = wsock_evt.wait (get_socket (), has_been_closed)))
- res = WSARecvFrom (get_socket (), &wsabuf, 1, &ret,
- (DWORD *) &flags, from, fromlen,
- NULL, NULL);
+ res = WSARecvFrom (get_socket (), &wsabuf, 1,
+ (ret = 0, &ret), (DWORD *) &flags,
+ from, fromlen, NULL, NULL);
}
while (res == SOCKET_ERROR
&& WSAGetLastError () == WSAEWOULDBLOCK
@@ -853,9 +853,8 @@ fhandler_socket::recvmsg (struct msghdr *msg, int flags, ssize_t tot)
if (is_nonblocking () || has_been_closed)
res = WSARecvFrom (get_socket (),
- wsabuf, iovcnt, &ret, (DWORD *) &flags,
- from, fromlen,
- NULL, NULL);
+ wsabuf, iovcnt, (ret = 0, &ret), (DWORD *) &flags,
+ from, fromlen, NULL, NULL);
else
{
wsock_event wsock_evt;
@@ -865,9 +864,9 @@ fhandler_socket::recvmsg (struct msghdr *msg, int flags, ssize_t tot)
do
{
if (!(res = wsock_evt.wait (get_socket (), has_been_closed)))
- res = WSARecvFrom (get_socket (), wsabuf, iovcnt, &ret,
- (DWORD *) &flags, from, fromlen,
- NULL, NULL);
+ res = WSARecvFrom (get_socket (), wsabuf, iovcnt,
+ (ret = 0, &ret), (DWORD *) &flags,
+ from, fromlen, NULL, NULL);
}
while (res == SOCKET_ERROR
&& WSAGetLastError () == WSAEWOULDBLOCK
@@ -930,7 +929,7 @@ fhandler_socket::sendto (const void *ptr, size_t len, int flags,
WSABUF wsabuf = { len, (char *) ptr };
if (is_nonblocking () || has_been_closed)
- res = WSASendTo (get_socket (), &wsabuf, 1, &ret,
+ res = WSASendTo (get_socket (), &wsabuf, 1, (ret = 0, &ret),
flags & MSG_WINMASK,
(to ? (const struct sockaddr *) &sin : NULL), tolen,
NULL, NULL);
@@ -941,7 +940,7 @@ fhandler_socket::sendto (const void *ptr, size_t len, int flags,
{
do
{
- res = WSASendTo (get_socket (), &wsabuf, 1, &ret,
+ res = WSASendTo (get_socket (), &wsabuf, 1, (ret = 0, &ret),
flags & MSG_WINMASK,
(to ? (const struct sockaddr *) &sin : NULL),
tolen, NULL, NULL);
@@ -1066,10 +1065,9 @@ fhandler_socket::sendmsg (const struct msghdr *msg, int flags, ssize_t tot)
DWORD ret;
if (is_nonblocking () || has_been_closed)
- res = WSASendTo (get_socket (), wsabuf, iovcnt, &ret, flags,
- (struct sockaddr *) msg->msg_name,
- msg->msg_namelen,
- NULL, NULL);
+ res = WSASendTo (get_socket (), wsabuf, iovcnt, (ret = 0, &ret),
+ flags, (struct sockaddr *) msg->msg_name,
+ msg->msg_namelen, NULL, NULL);
else
{
wsock_event wsock_evt;
@@ -1077,8 +1075,9 @@ fhandler_socket::sendmsg (const struct msghdr *msg, int flags, ssize_t tot)
{
do
{
- res = WSASendTo (get_socket (), wsabuf, iovcnt, &ret,
- flags, (struct sockaddr *) msg->msg_name,
+ res = WSASendTo (get_socket (), wsabuf, iovcnt,
+ (ret = 0, &ret), flags,
+ (struct sockaddr *) msg->msg_name,
msg->msg_namelen, NULL, NULL);
if (res != SOCKET_ERROR
|| WSAGetLastError () != WSAEWOULDBLOCK)