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