diff options
Diffstat (limited to 'main')
| -rw-r--r-- | main/fopen_wrappers.c | 4 | ||||
| -rw-r--r-- | main/mergesort.c | 2 | ||||
| -rw-r--r-- | main/network.c | 2 | ||||
| -rw-r--r-- | main/php.h | 4 | ||||
| -rw-r--r-- | main/php_open_temporary_file.c | 2 | ||||
| -rwxr-xr-x | main/streams.c | 18 |
6 files changed, 27 insertions, 5 deletions
diff --git a/main/fopen_wrappers.c b/main/fopen_wrappers.c index c6781c8ce8..eb91436b3b 100644 --- a/main/fopen_wrappers.c +++ b/main/fopen_wrappers.c @@ -33,7 +33,7 @@ #ifdef PHP_WIN32 #include <windows.h> -#include <winsock.h> +#include <winsock2.h> #define O_RDONLY _O_RDONLY #include "win32/param.h" #elif defined(NETWARE) @@ -74,7 +74,7 @@ #endif #ifdef PHP_WIN32 -#include <winsock.h> +#include <winsock2.h> #elif defined(NETWARE) && defined(USE_WINSOCK) /*#include <ws2nlm.h>*/ #include <novsock2.h> diff --git a/main/mergesort.c b/main/mergesort.c index 7ee4ee00ef..34da44cf2f 100644 --- a/main/mergesort.c +++ b/main/mergesort.c @@ -61,7 +61,7 @@ static char sccsid[] = "@(#)merge.c 8.2 (Berkeley) 2/14/94"; #include "php.h" #ifdef PHP_WIN32 -#include <winsock.h> /* Includes definition for u_char */ +#include <winsock2.h> /* Includes definition for u_char */ #endif #if defined(NETWARE) && !defined(NEW_LIBC) diff --git a/main/network.c b/main/network.c index 51b46b8f18..50428a8116 100644 --- a/main/network.c +++ b/main/network.c @@ -26,7 +26,7 @@ #ifdef PHP_WIN32 #include <windows.h> -#include <winsock.h> +#include <winsock2.h> #define O_RDONLY _O_RDONLY #include "win32/param.h" #elif defined(NETWARE) diff --git a/main/php.h b/main/php.h index 6cd191453a..d6c220b3e1 100644 --- a/main/php.h +++ b/main/php.h @@ -22,6 +22,10 @@ #ifndef PHP_H #define PHP_H +#ifdef PHP_WIN32 +#include <winsock2.h> +#endif + #ifdef HAVE_DMALLOC #include <dmalloc.h> #endif diff --git a/main/php_open_temporary_file.c b/main/php_open_temporary_file.c index eff0393eb1..f24ee66e31 100644 --- a/main/php_open_temporary_file.c +++ b/main/php_open_temporary_file.c @@ -27,7 +27,7 @@ #ifdef PHP_WIN32 #include <windows.h> -#include <winsock.h> +#include <winsock2.h> #define O_RDONLY _O_RDONLY #include "win32/param.h" #include "win32/winutil.h" diff --git a/main/streams.c b/main/streams.c index 67e961540b..d746e35996 100755 --- a/main/streams.c +++ b/main/streams.c @@ -1332,6 +1332,15 @@ PHPAPI php_stream *_php_stream_fopen_from_fd(int fd, const char *mode STREAMS_DC struct stat sb; self->is_pipe = (fstat(self->fd, &sb) == 0 && S_ISFIFO(sb.st_mode)) ? 1 : 0; } +#elif defined(PHP_WIN32) + { + long handle = _get_osfhandle(self->fd); + DWORD in_buf_size, out_buf_size; + + if (handle != 0xFFFFFFFF) { + self->is_pipe = GetNamedPipeInfo((HANDLE)handle, NULL, &out_buf_size, &in_buf_size, NULL); + } + } #endif stream = php_stream_alloc_rel(&php_stream_stdio_ops, self, 0, mode); @@ -1365,6 +1374,15 @@ PHPAPI php_stream *_php_stream_fopen_from_file(FILE *file, const char *mode STRE struct stat sb; self->is_pipe = (fstat(self->fd, &sb) == 0 && S_ISFIFO(sb.st_mode)) ? 1 : 0; } +#elif defined(PHP_WIN32) + { + long handle = _get_osfhandle(self->fd); + DWORD in_buf_size, out_buf_size; + + if (handle != 0xFFFFFFFF) { + self->is_pipe = GetNamedPipeInfo((HANDLE)handle, NULL, &out_buf_size, &in_buf_size, NULL); + } + } #endif stream = php_stream_alloc_rel(&php_stream_stdio_ops, self, 0, mode); |
