[w32socket] Translate ELOOP and ENAMETOOLONG (mono/mono#16039)
authorAleksey Kliger (λgeek) <alklig@microsoft.com>
Wed, 7 Aug 2019 13:42:39 +0000 (09:42 -0400)
committerGitHub <noreply@github.com>
Wed, 7 Aug 2019 13:42:39 +0000 (09:42 -0400)
Translate to WSAELOOP and WSAENAMETOOLONG, respectively.

See https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2

Addresses part of https://github.com/mono/mono/issues/16024

Commit migrated from https://github.com/mono/mono/commit/aea457cdb3ea8217ef702e8a521e732f6f3e3693

src/mono/mono/metadata/w32error.h
src/mono/mono/metadata/w32socket-unix.c

index e66f920..83f061a 100644 (file)
@@ -74,6 +74,8 @@
 #define WSAESHUTDOWN               10058
 #define WSAETIMEDOUT               10060
 #define WSAECONNREFUSED            10061
+#define WSAELOOP                   10062
+#define WSAENAMETOOLONG            10063
 #define WSAEHOSTDOWN               10064
 #define WSAEHOSTUNREACH            10065
 #define WSASYSCALLFAILURE          10107
index 607c0a3..33545cb 100644 (file)
@@ -1476,12 +1476,12 @@ mono_w32socket_convert_error (gint error)
 #ifdef EISCONN
        case EISCONN: return WSAEISCONN;
 #endif
-       /* FIXME: case ELOOP: return WSA????; */
+       case ELOOP: return WSAELOOP;
        case EMFILE: return WSAEMFILE;
 #ifdef EMSGSIZE
        case EMSGSIZE: return WSAEMSGSIZE;
 #endif
-       /* FIXME: case ENAMETOOLONG: return WSAEACCES; */
+       case ENAMETOOLONG: return WSAENAMETOOLONG;
 #ifdef ENETUNREACH
        case ENETUNREACH: return WSAENETUNREACH;
 #endif