[FFmpeg-cvslog] network: Don't redefine error codes if they already exist in errno.h

Ronald S. Bultje git at videolan.org
Wed Jun 27 02:07:40 CEST 2012


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Sat Jun 23 15:00:17 2012 +0300| [4b1b1449d95b3567d055fc410a1db137c811229c] | committer: Martin Storsjö

network: Don't redefine error codes if they already exist in errno.h

Since the errno.h values don't match the error codes that winsock
returns, map the winsock error codes to the errno ones, to make
sure explicit checks against AVERROR(x) match.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4b1b1449d95b3567d055fc410a1db137c811229c
---

 libavformat/network.c |    8 ++++++++
 libavformat/network.h |    9 +++++++++
 2 files changed, 17 insertions(+)

diff --git a/libavformat/network.c b/libavformat/network.c
index 432084f..c2f7a9b 100644
--- a/libavformat/network.c
+++ b/libavformat/network.c
@@ -164,6 +164,14 @@ int ff_neterrno(void)
         return AVERROR(EAGAIN);
     case WSAEINTR:
         return AVERROR(EINTR);
+    case WSAEPROTONOSUPPORT:
+        return AVERROR(EPROTONOSUPPORT);
+    case WSAETIMEDOUT:
+        return AVERROR(ETIMEDOUT);
+    case WSAECONNREFUSED:
+        return AVERROR(ECONNREFUSED);
+    case WSAEINPROGRESS:
+        return AVERROR(EINPROGRESS);
     }
     return -err;
 }
diff --git a/libavformat/network.h b/libavformat/network.h
index 3e4422e..793cfee 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -35,10 +35,19 @@
 #include <winsock2.h>
 #include <ws2tcpip.h>
 
+#ifndef EPROTONOSUPPORT
 #define EPROTONOSUPPORT WSAEPROTONOSUPPORT
+#endif
+#ifndef ETIMEDOUT
 #define ETIMEDOUT       WSAETIMEDOUT
+#endif
+#ifndef ECONNREFUSED
 #define ECONNREFUSED    WSAECONNREFUSED
+#endif
+#ifndef EINPROGRESS
 #define EINPROGRESS     WSAEINPROGRESS
+#endif
+
 #define getsockopt(a, b, c, d, e) getsockopt(a, b, c, (char*) d, e)
 #define setsockopt(a, b, c, d, e) setsockopt(a, b, c, (const char*) d, e)
 



More information about the ffmpeg-cvslog mailing list