pajoye Thu Sep 4 08:05:27 2008 UTC Added files: (Branch: PHP_5_3) /php-src/ext/standard/tests/file bug45985.phpt
Modified files: /TSRM tsrm_virtual_cwd.c Log: - MFH: #45985, touch on opened file raises a warning http://cvs.php.net/viewvc.cgi/TSRM/tsrm_virtual_cwd.c?r1=1.74.2.9.2.35.2.13&r2=1.74.2.9.2.35.2.14&diff_format=u Index: TSRM/tsrm_virtual_cwd.c diff -u TSRM/tsrm_virtual_cwd.c:1.74.2.9.2.35.2.13 TSRM/tsrm_virtual_cwd.c:1.74.2.9.2.35.2.14 --- TSRM/tsrm_virtual_cwd.c:1.74.2.9.2.35.2.13 Tue Aug 19 15:00:20 2008 +++ TSRM/tsrm_virtual_cwd.c Thu Sep 4 08:05:27 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: tsrm_virtual_cwd.c,v 1.74.2.9.2.35.2.13 2008/08/19 15:00:20 dmitry Exp $ */ +/* $Id: tsrm_virtual_cwd.c,v 1.74.2.9.2.35.2.14 2008/09/04 08:05:27 pajoye Exp $ */ #include <sys/types.h> #include <sys/stat.h> @@ -818,7 +818,6 @@ } #endif - add_slash = (use_realpath != CWD_REALPATH) && path_length > 0 && IS_SLASH(resolved_path[path_length-1]); t = CWDG(realpath_cache_ttl) ? 0 : -1; path_length = tsrm_realpath_r(resolved_path, start, path_length, &ll, &t, use_realpath, 0, NULL TSRMLS_CC); @@ -1033,8 +1032,14 @@ BOOL f; HANDLE hFile; - hFile = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, - OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL); + hFile = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, + OPEN_ALWAYS, FILE_FLAG_BACKUP_SEMANTICS, NULL); + + /* OPEN_ALWAYS mode sets the last error to ERROR_ALREADY_EXISTS but + the CreateFile operation succeeds */ + if (GetLastError() == ERROR_ALREADY_EXISTS) { + SetLastError(0); + } if ( hFile == INVALID_HANDLE_VALUE ) { return -1; http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/bug45985.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/bug45985.phpt +++ php-src/ext/standard/tests/file/bug45985.phpt --TEST-- Bug #35740 (touch() opened file raises a warning) --FILE-- <?php $file = __DIR__ . '/' . '__tmp_35740.dat'; file_put_contents($file, 'test'); $f = fopen($file, 'r'); touch($file); fclose($f); @unlink($file); echo "ok"; ?> --EXPECT-- ok -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php