From c43028c6ab3433812dcc55ff8de789aa51f26afe Mon Sep 17 00:00:00 2001 From: Peter Hater <7element@mail.bg> Date: Fri, 26 May 2017 11:51:33 +0000 Subject: [PATCH] [WS2_32] Set last error on exit on some functions svn path=/trunk/; revision=74669 --- reactos/dll/win32/ws2_32/src/socklife.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/reactos/dll/win32/ws2_32/src/socklife.c b/reactos/dll/win32/ws2_32/src/socklife.c index 5b14364f550..b53bb79231a 100644 --- a/reactos/dll/win32/ws2_32/src/socklife.c +++ b/reactos/dll/win32/ws2_32/src/socklife.c @@ -59,7 +59,11 @@ bind(IN SOCKET s, WsSockDereference(Socket); /* Return Provider Value */ - if (Status == ERROR_SUCCESS) return Status; + if (Status == ERROR_SUCCESS) + { + SetLastError(ErrorCode); + return Status; + } /* If everything seemed fine, then the WSP call failed itself */ if (ErrorCode == NO_ERROR) ErrorCode = WSASYSCALLFAILURE; @@ -120,7 +124,11 @@ closesocket(IN SOCKET s) WsSockDereference(Socket); /* Return success if everything is OK */ - if (ErrorCode == ERROR_SUCCESS) return ErrorCode; + if (ErrorCode == ERROR_SUCCESS) + { + SetLastError(ErrorCode); + return ErrorCode; + } } } else @@ -347,6 +355,7 @@ WSAAccept(IN SOCKET s, } /* Return */ + SetLastError(ErrorCode); return Status; } } @@ -421,6 +430,7 @@ WSAJoinLeaf(IN SOCKET s, } /* Return */ + SetLastError(ErrorCode); return Status; } } @@ -582,6 +592,7 @@ DoLookup: { /* Add an API reference and return */ WsSockAddApiReference(Status); + SetLastError(ErrorCode); return Status; } } -- 2.17.1