diff --git a/contrib/win32/w32-posix-prototype/win32posix/UnitTests/UnitTests.vcxproj b/contrib/win32/w32-posix-prototype/win32posix/UnitTests/UnitTests.vcxproj
index 966a22d..14c2746 100644
--- a/contrib/win32/w32-posix-prototype/win32posix/UnitTests/UnitTests.vcxproj
+++ b/contrib/win32/w32-posix-prototype/win32posix/UnitTests/UnitTests.vcxproj
@@ -73,6 +73,7 @@
true
$(SolutionDir)bin\unittests\$(Platform)\$(Configuration)\
$(Platform)\$(Configuration)\$(TargetName)\
+ $(SolutionDir)\win32posix\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath);
true
@@ -90,7 +91,8 @@
Level3
Disabled
WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- $(SolutionDir)\win32posix
+
+
Console
diff --git a/contrib/win32/w32-posix-prototype/win32posix/UnitTests/socket_tests.c b/contrib/win32/w32-posix-prototype/win32posix/UnitTests/socket_tests.c
index 319d317..f2faa87 100644
--- a/contrib/win32/w32-posix-prototype/win32posix/UnitTests/socket_tests.c
+++ b/contrib/win32/w32-posix-prototype/win32posix/UnitTests/socket_tests.c
@@ -1,4 +1,7 @@
-#include "w32posix.h"
+#include
+#include
+#include
+#include
#include "test_helper.h"
#define PORT "34912"
@@ -7,6 +10,7 @@
int listen_fd, accept_fd, connect_fd, ret;
struct addrinfo hints,*servinfo;
fd_set read_set, write_set, except_set;
+struct timeval time_val;
int
unset_nonblock(int fd)
@@ -129,11 +133,11 @@ socket_syncio_tests()
ASSERT_INT_EQ(errno, EBADF);
FD_ZERO(&read_set);
FD_SET(20, &read_set);
- ASSERT_INT_EQ(select(21, &read_set, NULL, NULL, NULL), -1);
+ ASSERT_INT_EQ(select(21, &read_set, NULL, NULL, &time_val), -1);
ASSERT_INT_EQ(errno, EBADF);
FD_ZERO(&write_set);
FD_SET(21, &write_set);
- ASSERT_INT_EQ(select(22, NULL, &write_set, NULL, NULL), -1);
+ ASSERT_INT_EQ(select(22, NULL, &write_set, NULL, &time_val), -1);
ASSERT_INT_EQ(errno, EBADF);
TEST_DONE();
diff --git a/contrib/win32/w32-posix-prototype/win32posix/win32posix/inc/sys/socket.h b/contrib/win32/w32-posix-prototype/win32posix/win32posix/inc/sys/socket.h
new file mode 100644
index 0000000..b58fcb2
--- /dev/null
+++ b/contrib/win32/w32-posix-prototype/win32posix/win32posix/inc/sys/socket.h
@@ -0,0 +1 @@
+#include "..\..\w32posix.h"
\ No newline at end of file
diff --git a/contrib/win32/w32-posix-prototype/win32posix/win32posix/inc/unistd.h b/contrib/win32/w32-posix-prototype/win32posix/win32posix/inc/unistd.h
new file mode 100644
index 0000000..149332c
--- /dev/null
+++ b/contrib/win32/w32-posix-prototype/win32posix/win32posix/inc/unistd.h
@@ -0,0 +1 @@
+#include "..\w32posix.h"
\ No newline at end of file
diff --git a/contrib/win32/w32-posix-prototype/win32posix/win32posix/w32fd.c b/contrib/win32/w32-posix-prototype/win32posix/win32posix/w32fd.c
index 7602426..c46bfe6 100644
--- a/contrib/win32/w32-posix-prototype/win32posix/win32posix/w32fd.c
+++ b/contrib/win32/w32-posix-prototype/win32posix/win32posix/w32fd.c
@@ -286,13 +286,7 @@ int w32_isatty(int fd) {
}
FILE* w32_fdopen(int fd, const char *mode) {
- errno = 0;
- if ((fd > MAX_FDS - 1) || fd_table.w32_ios[fd] == NULL) {
- errno = EBADF;
- debug("bad fd: %d", fd);
- return NULL;
- }
-
+ CHECK_FD(fd);
return fileio_fdopen(fd_table.w32_ios[fd], mode);
}
@@ -488,12 +482,14 @@ int w32_select(int fds, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, co
int w32_dup(int oldfd) {
+ CHECK_FD(oldfd);
errno = EOPNOTSUPP;
debug("ERROR: dup is not implemented yet");
return -1;
}
int w32_dup2(int oldfd, int newfd) {
+ CHECK_FD(oldfd);
errno = EOPNOTSUPP;
debug("ERROR: dup2 is not implemented yet");
return -1;
diff --git a/contrib/win32/w32-posix-prototype/win32posix/win32posix/win32posix.vcxproj b/contrib/win32/w32-posix-prototype/win32posix/win32posix/win32posix.vcxproj
index a513483..125a9c0 100644
--- a/contrib/win32/w32-posix-prototype/win32posix/win32posix/win32posix.vcxproj
+++ b/contrib/win32/w32-posix-prototype/win32posix/win32posix/win32posix.vcxproj
@@ -145,6 +145,8 @@
+
+
diff --git a/contrib/win32/w32-posix-prototype/win32posix/win32posix/win32posix.vcxproj.filters b/contrib/win32/w32-posix-prototype/win32posix/win32posix/win32posix.vcxproj.filters
index 15b911b..30d3b0e 100644
--- a/contrib/win32/w32-posix-prototype/win32posix/win32posix/win32posix.vcxproj.filters
+++ b/contrib/win32/w32-posix-prototype/win32posix/win32posix/win32posix.vcxproj.filters
@@ -13,6 +13,12 @@
{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+ {bcb2ad09-217d-43e3-b3f0-0e95ef6b8023}
+
+
+ {a8ebc7ed-da32-4692-82b6-6d49d420dd5b}
+
@@ -44,5 +50,11 @@
Header Files
+
+ inc
+
+
+ inc\sys
+
\ No newline at end of file