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