From 75aa3cfc5130fa11f99301aee7bd4c704e5a1e8e Mon Sep 17 00:00:00 2001 From: Daniel Beulshausen Date: Mon, 17 Sep 2001 13:21:10 +0000 Subject: fix fcntl --- ext/sockets/php_sockets_win.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'ext/sockets') diff --git a/ext/sockets/php_sockets_win.c b/ext/sockets/php_sockets_win.c index 5956781310..f352ac4b5c 100644 --- a/ext/sockets/php_sockets_win.c +++ b/ext/sockets/php_sockets_win.c @@ -151,10 +151,10 @@ int inet_aton(const char *cp, struct in_addr *inp) { } int fcntl(int fd, int cmd, ...) { - va_list va; - int retval; - - va_start(va, cmd); + va_list va; + int retval, io, mode; + + va_start(va, cmd); switch(cmd) { case F_GETFL: @@ -165,7 +165,9 @@ int fcntl(int fd, int cmd, ...) { break; case F_SETFL: - retval = ioctlsocket(fd, cmd, va_arg(va, int*)); + io = va_arg(va, int); + mode = io == O_NONBLOCK ? 1 : 0; + retval = ioctlsocket(fd, io, &mode); break; } -- cgit v1.2.1