[PHP-DOC] cvs: php-src(PHP_5_3) /ext/standard file.c /ext/standard/tests/file copy_variation4-win32.phpt copy_variation4.phpt

2008-08-11 Thread Pierre-Alain Joye
pajoye  Mon Aug 11 13:11:31 2008 UTC

  Removed files:   (Branch: PHP_5_3)
/php-src/ext/standard/tests/filecopy_variation4-win32.phpt 

  Modified files:  
/php-src/ext/standard   file.c 
/php-src/ext/standard/tests/filecopy_variation4.phpt 
  Log:
  - [DOC] MFH: detect if dest is a dir (if the given stream layer supports stat)
and fails
   . remove win32 specific test. The errors are not the same
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/file.c?r1=1.409.2.6.2.28.2.19&r2=1.409.2.6.2.28.2.20&diff_format=u
Index: php-src/ext/standard/file.c
diff -u php-src/ext/standard/file.c:1.409.2.6.2.28.2.19 
php-src/ext/standard/file.c:1.409.2.6.2.28.2.20
--- php-src/ext/standard/file.c:1.409.2.6.2.28.2.19 Wed Jul 23 11:25:14 2008
+++ php-src/ext/standard/file.c Mon Aug 11 13:11:30 2008
@@ -21,7 +21,7 @@
+--+
 */
 
-/* $Id: file.c,v 1.409.2.6.2.28.2.19 2008/07/23 11:25:14 tony2001 Exp $ */
+/* $Id: file.c,v 1.409.2.6.2.28.2.20 2008/08/11 13:11:30 pajoye Exp $ */
 
 /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */
 
@@ -1731,8 +1731,20 @@
php_error_docref(NULL TSRMLS_CC, E_WARNING, "The first argument 
to copy() function cannot be a directory");
return FAILURE;
}
-   if (php_stream_stat_path_ex(dest, PHP_STREAM_URL_STAT_QUIET, &dest_s, 
NULL) != 0) {
-   goto safe_to_copy;
+   
+   switch (php_stream_stat_path_ex(dest, PHP_STREAM_URL_STAT_QUIET, 
&dest_s, NULL)) {
+   case -1:
+   /* non-statable stream */
+   goto safe_to_copy;
+   break;
+   case 0:
+   break;
+   default: /* failed to stat file, does not exist? */
+   return ret;
+   }
+   if (S_ISDIR(dest_s.sb.st_mode)) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, "The second 
argument to copy() function cannot be a directory");
+   return FAILURE;
}
if (!src_s.sb.st_ino || !dest_s.sb.st_ino) {
goto no_stat;
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/copy_variation4.phpt?r1=1.1.2.2.2.4&r2=1.1.2.2.2.5&diff_format=u
Index: php-src/ext/standard/tests/file/copy_variation4.phpt




[PHP-DOC] cvs: php-src /ext/standard file.c /ext/standard/tests/file copy_variation4-win32.phpt copy_variation4.phpt

2008-08-11 Thread Pierre-Alain Joye
pajoye  Mon Aug 11 13:09:01 2008 UTC

  Removed files:   
/php-src/ext/standard/tests/filecopy_variation4-win32.phpt 

  Modified files:  
/php-src/ext/standard   file.c 
/php-src/ext/standard/tests/filecopy_variation4.phpt 
  Log:
  - [DOC] detect if dest is a dir (if the given stream layer supports stat) 
and fails
   . remove win32 specific test. The errors are not the same 
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/file.c?r1=1.522&r2=1.523&diff_format=u
Index: php-src/ext/standard/file.c
diff -u php-src/ext/standard/file.c:1.522 php-src/ext/standard/file.c:1.523
--- php-src/ext/standard/file.c:1.522   Wed Jul 23 11:24:34 2008
+++ php-src/ext/standard/file.c Mon Aug 11 13:09:01 2008
@@ -21,7 +21,7 @@
+--+
 */
 
-/* $Id: file.c,v 1.522 2008/07/23 11:24:34 tony2001 Exp $ */
+/* $Id: file.c,v 1.523 2008/08/11 13:09:01 pajoye Exp $ */
 
 /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */
 
@@ -1892,9 +1892,26 @@
php_error_docref(NULL TSRMLS_CC, E_WARNING, "The first argument 
to copy() function cannot be a directory");
return FAILURE;
}
+   
+   switch (php_stream_stat_path_ex(dest, PHP_STREAM_URL_STAT_QUIET, 
&dest_s, NULL)) {
+   case -1:
+   /* non-statable stream */
+   goto safe_to_copy;
+   break;
+   case 0:
+   break;
+   default: /* failed to stat file, does not exist? */
+   return ret;
+   }
+   if (S_ISDIR(dest_s.sb.st_mode)) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, "The second 
argument to copy() function cannot be a directory");
+   return FAILURE;
+   }
+   /*
if (php_stream_stat_path_ex(dest, PHP_STREAM_URL_STAT_QUIET, &dest_s, 
NULL) != 0) {
goto safe_to_copy;
}
+*/
if (!src_s.sb.st_ino || !dest_s.sb.st_ino) {
goto no_stat;
}
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/copy_variation4.phpt?r1=1.5&r2=1.6&diff_format=u
Index: php-src/ext/standard/tests/file/copy_variation4.phpt