summaryrefslogtreecommitdiff
path: root/Zend/zend_builtin_functions.c
diff options
context:
space:
mode:
authorGuilherme Blanco <guilhermeblanco@hotmail.com>2015-02-12 23:19:14 +0100
committerNikita Popov <nikic@php.net>2015-02-12 23:20:19 +0100
commit8c81d80e10e0f189307fc8ff4a8fb34bd0cb1fcb (patch)
tree962ecf3dbea41b0d4d539a60498b6942304bd844 /Zend/zend_builtin_functions.c
parenta0d472e1dad4a1cb719ba56a1ca4da19fadfdfb3 (diff)
downloadphp-git-8c81d80e10e0f189307fc8ff4a8fb34bd0cb1fcb.tar.gz
Made ZEND_ACC_TRAIT a saner value
CC_TRAIT valued as 0x120 is too magical to be comprehensible by others.
Diffstat (limited to 'Zend/zend_builtin_functions.c')
-rw-r--r--Zend/zend_builtin_functions.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index fe7c8f7556..dca0890b14 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -1378,14 +1378,16 @@ ZEND_FUNCTION(class_exists)
} else {
lc_name = zend_string_tolower(class_name);
}
+
ce = zend_hash_find_ptr(EG(class_table), lc_name);
zend_string_release(lc_name);
RETURN_BOOL(ce && !((ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT)) > ZEND_ACC_EXPLICIT_ABSTRACT_CLASS));
}
ce = zend_lookup_class(class_name);
+
if (ce) {
- RETURN_BOOL((ce->ce_flags & (ZEND_ACC_INTERFACE | (ZEND_ACC_TRAIT - ZEND_ACC_EXPLICIT_ABSTRACT_CLASS))) == 0);
+ RETURN_BOOL((ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT)) == 0);
} else {
RETURN_FALSE;
}
@@ -1462,6 +1464,7 @@ ZEND_FUNCTION(trait_exists)
} else {
lc_name = zend_string_tolower(trait_name);
}
+
ce = zend_hash_find_ptr(EG(class_table), lc_name);
zend_string_release(lc_name);
RETURN_BOOL(ce && ((ce->ce_flags & ZEND_ACC_TRAIT) > ZEND_ACC_EXPLICIT_ABSTRACT_CLASS));
@@ -1806,7 +1809,7 @@ ZEND_FUNCTION(get_declared_traits)
Returns an array of all declared classes. */
ZEND_FUNCTION(get_declared_classes)
{
- uint32_t mask = ZEND_ACC_INTERFACE | (ZEND_ACC_TRAIT & ~ZEND_ACC_EXPLICIT_ABSTRACT_CLASS);
+ uint32_t mask = ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT;
uint32_t comply = 0;
if (zend_parse_parameters_none() == FAILURE) {