]> git.sesse.net Git - vlc/blobdiff - src/network/winsock.c
Fix spurious "please select network protocol manually" error
[vlc] / src / network / winsock.c
index a5a718a030772957d8472f88ec2104099935f8f2..dd7f598feb260484c3c2c8ed78b865407686f61c 100644 (file)
@@ -22,7 +22,7 @@
 # include "config.h"
 #endif
 
-#include <vlc/vlc.h>
+#include <vlc_common.h>
 #include <errno.h>
 #include <vlc_network.h>
 
@@ -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