1
0
mirror of https://github.com/php/php-src.git synced 2026-04-29 03:03:26 +02:00

remove redundant check for file existence, add another unlink edgecase test

This commit is contained in:
Greg Beaver
2008-04-14 18:03:57 +00:00
parent bf701fe74f
commit 0c9fcac767
2 changed files with 6 additions and 7 deletions
+3 -7
View File
@@ -701,8 +701,10 @@ static int phar_wrapper_unlink(php_stream_wrapper *wrapper, char *url, int optio
if (FAILURE == phar_get_entry_data(&idata, resource->host, strlen(resource->host), internal_file, strlen(internal_file), "r", 0, &error TSRMLS_CC)) {
/* constraints of fp refcount were not met */
if (error) {
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, error);
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "unlink of \"%s\" failed: %s", url, error);
efree(error);
} else {
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "unlink of \"%s\" failed, file does not exist", url);
}
efree(internal_file);
php_url_free(resource);
@@ -711,12 +713,6 @@ static int phar_wrapper_unlink(php_stream_wrapper *wrapper, char *url, int optio
if (error) {
efree(error);
}
if (!idata) {
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: \"%s\" is not a file in phar \"%s\", cannot unlink", internal_file, resource->host);
efree(internal_file);
php_url_free(resource);
return 0;
}
if (idata->internal_file->fp_refcount > 1) {
/* more than just our fp resource is open for this file */
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: \"%s\" in phar \"%s\", has open file pointers, cannot unlink", internal_file, resource->host);
+3
View File
@@ -53,6 +53,7 @@ unlink($pname2 . '/hi');
unlink('phar://');
unlink('phar://foo.phar');
unlink('phar://test.phar/' . basename(__FILE__));
unlink($pname . '/oops');
?>
===DONE===
@@ -101,4 +102,6 @@ Warning: unlink(): phar error: unlink failed in %sfopen_edgecases.php on line %d
Warning: unlink(): phar error: "phar://test.phar/fopen_edgecases.php" cannot be unlinked, phar is extracted in plain map in %sfopen_edgecases.php on line %d
Warning: unlink(): unlink of "phar://%sfopen_edgecases.phar.php/oops" failed, file does not exist in %sfopen_edgecases.php on line %d
===DONE===