]> granicus.if.org Git - php/commitdiff
Cleanup checks in zend_builtin_functions.c
authorNikita Popov <nikic@php.net>
Thu, 12 Feb 2015 22:31:01 +0000 (23:31 +0100)
committerNikita Popov <nikic@php.net>
Thu, 12 Feb 2015 22:31:01 +0000 (23:31 +0100)
The EXPLICIT_ABSTRACT_CLASS comparisons are no longer necessary.

Zend/zend_builtin_functions.c

index dca0890b1473f5443d2db8126d4fce8a4bed8c48..582296a8df02d01a6f469d1ba42d5c936445f4f9 100644 (file)
@@ -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;
        }