summaryrefslogtreecommitdiff
path: root/ext/phar
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-12-30 00:14:13 +0300
committerDmitry Stogov <dmitry@zend.com>2014-12-30 00:14:13 +0300
commit6b20895c213bfe4d757d5a11b8a0767299e8756d (patch)
tree1a5728b04d566b0b260aed750bf2bd6321b2542e /ext/phar
parentee7decb7ff7b8e81b595c01cfb6b5719bb8c520e (diff)
downloadphp-git-6b20895c213bfe4d757d5a11b8a0767299e8756d.tar.gz
Use HashTable.u.flags instead of HashTable.arHash to check if HashTable is properly initialized
Diffstat (limited to 'ext/phar')
-rw-r--r--ext/phar/dirstream.c6
-rw-r--r--ext/phar/func_interceptors.c24
-rw-r--r--ext/phar/phar.c28
-rw-r--r--ext/phar/phar_object.c2
-rw-r--r--ext/phar/stream.c6
-rw-r--r--ext/phar/util.c6
-rw-r--r--ext/phar/zip.c12
7 files changed, 42 insertions, 42 deletions
diff --git a/ext/phar/dirstream.c b/ext/phar/dirstream.c
index 8657abda92..fbb4e94c38 100644
--- a/ext/phar/dirstream.c
+++ b/ext/phar/dirstream.c
@@ -44,9 +44,9 @@ static int phar_dir_close(php_stream *stream, int close_handle) /* {{{ */
{
HashTable *data = (HashTable *)stream->abstract;
- if (data && data->arHash) {
+ if (data && data->u.flags) {
zend_hash_destroy(data);
- data->arHash = 0;
+ data->u.flags = 0;
FREE_HASHTABLE(data);
stream->abstract = NULL;
}
@@ -361,7 +361,7 @@ php_stream *phar_wrapper_open_dir(php_stream_wrapper *wrapper, const char *path,
return ret;
}
- if (!phar->manifest.arHash) {
+ if (!phar->manifest.u.flags) {
php_url_free(resource);
return NULL;
}
diff --git a/ext/phar/func_interceptors.c b/ext/phar/func_interceptors.c
index afdf58b665..243e78cb91 100644
--- a/ext/phar/func_interceptors.c
+++ b/ext/phar/func_interceptors.c
@@ -33,8 +33,8 @@ PHAR_FUNC(phar_opendir) /* {{{ */
goto skip_phar;
}
- if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
- && !cached_phars.arHash) {
+ if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
+ && !cached_phars.u.flags) {
goto skip_phar;
}
@@ -106,8 +106,8 @@ PHAR_FUNC(phar_file_get_contents) /* {{{ */
goto skip_phar;
}
- if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
- && !cached_phars.arHash) {
+ if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
+ && !cached_phars.u.flags) {
goto skip_phar;
}
@@ -234,8 +234,8 @@ PHAR_FUNC(phar_readfile) /* {{{ */
goto skip_phar;
}
- if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
- && !cached_phars.arHash) {
+ if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
+ && !cached_phars.u.flags) {
goto skip_phar;
}
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS(), "p|br!", &filename, &filename_len, &use_include_path, &zcontext) == FAILURE) {
@@ -329,8 +329,8 @@ PHAR_FUNC(phar_fopen) /* {{{ */
goto skip_phar;
}
- if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
- && !cached_phars.arHash) {
+ if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
+ && !cached_phars.u.flags) {
/* no need to check, include_path not even specified in fopen/ no active phars */
goto skip_phar;
}
@@ -895,8 +895,8 @@ PHAR_FUNC(phar_is_file) /* {{{ */
goto skip_phar;
}
- if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
- && !cached_phars.arHash) {
+ if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
+ && !cached_phars.u.flags) {
goto skip_phar;
}
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS(), "p", &filename, &filename_len) == FAILURE) {
@@ -962,8 +962,8 @@ PHAR_FUNC(phar_is_link) /* {{{ */
goto skip_phar;
}
- if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
- && !cached_phars.arHash) {
+ if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
+ && !cached_phars.u.flags) {
goto skip_phar;
}
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS(), "p", &filename, &filename_len) == FAILURE) {
diff --git a/ext/phar/phar.c b/ext/phar/phar.c
index d4a5f3a3fe..e889a54fe3 100644
--- a/ext/phar/phar.c
+++ b/ext/phar/phar.c
@@ -82,7 +82,7 @@ ZEND_INI_MH(phar_ini_modify_handler) /* {{{ */
if (entry->name->len == sizeof("phar.readonly")-1) {
PHAR_G(readonly) = ini;
- if (PHAR_GLOBALS->request_init && PHAR_GLOBALS->phar_fname_map.arHash) {
+ if (PHAR_GLOBALS->request_init && PHAR_GLOBALS->phar_fname_map.u.flags) {
zend_hash_apply_with_argument(&(PHAR_GLOBALS->phar_fname_map), phar_set_writeable_bit, (void *)&ini);
}
} else {
@@ -146,9 +146,9 @@ finish_error:
PHAR_GLOBALS->manifest_cached = 0;
efree(tmp);
zend_hash_destroy(&(PHAR_G(phar_fname_map)));
- PHAR_GLOBALS->phar_fname_map.arHash = 0;
+ PHAR_GLOBALS->phar_fname_map.u.flags = 0;
zend_hash_destroy(&(PHAR_G(phar_alias_map)));
- PHAR_GLOBALS->phar_alias_map.arHash = 0;
+ PHAR_GLOBALS->phar_alias_map.u.flags = 0;
zend_hash_destroy(&cached_phars);
zend_hash_destroy(&cached_alias);
zend_hash_graceful_reverse_destroy(&EG(regular_list));
@@ -173,8 +173,8 @@ finish_error:
zend_hash_destroy(&cached_alias);
cached_phars = PHAR_GLOBALS->phar_fname_map;
cached_alias = PHAR_GLOBALS->phar_alias_map;
- PHAR_GLOBALS->phar_fname_map.arHash = 0;
- PHAR_GLOBALS->phar_alias_map.arHash = 0;
+ PHAR_GLOBALS->phar_fname_map.u.flags = 0;
+ PHAR_GLOBALS->phar_alias_map.u.flags = 0;
zend_hash_graceful_reverse_destroy(&EG(regular_list));
memset(&EG(regular_list), 0, sizeof(HashTable));
efree(tmp);
@@ -220,19 +220,19 @@ void phar_destroy_phar_data(phar_archive_data *phar) /* {{{ */
phar->signature = NULL;
}
- if (phar->manifest.arHash) {
+ if (phar->manifest.u.flags) {
zend_hash_destroy(&phar->manifest);
- phar->manifest.arHash = NULL;
+ phar->manifest.u.flags = 0;
}
- if (phar->mounted_dirs.arHash) {
+ if (phar->mounted_dirs.u.flags) {
zend_hash_destroy(&phar->mounted_dirs);
- phar->mounted_dirs.arHash = NULL;
+ phar->mounted_dirs.u.flags = 0;
}
- if (phar->virtual_dirs.arHash) {
+ if (phar->virtual_dirs.u.flags) {
zend_hash_destroy(&phar->virtual_dirs);
- phar->virtual_dirs.arHash = NULL;
+ phar->virtual_dirs.u.flags = 0;
}
if (Z_TYPE(phar->metadata) != IS_UNDEF) {
@@ -3487,11 +3487,11 @@ PHP_RSHUTDOWN_FUNCTION(phar) /* {{{ */
{
phar_release_functions();
zend_hash_destroy(&(PHAR_GLOBALS->phar_alias_map));
- PHAR_GLOBALS->phar_alias_map.arHash = NULL;
+ PHAR_GLOBALS->phar_alias_map.u.flags = 0;
zend_hash_destroy(&(PHAR_GLOBALS->phar_fname_map));
- PHAR_GLOBALS->phar_fname_map.arHash = NULL;
+ PHAR_GLOBALS->phar_fname_map.u.flags = 0;
zend_hash_destroy(&(PHAR_GLOBALS->phar_persist_map));
- PHAR_GLOBALS->phar_persist_map.arHash = NULL;
+ PHAR_GLOBALS->phar_persist_map.u.flags = 0;
PHAR_GLOBALS->phar_SERVER_mung_list = 0;
if (PHAR_GLOBALS->cached_fp) {
diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c
index 737ec97852..40283ef165 100644
--- a/ext/phar/phar_object.c
+++ b/ext/phar/phar_object.c
@@ -517,7 +517,7 @@ carry_on:
}
return;
- } else if (PHAR_GLOBALS->phar_fname_map.arHash && NULL != (pphar = zend_hash_str_find_ptr(&(PHAR_GLOBALS->phar_fname_map), fname, fname_len))) {
+ } else if (PHAR_GLOBALS->phar_fname_map.u.flags && NULL != (pphar = zend_hash_str_find_ptr(&(PHAR_GLOBALS->phar_fname_map), fname, fname_len))) {
goto carry_on;
} else if (PHAR_G(manifest_cached) && NULL != (pphar = zend_hash_str_find_ptr(&cached_phars, fname, fname_len))) {
if (SUCCESS == phar_copy_on_write(&pphar)) {
diff --git a/ext/phar/stream.c b/ext/phar/stream.c
index 5fb72522ad..40dbb04642 100644
--- a/ext/phar/stream.c
+++ b/ext/phar/stream.c
@@ -103,7 +103,7 @@ php_url* phar_parse_url(php_stream_wrapper *wrapper, const char *filename, const
if (mode[0] == 'w' || (mode[0] == 'r' && mode[1] == '+')) {
phar_archive_data *pphar = NULL, *phar;
- if (PHAR_GLOBALS->request_init && PHAR_GLOBALS->phar_fname_map.arHash && NULL == (pphar = zend_hash_str_find_ptr(&(PHAR_GLOBALS->phar_fname_map), arch, arch_len))) {
+ if (PHAR_GLOBALS->request_init && PHAR_GLOBALS->phar_fname_map.u.flags && NULL == (pphar = zend_hash_str_find_ptr(&(PHAR_GLOBALS->phar_fname_map), arch, arch_len))) {
pphar = NULL;
}
if (PHAR_G(readonly) && (!pphar || !pphar->is_data)) {
@@ -608,7 +608,7 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, const char *url, int f
php_url_free(resource);
return SUCCESS;
}
- if (!phar->manifest.arHash) {
+ if (!phar->manifest.u.flags) {
php_url_free(resource);
return FAILURE;
}
@@ -625,7 +625,7 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, const char *url, int f
return SUCCESS;
}
/* check for mounted directories */
- if (phar->mounted_dirs.arHash && zend_hash_num_elements(&phar->mounted_dirs)) {
+ if (phar->mounted_dirs.u.flags && zend_hash_num_elements(&phar->mounted_dirs)) {
zend_string *str_key;
ZEND_HASH_FOREACH_STR_KEY(&phar->mounted_dirs, str_key) {
diff --git a/ext/phar/util.c b/ext/phar/util.c
index 56d168b072..341c0f769f 100644
--- a/ext/phar/util.c
+++ b/ext/phar/util.c
@@ -925,7 +925,7 @@ phar_entry_info * phar_open_jit(phar_archive_data *phar, phar_entry_info *entry,
PHP_PHAR_API int phar_resolve_alias(char *alias, int alias_len, char **filename, int *filename_len) /* {{{ */ {
phar_archive_data *fd_ptr;
- if (PHAR_GLOBALS->phar_alias_map.arHash
+ if (PHAR_GLOBALS->phar_alias_map.u.flags
&& NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_GLOBALS->phar_alias_map), alias, alias_len))) {
*filename = fd_ptr->fname;
*filename_len = fd_ptr->fname_len;
@@ -1249,7 +1249,7 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, in
return NULL;
}
- if (!phar->manifest.arHash) {
+ if (!phar->manifest.u.flags) {
return NULL;
}
@@ -1294,7 +1294,7 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, in
}
}
- if (phar->mounted_dirs.arHash && zend_hash_num_elements(&phar->mounted_dirs)) {
+ if (phar->mounted_dirs.u.flags && zend_hash_num_elements(&phar->mounted_dirs)) {
zend_string *str_key;
ZEND_HASH_FOREACH_STR_KEY(&phar->mounted_dirs, str_key) {
diff --git a/ext/phar/zip.c b/ext/phar/zip.c
index d5316452ab..8b5d69a219 100644
--- a/ext/phar/zip.c
+++ b/ext/phar/zip.c
@@ -293,11 +293,11 @@ foundit:
entry.is_persistent = mydata->is_persistent;
#define PHAR_ZIP_FAIL_FREE(errmsg, save) \
zend_hash_destroy(&mydata->manifest); \
- mydata->manifest.arHash = 0; \
+ mydata->manifest.u.flags = 0; \
zend_hash_destroy(&mydata->mounted_dirs); \
- mydata->mounted_dirs.arHash = 0; \
+ mydata->mounted_dirs.u.flags = 0; \
zend_hash_destroy(&mydata->virtual_dirs); \
- mydata->virtual_dirs.arHash = 0; \
+ mydata->virtual_dirs.u.flags = 0; \
php_stream_close(fp); \
zval_dtor(&mydata->metadata); \
if (mydata->signature) { \
@@ -315,11 +315,11 @@ foundit:
return FAILURE;
#define PHAR_ZIP_FAIL(errmsg) \
zend_hash_destroy(&mydata->manifest); \
- mydata->manifest.arHash = 0; \
+ mydata->manifest.u.flags = 0; \
zend_hash_destroy(&mydata->mounted_dirs); \
- mydata->mounted_dirs.arHash = 0; \
+ mydata->mounted_dirs.u.flags = 0; \
zend_hash_destroy(&mydata->virtual_dirs); \
- mydata->virtual_dirs.arHash = 0; \
+ mydata->virtual_dirs.u.flags = 0; \
php_stream_close(fp); \
zval_dtor(&mydata->metadata); \
if (mydata->signature) { \