]> granicus.if.org Git - php/commitdiff
MFH: Final set of fixes for bug #27633.
authorIlia Alshanetsky <iliaa@php.net>
Thu, 10 Mar 2005 23:38:18 +0000 (23:38 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Thu, 10 Mar 2005 23:38:18 +0000 (23:38 +0000)
ext/ftp/ftp.c
ext/ftp/php_ftp.c

index 6427974faf0246b7a08addf10cf2e80e0a54dbbd..e2ce52db6fe26ab0d1a28c1b3743013531561c72 100644 (file)
@@ -713,25 +713,8 @@ ftp_get(ftpbuf_t *ftp, php_stream *outstream, const char *path, ftptype_t type,
                         * Everything Else \n
                         */
 #ifdef PHP_WIN32
-                       while ((s = strpbrk(ptr, "\r\n")) && (s < e)) {
-                               php_stream_write(outstream, ptr, (s - ptr));
-                               php_stream_write(outstream, "\r\n", sizeof("\r\n")-1);
-
-                               if (*s == '\r') {
-                                       s++;
-                               }
-                               /* for some reason some servers prefix a \r before a \n, 
-                                * resulting in a \r\r\n in the buffer when
-                                * the remote file already has windoze style line endings.
-                                */
-                               if (*s == '\r') {
-                                       s++;
-                               }
-                               if (*s == '\n') {
-                                       s++;
-                               }
-                               ptr = s;
-                       }
+                       php_stream_write(outstream, ptr, (e - ptr));
+                       ptr = e;
 #else 
                        while (e > ptr && (s = memchr(ptr, '\r', (e - ptr)))) {
                                php_stream_write(outstream, ptr, (s - ptr));
index 6474115cb898a19b80abeaf3c84b9d6acc861a1d..092b81873064d4ed019f64e7f4fb338ac54cb6f1 100644 (file)
@@ -602,6 +602,10 @@ PHP_FUNCTION(ftp_get)
                RETURN_FALSE;
        }
 
+#ifdef PHP_WIN32
+       mode = FTPTYPE_IMAGE;
+#endif
+
        if (ftp->autoseek && resumepos) {
                if (PG(safe_mode) && (!php_checkuid(local, mode == FTPTYPE_ASCII ? "rt+" : "rb+", CHECKUID_CHECK_MODE_PARAM))) {
                        RETURN_FALSE;