|
|
|
@ -37,13 +37,19 @@ |
|
|
|
#include <stdio.h> |
|
|
|
#include <ctype.h> |
|
|
|
#include <stdlib.h> |
|
|
|
#if HAVE_UINSTD_H |
|
|
|
#include <unistd.h> |
|
|
|
#endif |
|
|
|
#include <fcntl.h> |
|
|
|
#include <string.h> |
|
|
|
#include <time.h> |
|
|
|
#if PHP_WIN32 |
|
|
|
#include <winsock.h> |
|
|
|
#else |
|
|
|
#include <sys/socket.h> |
|
|
|
#include <netinet/in.h> |
|
|
|
#include <netdb.h> |
|
|
|
#endif |
|
|
|
#include <errno.h> |
|
|
|
|
|
|
|
#if HAVE_SYS_TIME_H |
|
|
|
@ -53,7 +59,7 @@ |
|
|
|
#include "ftp.h" |
|
|
|
|
|
|
|
/* define closesocket macro for portability */ |
|
|
|
#if !defined(WIN32) && !defined(WINNT) |
|
|
|
#if !PHP_WIN32 |
|
|
|
#undef closesocket |
|
|
|
#define closesocket close |
|
|
|
#endif |
|
|
|
@ -837,7 +843,9 @@ my_send(int s, void *buf, size_t len) |
|
|
|
n = select(s + 1, NULL, &write_set, NULL, &tv); |
|
|
|
if (n < 1) { |
|
|
|
if (n == 0) |
|
|
|
#if !PHP_WIN32 |
|
|
|
errno = ETIMEDOUT; |
|
|
|
#endif |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
@ -868,7 +876,9 @@ my_recv(int s, void *buf, size_t len) |
|
|
|
n = select(s + 1, &read_set, NULL, NULL, &tv); |
|
|
|
if (n < 1) { |
|
|
|
if (n == 0) |
|
|
|
#if !PHP_WIN32 |
|
|
|
errno = ETIMEDOUT; |
|
|
|
#endif |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
@ -878,6 +888,7 @@ my_recv(int s, void *buf, size_t len) |
|
|
|
|
|
|
|
int |
|
|
|
my_connect(int s, const struct sockaddr *addr, int addrlen) |
|
|
|
#if !PHP_WIN32 |
|
|
|
{ |
|
|
|
fd_set conn_set; |
|
|
|
int flags; |
|
|
|
@ -921,7 +932,11 @@ my_connect(int s, const struct sockaddr *addr, int addrlen) |
|
|
|
|
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
#else |
|
|
|
{ |
|
|
|
return connect(s, addr, addrlen); |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
int |
|
|
|
my_accept(int s, struct sockaddr *addr, int *addrlen) |
|
|
|
@ -938,7 +953,9 @@ my_accept(int s, struct sockaddr *addr, int *addrlen) |
|
|
|
n = select(s + 1, &accept_set, NULL, NULL, &tv); |
|
|
|
if (n < 1) { |
|
|
|
if (n == 0) |
|
|
|
#if !PHP_WIN32 |
|
|
|
errno = ETIMEDOUT; |
|
|
|
#endif |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
|