nlopess         Fri Dec  1 16:37:40 2006 UTC

  Added files:                 (Branch: PHP_5_2)
    /php-src/ext/ftp/tests      bug39458-2.phpt bug39458.phpt 

  Modified files:              
    /php-src    NEWS 
    /php-src/ext/ftp/tests      server.inc 
  Log:
  tests + BFN
  
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.388&r2=1.2027.2.547.2.389&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.388 php-src/NEWS:1.2027.2.547.2.389
--- php-src/NEWS:1.2027.2.547.2.388     Fri Dec  1 15:33:06 2006
+++ php-src/NEWS        Fri Dec  1 16:37:39 2006
@@ -77,6 +77,7 @@
   number of backslashes). (David Soria Parra, Pierre)
 - Fixed bug #39534 (Error in maths to calculate of
   ZEND_MM_ALIGNED_MIN_HEADER_SIZE). (wharmby at uk dot ibm dot com, Dmitry)
+- Fixed bug #39458 (ftp_nlist() returns false on empty dirs). (Nuno)
 - Fixed bug #39454 (Returning a SOAP array segfaults PHP). (Dmitry)
 - Fixed bug #39445 (Calling debug_backtrace() in the __toString() function
   produces a crash). (Dmitry)
http://cvs.php.net/viewvc.cgi/php-src/ext/ftp/tests/server.inc?r1=1.1.2.5&r2=1.1.2.6&diff_format=u
Index: php-src/ext/ftp/tests/server.inc
diff -u php-src/ext/ftp/tests/server.inc:1.1.2.5 
php-src/ext/ftp/tests/server.inc:1.1.2.6
--- php-src/ext/ftp/tests/server.inc:1.1.2.5    Fri Nov 24 20:18:54 2006
+++ php-src/ext/ftp/tests/server.inc    Fri Dec  1 16:37:39 2006
@@ -201,6 +201,33 @@
                change_dir($m[1]);
                fputs($s, "250 CWD command successful.\r\n");
 
+       } elseif (preg_match("~^NLST(?: ([A-Za-z./]+))?\r\n$~", $buf, $m)) {
+
+               if (isset($m[1]) && $m[1] === 'bogusdir') {
+                       fputs($s, "250 $m[1]: No such file or directory\r\n");
+                       continue;
+               }
+
+               // there are some servers that don't open the ftp-data socket 
if there's nothing to send
+               if (isset($bug39458) && isset($m[1]) && $m[1] === 'emptydir') {
+                       fputs($s, "226 Transfer complete.\r\n");
+                       continue;
+               }
+
+               fputs($s, "150 File status okay; about to open data 
connection\r\n");
+
+               if (!$fs = stream_socket_client("tcp://$host:$port")) {
+                       fputs($s, "425 Can't open data connection\r\n");
+                       continue;
+               }
+
+               if (empty($m[1]) || $m[1] !== 'emptydir') {
+                       fputs($fs, "file1\r\nfile1\r\nfile\nb0rk\r\n");
+               }
+
+               fputs($s, "226 Closing data Connection.\r\n");
+               fclose($fs);
+
        } elseif (preg_match("~^MKD ([A-Za-z./]+)\r\n$~", $buf, $m)) {
                if (isset($bug7216)) {
                        fputs($s, "257 OK.\r\n");

http://cvs.php.net/viewvc.cgi/php-src/ext/ftp/tests/bug39458-2.phpt?view=markup&rev=1.1
Index: php-src/ext/ftp/tests/bug39458-2.phpt
+++ php-src/ext/ftp/tests/bug39458-2.phpt

http://cvs.php.net/viewvc.cgi/php-src/ext/ftp/tests/bug39458.phpt?view=markup&rev=1.1
Index: php-src/ext/ftp/tests/bug39458.phpt
+++ php-src/ext/ftp/tests/bug39458.phpt

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to