#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
bail:
if (fd != -1)
- close(fd);
+ closesocket(fd);
free(ftp);
return NULL;
}
if (ftp == NULL)
return NULL;
if (ftp->fd != -1)
- close(ftp->fd);
+ closesocket(ftp->fd);
ftp_gc(ftp);
free(ftp);
return NULL;
sizeof(ftp->pasvaddr)) == -1)
{
perror("connect");
- close(fd);
+ closesocket(fd);
free(data);
return NULL;
}
bail:
if (fd != -1)
- close(fd);
+ closesocket(fd);
free(data);
return NULL;
}
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) {
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;
}
RETURN_FALSE;
}
+#if defined(WIN32) || defined(WINNT)
+ if ((outfp = V_FOPEN(arg2->value.str.val, "wb")) == NULL) {
+#else
if ((outfp = V_FOPEN(arg2->value.str.val, "w")) == NULL) {
+#endif
fclose(tmpfp);
php_error(E_WARNING, "error opening %s", arg2->value.str.val);
RETURN_FALSE;
convert_to_string(arg3);
XTYPE(xtype, arg4);
+#if defined(WIN32) || defined(WINNT)
+ if ((infp = V_FOPEN(arg3->value.str.val, "rb")) == NULL) {
+#else
if ((infp = V_FOPEN(arg3->value.str.val, "r")) == NULL) {
+#endif
php_error(E_WARNING, "error opening %s", arg3->value.str.val);
RETURN_FALSE;
}