]> granicus.if.org Git - php/commitdiff
fix fcntl
authorDaniel Beulshausen <dbeu@php.net>
Mon, 17 Sep 2001 13:21:10 +0000 (13:21 +0000)
committerDaniel Beulshausen <dbeu@php.net>
Mon, 17 Sep 2001 13:21:10 +0000 (13:21 +0000)
ext/sockets/php_sockets_win.c

index 59567813102837a20c0a6e07c412f3a62683d82a..f352ac4b5c97adcd3d341fa66fd126cd07415d3f 100644 (file)
@@ -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;
        }