summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2007-03-27 19:06:00 +0000
committerMarcus Boerger <helly@php.net>2007-03-27 19:06:00 +0000
commit1d5dc64233b548a786bd4330b94fc0eafbb5d1ab (patch)
treea4d31a73bf2fb0124224c76f69a29457b97bcde9
parentcbb532a3bb4212d52bd0f715e0372613e5cb063d (diff)
downloadphp-git-1d5dc64233b548a786bd4330b94fc0eafbb5d1ab.tar.gz
- Fix return of rename/unlink
-rw-r--r--ext/phar/phar.c54
-rwxr-xr-xext/phar/phar_internal.h2
2 files changed, 28 insertions, 28 deletions
diff --git a/ext/phar/phar.c b/ext/phar/phar.c
index de5802147b..660650a1af 100644
--- a/ext/phar/phar.c
+++ b/ext/phar/phar.c
@@ -774,7 +774,7 @@ int phar_open_file(php_stream *fp, char *fname, int fname_len, char *alias, int
return FAILURE;
}
- sig_len = phar_hex_str(digest, sizeof(digest), &signature);
+ sig_len = phar_hex_str((const char*)digest, sizeof(digest), &signature);
break;
}
case PHAR_SIG_MD5: {
@@ -809,7 +809,7 @@ int phar_open_file(php_stream *fp, char *fname, int fname_len, char *alias, int
return FAILURE;
}
- sig_len = phar_hex_str(digest, sizeof(digest), &signature);
+ sig_len = phar_hex_str((const char*)digest, sizeof(digest), &signature);
break;
}
default:
@@ -2353,7 +2353,7 @@ int phar_flush(phar_archive_data *archive, char *user_stub, long len, char **err
PHP_SHA1Final(digest, &context);
php_stream_write(newfile, (char *) digest, sizeof(digest));
sig_flags |= PHAR_SIG_SHA1;
- archive->sig_len = phar_hex_str(digest, sizeof(digest), &archive->signature);
+ archive->sig_len = phar_hex_str((const char*)digest, sizeof(digest), &archive->signature);
break;
}
case PHAR_SIG_MD5: {
@@ -2367,7 +2367,7 @@ int phar_flush(phar_archive_data *archive, char *user_stub, long len, char **err
PHP_MD5Final(digest, &context);
php_stream_write(newfile, (char *) digest, sizeof(digest));
sig_flags |= PHAR_SIG_MD5;
- archive->sig_len = phar_hex_str(digest, sizeof(digest), &archive->signature);
+ archive->sig_len = phar_hex_str((const char*)digest, sizeof(digest), &archive->signature);
break;
}
}
@@ -2786,26 +2786,26 @@ static int phar_wrapper_unlink(php_stream_wrapper *wrapper, char *url, int optio
resource = php_url_parse(url);
if (!resource && (resource = phar_open_url(wrapper, url, "rb", options TSRMLS_CC)) == NULL) {
- return FAILURE;
+ return 0;
}
/* we must have at the very least phar://alias.phar/internalfile.php */
if (!resource->scheme || !resource->host || !resource->path) {
php_url_free(resource);
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: invalid url \"%s\"", url);
- return FAILURE;
+ return 0;
}
if (strcasecmp("phar", resource->scheme)) {
php_url_free(resource);
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: not a phar stream url \"%s\"", url);
- return FAILURE;
+ return 0;
}
if (PHAR_G(readonly)) {
php_url_free(resource);
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: write operations disabled by INI setting");
- return FAILURE;
+ return 0;
}
/* need to copy to strip leading "/", will get touched again */
@@ -2818,7 +2818,7 @@ static int phar_wrapper_unlink(php_stream_wrapper *wrapper, char *url, int optio
}
efree(internal_file);
php_url_free(resource);
- return FAILURE;
+ return 0;
}
if (error) {
efree(error);
@@ -2827,7 +2827,7 @@ static int phar_wrapper_unlink(php_stream_wrapper *wrapper, char *url, int optio
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 FAILURE;
+ return 0;
}
if (idata->internal_file->fp_refcount > 1) {
/* more than just our fp resource is open for this file */
@@ -2835,7 +2835,7 @@ static int phar_wrapper_unlink(php_stream_wrapper *wrapper, char *url, int optio
efree(internal_file);
php_url_free(resource);
phar_entry_delref(idata TSRMLS_CC);
- return FAILURE;
+ return 0;
}
php_url_free(resource);
efree(internal_file);
@@ -2844,7 +2844,7 @@ static int phar_wrapper_unlink(php_stream_wrapper *wrapper, char *url, int optio
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, error);
efree(error);
}
- return SUCCESS;
+ return 1;
}
/* }}} */
@@ -2857,19 +2857,19 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, char *url_from, char
if (PHAR_G(readonly)) {
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: write operations disabled by INI setting");
- return FAILURE;
+ return 0;
}
resource_from = php_url_parse(url_from);
resource_to = php_url_parse(url_from);
if (!resource_from && (resource_from = phar_open_url(wrapper, url_from, "r+b", options TSRMLS_CC)) == NULL) {
- return FAILURE;
+ return 0;
}
if (!resource_to && (resource_to = phar_open_url(wrapper, url_to, "wb", options TSRMLS_CC)) == NULL) {
php_url_free(resource_from);
- return FAILURE;
+ return 0;
}
/* we must have at the very least phar://alias.phar/internalfile.php */
@@ -2877,35 +2877,35 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, char *url_from, char
php_url_free(resource_from);
php_url_free(resource_to);
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: invalid url \"%s\"", url_from);
- return FAILURE;
+ return 0;
}
if (!resource_to->scheme || !resource_to->host || !resource_to->path) {
php_url_free(resource_from);
php_url_free(resource_to);
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: invalid url \"%s\"", url_to);
- return FAILURE;
+ return 0;
}
if (strcasecmp("phar", resource_from->scheme)) {
php_url_free(resource_from);
php_url_free(resource_to);
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: not a phar stream url \"%s\"", url_from);
- return FAILURE;
+ return 0;
}
if (strcasecmp("phar", resource_to->scheme)) {
php_url_free(resource_from);
php_url_free(resource_to);
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: not a phar stream url \"%s\"", url_to);
- return FAILURE;
+ return 0;
}
if (strcmp(resource_from->host, resource_to->host)) {
php_url_free(resource_from);
php_url_free(resource_to);
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: cannot rename \"%s\" to \"%s\", not within the same phar archive", url_from, url_to);
- return FAILURE;
+ return 0;
}
/* need to copy to strip leading "/", will get touched again */
@@ -2921,7 +2921,7 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, char *url_from, char
efree(to_file);
php_url_free(resource_from);
php_url_free(resource_to);
- return FAILURE;
+ return 0;
}
if (error) {
efree(error);
@@ -2932,7 +2932,7 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, char *url_from, char
efree(to_file);
php_url_free(resource_from);
php_url_free(resource_to);
- return FAILURE;
+ return 0;
}
if (!(todata = phar_get_or_create_entry_data(resource_to->host, strlen(resource_to->host), to_file, strlen(to_file), "w", &error TSRMLS_CC))) {
/* constraints of fp refcount were not met */
@@ -2944,7 +2944,7 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, char *url_from, char
efree(to_file);
php_url_free(resource_from);
php_url_free(resource_to);
- return FAILURE;
+ return 0;
}
if (error) {
efree(error);
@@ -2958,7 +2958,7 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, char *url_from, char
php_url_free(resource_to);
phar_entry_delref(fromdata TSRMLS_CC);
phar_entry_delref(todata TSRMLS_CC);
- return FAILURE;
+ return 0;
}
if (todata->internal_file->fp_refcount > 1) {
/* more than just our fp resource is open for this file */
@@ -2969,7 +2969,7 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, char *url_from, char
php_url_free(resource_to);
phar_entry_delref(fromdata TSRMLS_CC);
phar_entry_delref(todata TSRMLS_CC);
- return FAILURE;
+ return 0;
}
php_stream_seek(fromdata->internal_file->fp, 0, SEEK_SET);
@@ -2981,7 +2981,7 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, char *url_from, char
php_url_free(resource_to);
phar_entry_delref(fromdata TSRMLS_CC);
phar_entry_delref(todata TSRMLS_CC);
- return FAILURE;
+ return 0;
}
phar_entry_delref(fromdata TSRMLS_CC);
phar_entry_delref(todata TSRMLS_CC);
@@ -2990,7 +2990,7 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, char *url_from, char
php_url_free(resource_from);
php_url_free(resource_to);
phar_wrapper_unlink(wrapper, url_from, 0, 0 TSRMLS_CC);
- return SUCCESS;
+ return 1;
}
/* }}} */
diff --git a/ext/phar/phar_internal.h b/ext/phar/phar_internal.h
index 06a45fbf10..13ab080437 100755
--- a/ext/phar/phar_internal.h
+++ b/ext/phar/phar_internal.h
@@ -58,7 +58,7 @@
#define E_RECOVERABLE_ERROR E_ERROR
#endif
-#define PHAR_EXT_VERSION_STR "1.0.0"
+#define PHAR_EXT_VERSION_STR "1.0.1"
#define PHAR_API_VERSION_STR "1.0.0"
/* x.y.z maps to 0xyz0 */
#define PHAR_API_VERSION 0x1000