]> git.sesse.net Git - vlc/blobdiff - src/network/winsock.c
Revert "correct realloc() usage, on failure realloc will return NULL"
[vlc] / src / network / winsock.c
index ac01bc9978759dde1117af74e9b38957e8bec50b..dd7f598feb260484c3c2c8ed78b865407686f61c 100644 (file)
@@ -148,6 +148,7 @@ const char *net_strerror( int value )
     return "Unknown network stack error";
 }
 
+#if 0
 ssize_t vlc_sendmsg (int s, struct msghdr *hdr, int flags)
 {
     /* WSASendMsg would be more straightforward, and would support ancilliary
@@ -185,12 +186,16 @@ ssize_t vlc_recvmsg (int s, struct msghdr *hdr, int flags)
         buf[i].buf = hdr->msg_iov[i].iov_base,
         buf[i].len = hdr->msg_iov[i].iov_len;
 
-    DWORD recvd;
+    DWORD recvd, dwFlags = flags;
+    INT fromlen = hdr->msg_namelen;
     hdr->msg_controllen = 0;
     hdr->msg_flags = 0;
 
-    if (WSARecvFrom (s, buf, sizeof (buf) / sizeof (buf[0]), &recvd, flags,
-                     hdr->msg_name, hdr->msg_namelen, NULL, NULL) == 0)
+    int ret = WSARecvFrom (s, buf, sizeof (buf) / sizeof (buf[0]), &recvd,
+                           &dwFlags, hdr->msg_name, &fromlen, NULL, NULL);
+    hdr->msg_namelen = fromlen;
+    hdr->msg_flags = dwFlags;
+    if (ret == 0)
         return recvd;
 
 #ifdef MSG_TRUNC
@@ -204,3 +209,4 @@ ssize_t vlc_recvmsg (int s, struct msghdr *hdr, int flags)
 #endif
     return -1;
 }
+#endif