1diff -pudN --strip-trailing-cr e:\wine\dlls\ws2_32\tests/sock.c e:\reactos\modules\rostests\winetests\ws2_32/sock.c
2--- e:\wine\dlls\ws2_32\tests/sock.c	2016-07-11 10:09:27 +0100
3+++ e:\reactos\modules\rostests\winetests\ws2_32/sock.c	2016-07-18 11:38:16 +0100
4@@ -3746,6 +3752,7 @@ static void test_select(void)
5     ok(FD_ISSET(fdWrite, &readfds), "fdWrite socket is not in the set\n");
6     ok(FD_ISSET(fdRead, &readfds), "fdRead socket is not in the set\n");
7
8+#if ROSTESTS_233_IS_FIXED
9     while(1) {
10         FD_ZERO(&writefds);
11         FD_SET(fdWrite, &writefds);
12@@ -3753,6 +3760,8 @@ static void test_select(void)
13         if(!ret) break;
14         ok(send(fdWrite, tmp_buf, sizeof(tmp_buf), 0) > 0, "failed to send data\n");
15     }
16+#endif /* ROSTESTS_233_IS_FIXED */
17+
18     FD_ZERO(&readfds);
19     FD_SET(fdWrite, &readfds);
20     FD_SET(fdRead, &readfds);
21@@ -3925,6 +3934,8 @@ todo_wine
22     ok(exceptfds.fd_count == 2, "expected 2, got %d\n", exceptfds.fd_count);
23     closesocket(fdWrite);
24
25+#if ROSTESTS_233_IS_FIXED
26+
27     /* Close the socket currently being selected in a thread - bug 38399 */
28     ok(!tcp_socketpair(&fdRead, &fdWrite), "creating socket pair failed\n");
29     thread_handle = CreateThread(NULL, 0, SelectCloseThread, &fdWrite, 0, &id);
30@@ -3951,6 +3962,8 @@ todo_wine
31     WaitForSingleObject (thread_handle, 1000);
32     closesocket(fdRead);
33
34+#endif /* ROSTESTS_233_IS_FIXED */
35+
36     /* test UDP behavior of unbound sockets */
37     select_timeout.tv_sec = 0;
38     select_timeout.tv_usec = 250000;
39@@ -4467,10 +4480,12 @@ static void test_dns(void)
40        "hostent->h_addr_list[0] should be in %p, it is in %p\n", addr.mem, h->h_addr_list[0]);
41 }
42
43+#ifndef __REACTOS__
44 /* Our winsock headers don't define gethostname because it conflicts with the
45  * definition in unistd.h. Define it here to get rid of the warning. */
46
47 int WINAPI gethostname(char *name, int namelen);
48+#endif
49
50 static void test_gethostbyname(void)
51 {
52@@ -4489,17 +4504,24 @@ static void test_gethostbyname(void)
53
54     he = gethostbyname(name);
55     ok(he != NULL, "gethostbyname(\"%s\") failed: %d\n", name, WSAGetLastError());
56-    addr_list = (struct in_addr **)he->h_addr_list;
57-    strcpy(first_ip, inet_ntoa(*addr_list[0]));
58-
59-    trace("List of local IPs:\n");
60-    for(count = 0; addr_list[count] != NULL; count++)
61+#ifdef __REACTOS__ /* ROSTESTS-233 */
62+    if (he != NULL)
63     {
64-        char *ip = inet_ntoa(*addr_list[count]);
65-        if (!strcmp(ip, "127.0.0.1"))
66-            local_ip = TRUE;
67-        trace("%s\n", ip);
68+#endif
69+        addr_list = (struct in_addr **)he->h_addr_list;
70+        strcpy(first_ip, inet_ntoa(*addr_list[0]));
71+
72+        trace("List of local IPs:\n");
73+        for(count = 0; addr_list[count] != NULL; count++)
74+        {
75+            char *ip = inet_ntoa(*addr_list[count]);
76+            if (!strcmp(ip, "127.0.0.1"))
77+                local_ip = TRUE;
78+            trace("%s\n", ip);
79+        }
80+#ifdef __REACTOS__ /* ROSTESTS-233 */
81     }
82+#endif
83
84     if (local_ip)
85     {
86@@ -6839,7 +6861,7 @@ static void test_GetAddrInfoW(void)
87
88     ret = pGetAddrInfoW(empty, NULL, NULL, &result2);
89     ok(!ret, "GetAddrInfoW failed with %d\n", WSAGetLastError());
90-    ok(result != NULL, "GetAddrInfoW failed\n");
91+    ok(result2 != NULL, "GetAddrInfoW failed\n");
92     compare_addrinfow(result, result2);
93     pFreeAddrInfoW(result);
94     pFreeAddrInfoW(result2);
95@@ -6850,7 +6872,7 @@ static void test_GetAddrInfoW(void)
96
97     ret = pGetAddrInfoW(empty, empty, NULL, &result2);
98     ok(!ret, "GetAddrInfoW failed with %d\n", WSAGetLastError());
99-    ok(result != NULL, "GetAddrInfoW failed\n");
100+    ok(result2 != NULL, "GetAddrInfoW failed\n");
101     compare_addrinfow(result, result2);
102     pFreeAddrInfoW(result);
103     pFreeAddrInfoW(result2);
104@@ -7025,22 +7047,22 @@ static void test_getaddrinfo(void)
105      * as if requesting with an empty host name. */
106     ret = pgetaddrinfo(name, NULL, NULL, &result);
107     ok(!ret, "getaddrinfo failed with %d\n", WSAGetLastError());
108-    ok(result != NULL, "GetAddrInfoW failed\n");
109+    ok(result != NULL, "getaddrinfo failed\n");
110
111     ret = pgetaddrinfo("", NULL, NULL, &result2);
112     ok(!ret, "getaddrinfo failed with %d\n", WSAGetLastError());
113-    ok(result != NULL, "GetAddrInfoW failed\n");
114+    ok(result2 != NULL, "getaddrinfo failed\n");
115     compare_addrinfo(result, result2);
116     pfreeaddrinfo(result);
117     pfreeaddrinfo(result2);
118
119     ret = pgetaddrinfo(name, "", NULL, &result);
120     ok(!ret, "getaddrinfo failed with %d\n", WSAGetLastError());
121-    ok(result != NULL, "GetAddrInfoW failed\n");
122+    ok(result != NULL, "getaddrinfo failed\n");
123
124     ret = pgetaddrinfo("", "", NULL, &result2);
125     ok(!ret, "getaddrinfo failed with %d\n", WSAGetLastError());
126-    ok(result != NULL, "GetAddrInfoW failed\n");
127+    ok(result2 != NULL, "getaddrinfo failed\n");
128     compare_addrinfo(result, result2);
129     pfreeaddrinfo(result);
130     pfreeaddrinfo(result2);
131@@ -9539,6 +9561,14 @@ todo_wine
132 todo_wine
133     ok(error == WSAEFAULT, "Expected 10014, got %u\n", error);
134
135+#ifdef __REACTOS__ /* ROSTESTS-233 */
136+    if (!blen)
137+    {
138+        skip("Failed to get length needed for name space providers.\n");
139+        return;
140+    }
141+#endif
142+
143     name = HeapAlloc(GetProcessHeap(), 0, blen);
144     if (!name)
145     {
146@@ -9616,6 +9646,14 @@ todo_wine
147 todo_wine
148     ok(error == WSAEFAULT, "Expected 10014, got %u\n", error);
149
150+#ifdef __REACTOS__ /* ROSTESTS-233 */
151+    if (!blen)
152+    {
153+        skip("Failed to get length needed for name space providers.\n");
154+        return;
155+    }
156+#endif
157+
158     name = HeapAlloc(GetProcessHeap(), 0, blen);
159     if (!name)
160     {
161