For example, WSAStartup()'s documentation says: "A call to the WSAGetLastError function is not needed and should not be used" --- libavformat/network.c | 5 ++++- libavformat/network.h | 12 ++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/libavformat/network.c b/libavformat/network.c index 5d0d05c5f1..351dc34bb6 100644 --- a/libavformat/network.c +++ b/libavformat/network.c @@ -123,7 +123,10 @@ void ff_network_close(void) #if HAVE_WINSOCK2_H int ff_neterror(void) { - int err = WSAGetLastError(); + return ff_neterror2(WSAGetLastError()); +} +int ff_neterror2(int err) +{ switch (err) { case WSAEWOULDBLOCK: return AVERROR(EAGAIN); diff --git a/libavformat/network.h b/libavformat/network.h index f338694212..7c8f81a050 100644 --- a/libavformat/network.h +++ b/libavformat/network.h @@ -63,6 +63,12 @@ * @note Error is based on WSAGetLastError() (Windows) or `errno` (otherwise) */ int ff_neterror(void); +/* + * @brief ff_neterror()-style AVERROR + * @param err error code (usually an errno or Windows Sockets Error Code) + * @note Windows Sockets Error Codes are only supported in Windows + */ +int ff_neterror2(int err); #else #include <sys/types.h> #include <sys/socket.h> @@ -76,6 +82,12 @@ int ff_neterror(void); * @note Error is based on WSAGetLastError() (Windows) or `errno` (otherwise) */ #define ff_neterror() AVERROR(errno) +/* + * @brief ff_neterror()-style AVERROR + * @param err error code (usually an errno or Windows Sockets Error Code) + * @note Windows Sockets Error Codes are only supported in Windows + */ +#define ff_neterror2(ERRNO) AVERROR(ERRNO) #endif /* HAVE_WINSOCK2_H */ #if HAVE_ARPA_INET_H -- 2.43.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".