summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Beaver <cellog@php.net>2008-09-13 22:30:55 +0000
committerGreg Beaver <cellog@php.net>2008-09-13 22:30:55 +0000
commit9eb83b6ae94ab487f5c7c39fa6b348509c306223 (patch)
tree3b487717ab6058e24c6136bde1ed65b82a4394e6
parent8209f891a4099c55eb49b3993d7ca14fe72dedd9 (diff)
downloadphp-git-9eb83b6ae94ab487f5c7c39fa6b348509c306223.tar.gz
fix minor issues found by ICC (unused variables and the like)
-rw-r--r--ext/phar/dirstream.c3
-rw-r--r--ext/phar/func_interceptors.c4
-rw-r--r--ext/phar/phar.c8
-rwxr-xr-xext/phar/phar_internal.h58
-rwxr-xr-xext/phar/phar_object.c28
-rw-r--r--ext/phar/stream.c16
-rw-r--r--ext/phar/tar.c21
-rw-r--r--ext/phar/tests/bug46060.phpt2
-rw-r--r--ext/phar/util.c8
9 files changed, 73 insertions, 75 deletions
diff --git a/ext/phar/dirstream.c b/ext/phar/dirstream.c
index 2e1754d6c8..fa22f4681b 100644
--- a/ext/phar/dirstream.c
+++ b/ext/phar/dirstream.c
@@ -22,8 +22,7 @@
#include "dirstream.h"
BEGIN_EXTERN_C()
-void phar_dostat(phar_archive_data *phar, phar_entry_info *data, php_stream_statbuf *ssb,
- zend_bool is_dir, char *alias, int alias_len TSRMLS_DC);
+void phar_dostat(phar_archive_data *phar, phar_entry_info *data, php_stream_statbuf *ssb, zend_bool is_dir TSRMLS_DC);
END_EXTERN_C()
php_stream_ops phar_dir_ops = {
diff --git a/ext/phar/func_interceptors.c b/ext/phar/func_interceptors.c
index cf08cfd47c..7b7abe6077 100644
--- a/ext/phar/func_interceptors.c
+++ b/ext/phar/func_interceptors.c
@@ -438,7 +438,7 @@ skip_phar:
/* {{{ php_stat
*/
-void phar_fancy_stat(struct stat *stat_sb, int type, zval *return_value TSRMLS_DC)
+static void phar_fancy_stat(struct stat *stat_sb, int type, zval *return_value TSRMLS_DC)
{
zval *stat_dev, *stat_ino, *stat_mode, *stat_nlink, *stat_uid, *stat_gid, *stat_rdev,
*stat_size, *stat_atime, *stat_mtime, *stat_ctime, *stat_blksize, *stat_blocks;
@@ -607,7 +607,7 @@ void phar_fancy_stat(struct stat *stat_sb, int type, zval *return_value TSRMLS_D
}
/* }}} */
-void phar_file_stat(const char *filename, php_stat_len filename_length, int type, void (*orig_stat_func)(INTERNAL_FUNCTION_PARAMETERS), INTERNAL_FUNCTION_PARAMETERS) /* {{{ */
+static void phar_file_stat(const char *filename, php_stat_len filename_length, int type, void (*orig_stat_func)(INTERNAL_FUNCTION_PARAMETERS), INTERNAL_FUNCTION_PARAMETERS) /* {{{ */
{
if (!filename_length) {
RETURN_FALSE;
diff --git a/ext/phar/phar.c b/ext/phar/phar.c
index 7102f23da1..b12628a777 100644
--- a/ext/phar/phar.c
+++ b/ext/phar/phar.c
@@ -1701,7 +1701,7 @@ static int phar_open_from_fp(php_stream* fp, char *fname, int fname_len, char *a
if (got > 512) {
if (phar_is_tar(pos, fname)) {
php_stream_rewind(fp);
- return phar_parse_tarfile(fp, fname, fname_len, alias, alias_len, options, pphar, compression, error TSRMLS_CC);
+ return phar_parse_tarfile(fp, fname, fname_len, alias, alias_len, pphar, compression, error TSRMLS_CC);
}
}
}
@@ -2769,7 +2769,7 @@ int phar_flush(phar_archive_data *phar, char *user_stub, long len, int convert,
}
if (!phar_get_efp(entry, 0 TSRMLS_CC)) {
/* re-open internal file pointer just-in-time */
- newentry = phar_open_jit(phar, entry, oldfile, error, 0 TSRMLS_CC);
+ newentry = phar_open_jit(phar, entry, error TSRMLS_CC);
if (!newentry) {
/* major problem re-opening, so we ignore this file and the error */
efree(*error);
@@ -3103,7 +3103,7 @@ int phar_flush(phar_archive_data *phar, char *user_stub, long len, int convert,
}
switch(phar->sig_flags) {
-#if !HAVE_HASH_EXT
+#ifndef HAVE_HASH_EXT
case PHAR_SIG_SHA512:
case PHAR_SIG_SHA256:
if (closeoldfile) {
@@ -3271,7 +3271,7 @@ static long phar_stream_fteller_for_zend(void *handle TSRMLS_DC) /* {{{ */
zend_op_array *(*phar_orig_compile_file)(zend_file_handle *file_handle, int type TSRMLS_DC);
#if PHP_VERSION_ID >= 50300
#define phar_orig_zend_open zend_stream_open_function
-char *phar_resolve_path(const char *filename, int filename_len TSRMLS_DC)
+static char *phar_resolve_path(const char *filename, int filename_len TSRMLS_DC)
{
return phar_find_in_include_path((char *) filename, filename_len, NULL TSRMLS_CC);
}
diff --git a/ext/phar/phar_internal.h b/ext/phar/phar_internal.h
index 38b1e8816e..fbe2cc5771 100755
--- a/ext/phar/phar_internal.h
+++ b/ext/phar/phar_internal.h
@@ -66,7 +66,7 @@
#ifdef HAVE_STDINT_H
#include <stdint.h>
#endif
-#if HAVE_HASH_EXT
+#ifdef HAVE_HASH_EXT
#include "ext/hash/php_hash.h"
#include "ext/hash/php_hash_sha.h"
#endif
@@ -270,30 +270,31 @@ typedef struct _phar_entry_info {
php_stream *fp;
php_stream *cfp;
int fp_refcount;
- int is_crc_checked:1;
- int is_modified:1;
- int is_deleted:1;
- int is_dir:1;
- /* this flag is used for mounted entries (external files mapped to location
- inside a phar */
- int is_mounted:1;
char *tmp;
- /* used when iterating */
- int is_temp_dir:1;
phar_archive_data *phar;
smart_str metadata_str;
- /* tar-based phar file stuff */
- int is_tar:1;
char *link; /* symbolic link to another file */
char tar_type;
- /* zip-based phar file stuff */
- int is_zip:1;
- /* for cached phar entries */
- int is_persistent:1;
/* position in the manifest */
uint manifest_pos;
/* for stat */
unsigned short inode;
+
+ unsigned int is_crc_checked:1;
+ unsigned int is_modified:1;
+ unsigned int is_deleted:1;
+ unsigned int is_dir:1;
+ /* this flag is used for mounted entries (external files mapped to location
+ inside a phar */
+ unsigned int is_mounted:1;
+ /* used when iterating */
+ unsigned int is_temp_dir:1;
+ /* tar-based phar file stuff */
+ unsigned int is_tar:1;
+ /* zip-based phar file stuff */
+ unsigned int is_zip:1;
+ /* for cached phar entries */
+ unsigned int is_persistent:1;
} phar_entry_info;
/* information about a phar file (the archive itself) */
@@ -325,22 +326,22 @@ struct _phar_archive_data {
char *signature;
zval *metadata;
int metadata_len; /* only used for cached manifests */
+ uint phar_pos;
/* if 1, then this alias was manually specified by the user and is not a permanent alias */
- int is_temporary_alias:1;
- int is_modified:1;
- int is_writeable:1;
- int is_brandnew:1;
+ unsigned int is_temporary_alias:1;
+ unsigned int is_modified:1;
+ unsigned int is_writeable:1;
+ unsigned int is_brandnew:1;
/* defer phar creation */
- int donotflush:1;
+ unsigned int donotflush:1;
/* zip-based phar variables */
- int is_zip:1;
+ unsigned int is_zip:1;
/* tar-based phar variables */
- int is_tar:1;
+ unsigned int is_tar:1;
/* PharData variables */
- int is_data:1;
+ unsigned int is_data:1;
/* for cached phar manifests */
- int is_persistent:1;
- uint phar_pos;
+ unsigned int is_persistent:1;
};
typedef struct _phar_entry_fp_info {
@@ -596,8 +597,7 @@ void phar_add_virtual_dirs(phar_archive_data *phar, char *filename, int filename
int phar_mount_entry(phar_archive_data *phar, char *filename, int filename_len, char *path, int path_len TSRMLS_DC);
char *phar_find_in_include_path(char *file, int file_len, phar_archive_data **pphar TSRMLS_DC);
char *phar_fix_filepath(char *path, int *new_len, int use_cwd TSRMLS_DC);
-phar_entry_info * phar_open_jit(phar_archive_data *phar, phar_entry_info *entry, php_stream *fp,
- char **error, int for_write TSRMLS_DC);
+phar_entry_info * phar_open_jit(phar_archive_data *phar, phar_entry_info *entry, char **error TSRMLS_DC);
int phar_parse_metadata(char **buffer, zval **metadata, int zip_metadata_len TSRMLS_DC);
void destroy_phar_manifest_entry(void *pDest);
int phar_seek_efp(phar_entry_info *entry, off_t offset, int whence, off_t position, int follow_links TSRMLS_DC);
@@ -612,7 +612,7 @@ int phar_copy_on_write(phar_archive_data **pphar TSRMLS_DC);
/* tar functions in tar.c */
int phar_is_tar(char *buf, char *fname);
-int phar_parse_tarfile(php_stream* fp, char *fname, int fname_len, char *alias, int alias_len, int options, phar_archive_data** pphar, php_uint32 compression, char **error TSRMLS_DC);
+int phar_parse_tarfile(php_stream* fp, char *fname, int fname_len, char *alias, int alias_len, phar_archive_data** pphar, php_uint32 compression, char **error TSRMLS_DC);
int phar_open_or_create_tar(char *fname, int fname_len, char *alias, int alias_len, int is_data, int options, phar_archive_data** pphar, char **error TSRMLS_DC);
int phar_tar_flush(phar_archive_data *phar, char *user_stub, long len, int defaultstub, char **error TSRMLS_DC);
diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c
index a2d00cec94..2d9d028426 100755
--- a/ext/phar/phar_object.c
+++ b/ext/phar/phar_object.c
@@ -50,7 +50,7 @@ static int phar_file_type(HashTable *mimes, char *file, char **mime_type TSRMLS_
}
/* }}} */
-static void phar_mung_server_vars(char *fname, char *entry, int entry_len, char *basename, char *request_uri, int request_uri_len TSRMLS_DC) /* {{{ */
+static void phar_mung_server_vars(char *fname, char *entry, int entry_len, char *basename, int request_uri_len TSRMLS_DC) /* {{{ */
{
HashTable *_SERVER;
zval **stuff;
@@ -166,7 +166,7 @@ static void phar_mung_server_vars(char *fname, char *entry, int entry_len, char
}
/* }}} */
-static int phar_file_action(phar_archive_data *phar, phar_entry_info *info, char *mime_type, int code, char *entry, int entry_len, char *arch, int arch_len, char *basename, char *ru, int ru_len TSRMLS_DC) /* {{{ */
+static int phar_file_action(phar_archive_data *phar, phar_entry_info *info, char *mime_type, int code, char *entry, int entry_len, char *arch, char *basename, char *ru, int ru_len TSRMLS_DC) /* {{{ */
{
char *name = NULL, buf[8192], *cwd;
zend_syntax_highlighter_ini syntax_highlighter_ini;
@@ -216,7 +216,7 @@ static int phar_file_action(phar_archive_data *phar, phar_entry_info *info, char
if (!fp) {
char *error;
- if (!phar_open_jit(phar, info, phar_get_pharfp(phar TSRMLS_CC), &error, 0 TSRMLS_CC)) {
+ if (!phar_open_jit(phar, info, &error TSRMLS_CC)) {
if (error) {
zend_throw_exception_ex(phar_ce_PharException, 0 TSRMLS_CC, error);
efree(error);
@@ -242,7 +242,7 @@ static int phar_file_action(phar_archive_data *phar, phar_entry_info *info, char
zend_bailout();
case PHAR_MIME_PHP:
if (basename) {
- phar_mung_server_vars(arch, entry, entry_len, basename, ru, ru_len TSRMLS_CC);
+ phar_mung_server_vars(arch, entry, entry_len, basename, ru_len TSRMLS_CC);
efree(basename);
}
@@ -349,7 +349,7 @@ static void phar_do_404(phar_archive_data *phar, char *fname, int fname_len, cha
info = phar_get_entry_info(phar, f404, f404_len, NULL, 1 TSRMLS_CC);
if (info) {
- phar_file_action(phar, info, "text/html", PHAR_MIME_PHP, f404, f404_len, fname, fname_len, NULL, NULL, 0 TSRMLS_CC);
+ phar_file_action(phar, info, "text/html", PHAR_MIME_PHP, f404, f404_len, fname, NULL, NULL, 0 TSRMLS_CC);
return;
}
}
@@ -603,16 +603,16 @@ PHP_METHOD(Phar, webPhar)
|| (strlen(sapi_module.name) == sizeof("cgi")-1 && !strncmp(sapi_module.name, "cgi", sizeof("cgi")-1))) {
if (PG(http_globals)[TRACK_VARS_SERVER]) {
- HashTable *ht = Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_SERVER]);
+ HashTable *_server = Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_SERVER]);
zval **z_script_name, **z_path_info;
- if (SUCCESS != zend_hash_find(ht, "SCRIPT_NAME", sizeof("SCRIPT_NAME"), (void**)&z_script_name) ||
+ if (SUCCESS != zend_hash_find(_server, "SCRIPT_NAME", sizeof("SCRIPT_NAME"), (void**)&z_script_name) ||
IS_STRING != Z_TYPE_PP(z_script_name) ||
!strstr(Z_STRVAL_PP(z_script_name), basename)) {
return;
}
- if (SUCCESS == zend_hash_find(ht, "PATH_INFO", sizeof("PATH_INFO"), (void**)&z_path_info) &&
+ if (SUCCESS == zend_hash_find(_server, "PATH_INFO", sizeof("PATH_INFO"), (void**)&z_path_info) &&
IS_STRING == Z_TYPE_PP(z_path_info)) {
entry_len = Z_STRLEN_PP(z_path_info);
entry = estrndup(Z_STRVAL_PP(z_path_info), entry_len);
@@ -875,7 +875,7 @@ PHP_METHOD(Phar, webPhar)
if (!mime_type) {
code = phar_file_type(&PHAR_G(mime_types), entry, &mime_type TSRMLS_CC);
}
- ret = phar_file_action(phar, info, mime_type, code, entry, entry_len, fname, fname_len, pt, ru, ru_len TSRMLS_CC);
+ ret = phar_file_action(phar, info, mime_type, code, entry, entry_len, fname, pt, ru, ru_len TSRMLS_CC);
}
/* }}} */
@@ -1271,7 +1271,7 @@ PHP_METHOD(Phar, getSupportedSignatures)
add_next_index_stringl(return_value, "MD5", 3, 1);
add_next_index_stringl(return_value, "SHA-1", 5, 1);
-#if HAVE_HASH_EXT
+#ifdef HAVE_HASH_EXT
add_next_index_stringl(return_value, "SHA-256", 7, 1);
add_next_index_stringl(return_value, "SHA-512", 7, 1);
#endif
@@ -2939,7 +2939,7 @@ PHP_METHOD(Phar, setSignatureAlgorithm)
switch (algo) {
case PHAR_SIG_SHA256:
case PHAR_SIG_SHA512:
-#if !HAVE_HASH_EXT
+#ifndef HAVE_HASH_EXT
zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC,
"SHA-256 and SHA-512 signatures are only supported if the hash extension is enabled");
return;
@@ -3762,7 +3762,7 @@ PHP_METHOD(Phar, getStub)
char *filter_name;
if ((filter_name = phar_decompress_filter(stub, 0)) != NULL) {
- filter = php_stream_filter_create(phar_decompress_filter(stub, 0), NULL, php_stream_is_persistent(fp) TSRMLS_CC);
+ filter = php_stream_filter_create(filter_name, NULL, php_stream_is_persistent(fp) TSRMLS_CC);
} else {
filter = NULL;
}
@@ -4195,8 +4195,9 @@ PHP_METHOD(Phar, extractTo)
return;
}
} else {
- phar_archive_data *phar = phar_obj->arc.archive;
+ phar_archive_data *phar;
all_files:
+ phar = phar_obj->arc.archive;
/* Extract all files */
if (!zend_hash_num_elements(&(phar->manifest))) {
RETURN_TRUE;
@@ -4205,7 +4206,6 @@ all_files:
for (zend_hash_internal_pointer_reset(&phar->manifest);
zend_hash_has_more_elements(&phar->manifest) == SUCCESS;
zend_hash_move_forward(&phar->manifest)) {
- phar_entry_info *entry;
if (zend_hash_get_current_data(&phar->manifest, (void **)&entry) == FAILURE) {
continue;
diff --git a/ext/phar/stream.c b/ext/phar/stream.c
index 5ec6e2a86d..3a50962398 100644
--- a/ext/phar/stream.c
+++ b/ext/phar/stream.c
@@ -465,8 +465,7 @@ static int phar_stream_flush(php_stream *stream TSRMLS_DC) /* {{{ */
/**
* stat an opened phar file handle stream, used by phar_stat()
*/
-void phar_dostat(phar_archive_data *phar, phar_entry_info *data, php_stream_statbuf *ssb,
- zend_bool is_temp_dir, char *alias, int alias_len TSRMLS_DC)
+void phar_dostat(phar_archive_data *phar, phar_entry_info *data, php_stream_statbuf *ssb, zend_bool is_temp_dir TSRMLS_DC)
{
memset(ssb, 0, sizeof(php_stream_statbuf));
@@ -543,7 +542,7 @@ static int phar_stream_stat(php_stream *stream, php_stream_statbuf *ssb TSRMLS_D
return -1;
}
- phar_dostat(data->phar, data->internal_file, ssb, 0, data->phar->alias, data->phar->alias_len TSRMLS_CC);
+ phar_dostat(data->phar, data->internal_file, ssb, 0 TSRMLS_CC);
return 0;
}
/* }}} */
@@ -581,7 +580,7 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, char *url, int flags,
internal_file = resource->path + 1; /* strip leading "/" */
/* find the phar in our trusty global hash indexed by alias (host of phar://blah.phar/file.whatever) */
- if (FAILURE == phar_get_archive(&phar, resource->host, strlen(resource->host), NULL, 0, &error TSRMLS_CC)) {
+ if (FAILURE == phar_get_archive(&phar, resource->host, host_len, NULL, 0, &error TSRMLS_CC)) {
php_url_free(resource);
if (error) {
efree(error);
@@ -593,7 +592,7 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, char *url, int flags,
}
if (*internal_file == '\0') {
/* root directory requested */
- phar_dostat(phar, NULL, ssb, 1, phar->alias, phar->alias_len TSRMLS_CC);
+ phar_dostat(phar, NULL, ssb, 1 TSRMLS_CC);
php_url_free(resource);
return SUCCESS;
}
@@ -604,12 +603,12 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, char *url, int flags,
internal_file_len = strlen(internal_file);
/* search through the manifest of files, and if we have an exact match, it's a file */
if (SUCCESS == zend_hash_find(&phar->manifest, internal_file, internal_file_len, (void**)&entry)) {
- phar_dostat(phar, entry, ssb, 0, phar->alias, phar->alias_len TSRMLS_CC);
+ phar_dostat(phar, entry, ssb, 0 TSRMLS_CC);
php_url_free(resource);
return SUCCESS;
}
if (zend_hash_exists(&(phar->virtual_dirs), internal_file, internal_file_len)) {
- phar_dostat(phar, NULL, ssb, 1, phar->alias, phar->alias_len TSRMLS_CC);
+ phar_dostat(phar, NULL, ssb, 1 TSRMLS_CC);
php_url_free(resource);
return SUCCESS;
}
@@ -633,7 +632,6 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, char *url, int flags,
} else {
char *test;
int test_len;
- phar_entry_info *entry;
php_stream_statbuf ssbi;
if (SUCCESS != zend_hash_find(&phar->manifest, str_key, keylen, (void **) &entry)) {
@@ -657,7 +655,7 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, char *url, int flags,
if (SUCCESS != zend_hash_find(&phar->manifest, internal_file, internal_file_len, (void**)&entry)) {
goto free_resource;
}
- phar_dostat(phar, entry, ssb, 0, phar->alias, phar->alias_len TSRMLS_CC);
+ phar_dostat(phar, entry, ssb, 0 TSRMLS_CC);
php_url_free(resource);
return SUCCESS;
}
diff --git a/ext/phar/tar.c b/ext/phar/tar.c
index 8a0ac07a80..01dca9364c 100644
--- a/ext/phar/tar.c
+++ b/ext/phar/tar.c
@@ -155,7 +155,7 @@ int phar_open_or_create_tar(char *fname, int fname_len, char *alias, int alias_l
}
/* }}} */
-int phar_tar_process_metadata(phar_entry_info *entry, php_stream *fp TSRMLS_DC) /* {{{ */
+static int phar_tar_process_metadata(phar_entry_info *entry, php_stream *fp TSRMLS_DC) /* {{{ */
{
char *metadata;
size_t save = php_stream_tell(fp), read;
@@ -192,7 +192,7 @@ int phar_tar_process_metadata(phar_entry_info *entry, php_stream *fp TSRMLS_DC)
}
/* }}} */
-int phar_parse_tarfile(php_stream* fp, char *fname, int fname_len, char *alias, int alias_len, int options, phar_archive_data** pphar, php_uint32 compression, char **error TSRMLS_DC) /* {{{ */
+int phar_parse_tarfile(php_stream* fp, char *fname, int fname_len, char *alias, int alias_len, phar_archive_data** pphar, php_uint32 compression, char **error TSRMLS_DC) /* {{{ */
{
char buf[512], *actual_alias = NULL, *p;
phar_entry_info entry = {0};
@@ -599,7 +599,7 @@ struct _phar_pass_tar_info {
char **error;
};
-int phar_tar_writeheaders(void *pDest, void *argument TSRMLS_DC) /* {{{ */
+static int phar_tar_writeheaders(void *pDest, void *argument TSRMLS_DC) /* {{{ */
{
tar_header header;
size_t pos;
@@ -736,7 +736,7 @@ int phar_tar_writeheaders(void *pDest, void *argument TSRMLS_DC) /* {{{ */
}
/* }}} */
-int phar_tar_setmetadata(zval *metadata, phar_entry_info *entry, char **error, php_stream *fp TSRMLS_DC) /* {{{ */
+int phar_tar_setmetadata(zval *metadata, phar_entry_info *entry, char **error TSRMLS_DC) /* {{{ */
{
php_serialize_data_t metadata_hash;
@@ -770,17 +770,16 @@ int phar_tar_setmetadata(zval *metadata, phar_entry_info *entry, char **error, p
}
/* }}} */
-int phar_tar_setupmetadata(void *pDest, void *argument TSRMLS_DC) /* {{{ */
+static int phar_tar_setupmetadata(void *pDest, void *argument TSRMLS_DC) /* {{{ */
{
int lookfor_len;
struct _phar_pass_tar_info *i = (struct _phar_pass_tar_info *)argument;
char *lookfor, **error = i->error;
- php_stream *fp = i->old;
phar_entry_info *entry = (phar_entry_info *)pDest, *metadata, newentry = {0};
if (entry->filename_len >= sizeof(".phar/.metadata") && !memcmp(entry->filename, ".phar/.metadata", sizeof(".phar/.metadata")-1)) {
if (entry->filename_len == sizeof(".phar/.metadata.bin")-1 && !memcmp(entry->filename, ".phar/.metadata.bin", sizeof(".phar/.metadata.bin")-1)) {
- return phar_tar_setmetadata(entry->phar->metadata, entry, error, fp TSRMLS_CC);
+ return phar_tar_setmetadata(entry->phar->metadata, entry, error TSRMLS_CC);
}
/* search for the file this metadata entry references */
if (entry->filename_len >= sizeof(".phar/.metadata/") + sizeof("/.metadata.bin") - 1 && !zend_hash_exists(&(entry->phar->manifest), entry->filename + sizeof(".phar/.metadata/") - 1, entry->filename_len - (sizeof("/.metadata.bin") - 1 + sizeof(".phar/.metadata/") - 1))) {
@@ -806,7 +805,7 @@ int phar_tar_setupmetadata(void *pDest, void *argument TSRMLS_DC) /* {{{ */
if (SUCCESS == zend_hash_find(&(entry->phar->manifest), lookfor, lookfor_len, (void **)&metadata)) {
int ret;
- ret = phar_tar_setmetadata(entry->metadata, metadata, error, fp TSRMLS_CC);
+ ret = phar_tar_setmetadata(entry->metadata, metadata, error TSRMLS_CC);
efree(lookfor);
return ret;
}
@@ -823,7 +822,7 @@ int phar_tar_setupmetadata(void *pDest, void *argument TSRMLS_DC) /* {{{ */
return ZEND_HASH_APPLY_STOP;
}
- return phar_tar_setmetadata(entry->metadata, metadata, error, fp TSRMLS_CC);
+ return phar_tar_setmetadata(entry->metadata, metadata, error TSRMLS_CC);
}
/* }}} */
@@ -1014,7 +1013,7 @@ nostub:
if (phar->metadata) {
phar_entry_info *mentry;
if (SUCCESS == zend_hash_find(&(phar->manifest), ".phar/.metadata.bin", sizeof(".phar/.metadata.bin")-1, (void **)&mentry)) {
- if (ZEND_HASH_APPLY_KEEP != phar_tar_setmetadata(phar->metadata, mentry, error, oldfile TSRMLS_CC)) {
+ if (ZEND_HASH_APPLY_KEEP != phar_tar_setmetadata(phar->metadata, mentry, error TSRMLS_CC)) {
if (closeoldfile) {
php_stream_close(oldfile);
}
@@ -1037,7 +1036,7 @@ nostub:
return EOF;
}
- if (ZEND_HASH_APPLY_KEEP != phar_tar_setmetadata(phar->metadata, mentry, error, oldfile TSRMLS_CC)) {
+ if (ZEND_HASH_APPLY_KEEP != phar_tar_setmetadata(phar->metadata, mentry, error TSRMLS_CC)) {
zend_hash_del(&(phar->manifest), ".phar/.metadata.bin", sizeof(".phar/.metadata.bin")-1);
if (closeoldfile) {
php_stream_close(oldfile);
diff --git a/ext/phar/tests/bug46060.phpt b/ext/phar/tests/bug46060.phpt
index 7edae4d43c..1ca346ea19 100644
--- a/ext/phar/tests/bug46060.phpt
+++ b/ext/phar/tests/bug46060.phpt
@@ -3,6 +3,8 @@ Phar: Bug #46060: addEmptyDir() breaks
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
<?php if (getenv('SKIP_SLOW_TESTS')) die('skip'); ?>
+--INI--
+phar.require_hash=0
--FILE--
<?php
$fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.tar';
diff --git a/ext/phar/util.c b/ext/phar/util.c
index 814a3cbd17..0701cb8803 100644
--- a/ext/phar/util.c
+++ b/ext/phar/util.c
@@ -1150,7 +1150,7 @@ int phar_separate_entry_fp(phar_entry_info *entry, char **error TSRMLS_DC) /* {{
/**
* helper function to open an internal file's fp just-in-time
*/
-phar_entry_info * phar_open_jit(phar_archive_data *phar, phar_entry_info *entry, php_stream *fp, char **error, int for_write TSRMLS_DC) /* {{{ */
+phar_entry_info * phar_open_jit(phar_archive_data *phar, phar_entry_info *entry, char **error TSRMLS_DC) /* {{{ */
{
if (error) {
*error = NULL;
@@ -1450,7 +1450,7 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, in
{
const char *pcr_error;
phar_entry_info *entry;
- char is_dir;
+ int is_dir;
#ifdef PHP_WIN32
phar_unixify_path_separators(path, path_len);
@@ -1875,7 +1875,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
*signature_len = phar_hex_str((const char*)sig, sig_len, signature TSRMLS_CC);
}
break;
-#if HAVE_HASH_EXT
+#ifdef HAVE_HASH_EXT
case PHAR_SIG_SHA512: {
unsigned char digest[64];
PHP_SHA512_CTX context;
@@ -2039,7 +2039,7 @@ int phar_create_signature(phar_archive_data *phar, php_stream *fp, char **signat
}
switch(phar->sig_flags) {
-#if HAVE_HASH_EXT
+#ifdef HAVE_HASH_EXT
case PHAR_SIG_SHA512: {
unsigned char digest[64];
PHP_SHA512_CTX context;