iliaa Thu Mar 10 18:37:45 2005 EDT Modified files: /php-src/ext/ftp php_ftp.c ftp.c Log: Final set of fixes for bug #27633. # Many thanks to Edin for helpind analyze and resolve this bug. http://cvs.php.net/diff.php/php-src/ext/ftp/php_ftp.c?r1=1.101&r2=1.102&ty=u Index: php-src/ext/ftp/php_ftp.c diff -u php-src/ext/ftp/php_ftp.c:1.101 php-src/ext/ftp/php_ftp.c:1.102 --- php-src/ext/ftp/php_ftp.c:1.101 Mon Sep 27 10:25:13 2004 +++ php-src/ext/ftp/php_ftp.c Thu Mar 10 18:37:44 2005 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_ftp.c,v 1.101 2004/09/27 14:25:13 hyanantha Exp $ */ +/* $Id: php_ftp.c,v 1.102 2005/03/10 23:37:44 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -679,6 +679,10 @@ resumepos = 0; } +#ifdef PHP_WIN32 + mode = FTPTYPE_IMAGE; +#endif + if (ftp->autoseek && resumepos) { outstream = php_stream_open_wrapper(local, mode == FTPTYPE_ASCII ? "rt+" : "rb+", ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL); if (outstream == NULL) { @@ -737,7 +741,9 @@ if (!ftp->autoseek && resumepos == PHP_FTP_AUTORESUME) { resumepos = 0; } - +#ifdef PHP_WIN32 + mode = FTPTYPE_IMAGE; +#endif if (ftp->autoseek && resumepos) { outstream = php_stream_open_wrapper(local, mode == FTPTYPE_ASCII ? "rt+" : "rb+", ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL); if (outstream == NULL) { http://cvs.php.net/diff.php/php-src/ext/ftp/ftp.c?r1=1.108&r2=1.109&ty=u Index: php-src/ext/ftp/ftp.c diff -u php-src/ext/ftp/ftp.c:1.108 php-src/ext/ftp/ftp.c:1.109 --- php-src/ext/ftp/ftp.c:1.108 Wed Mar 9 15:52:38 2005 +++ php-src/ext/ftp/ftp.c Thu Mar 10 18:37:45 2005 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: ftp.c,v 1.108 2005/03/09 20:52:38 iliaa Exp $ */ +/* $Id: ftp.c,v 1.109 2005/03/10 23:37:45 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -846,25 +846,8 @@ * 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));
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php