From 2fb85f1058fd7cc7778afa5d3fef24948cbe2ac7 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Thu, 12 Feb 2015 23:31:01 +0100 Subject: [PATCH] Cleanup checks in zend_builtin_functions.c The EXPLICIT_ABSTRACT_CLASS comparisons are no longer necessary. --- Zend/zend_builtin_functions.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index dca0890b14..582296a8df 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -1381,11 +1381,10 @@ ZEND_FUNCTION(class_exists) 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)); + } else { + ce = zend_lookup_class(class_name); } - ce = zend_lookup_class(class_name); - if (ce) { RETURN_BOOL((ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT)) == 0); } else { @@ -1467,12 +1466,12 @@ ZEND_FUNCTION(trait_exists) 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)); + } else { + ce = zend_lookup_class(trait_name); } - ce = zend_lookup_class(trait_name); if (ce) { - RETURN_BOOL((ce->ce_flags & ZEND_ACC_TRAIT) > ZEND_ACC_EXPLICIT_ABSTRACT_CLASS); + RETURN_BOOL((ce->ce_flags & ZEND_ACC_TRAIT) != 0); } else { RETURN_FALSE; } -- 2.50.1