diff options
author | Andrew Skalski <askalski@php.net> | 2000-05-22 21:16:58 +0000 |
---|---|---|
committer | Andrew Skalski <askalski@php.net> | 2000-05-22 21:16:58 +0000 |
commit | 3ac4c96641ab50319d87eb0dc220b215e9d06b5f (patch) | |
tree | 8e6dec4f009af7df37f5950f0e598756d9fb4239 /ext/ftp/ftp.c | |
parent | 072755ca8d26bd5b182f4a025fecc290fed349d2 (diff) | |
download | php-git-3ac4c96641ab50319d87eb0dc220b215e9d06b5f.tar.gz |
applied Luca Montecchiani's win32 fixes (open files in binary mode
using the "b" fopen flag, and use closesocket rather than close
when closing sockets)
Diffstat (limited to 'ext/ftp/ftp.c')
-rw-r--r-- | ext/ftp/ftp.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/ext/ftp/ftp.c b/ext/ftp/ftp.c index 98605d1e0e..fa167a62d8 100644 --- a/ext/ftp/ftp.c +++ b/ext/ftp/ftp.c @@ -52,6 +52,12 @@ #include "ftp.h" +/* define closesocket macro for portability */ +#if !defined(WIN32) && !defined(WINNT) +#undef closesocket +#define closesocket close +#endif + /* sends an ftp command, returns true on success, false on error. * it sends the string "cmd args\r\n" if args is non-null, or * "cmd\r\n" if args is null @@ -156,7 +162,7 @@ ftp_open(const char *host, short port) bail: if (fd != -1) - close(fd); + closesocket(fd); free(ftp); return NULL; } @@ -168,7 +174,7 @@ ftp_close(ftpbuf_t *ftp) if (ftp == NULL) return NULL; if (ftp->fd != -1) - close(ftp->fd); + closesocket(ftp->fd); ftp_gc(ftp); free(ftp); return NULL; @@ -981,7 +987,7 @@ ftp_getdata(ftpbuf_t *ftp) sizeof(ftp->pasvaddr)) == -1) { perror("connect"); - close(fd); + closesocket(fd); free(data); return NULL; } @@ -1034,7 +1040,7 @@ ftp_getdata(ftpbuf_t *ftp) bail: if (fd != -1) - close(fd); + closesocket(fd); free(data); return NULL; } @@ -1051,7 +1057,7 @@ data_accept(databuf_t *data) size = sizeof(addr); data->fd = my_accept(data->listener, (struct sockaddr*) &addr, &size); - close(data->listener); + closesocket(data->listener); data->listener = -1; if (data->fd == -1) { @@ -1069,9 +1075,9 @@ data_close(databuf_t *data) if (data == NULL) return NULL; if (data->listener != -1) - close(data->listener); + closesocket(data->listener); if (data->fd != -1) - close(data->fd); + closesocket(data->fd); free(data); return NULL; } |