@@ -1697,7 +1697,7 @@ static void zend_traits_copy_functions(zend_string *fnname, zend_function *fn, z
1697
1697
1698
1698
/* if it is 0, no modifieres has been changed */
1699
1699
if (alias -> modifiers ) {
1700
- fn_copy .common .fn_flags = alias -> modifiers | (fn -> common .fn_flags ^ ( fn -> common . fn_flags & ZEND_ACC_PPP_MASK ) );
1700
+ fn_copy .common .fn_flags = alias -> modifiers | (fn -> common .fn_flags & ~ ZEND_ACC_PPP_MASK );
1701
1701
}
1702
1702
1703
1703
lcname = zend_string_tolower (alias -> alias );
@@ -1712,8 +1712,7 @@ static void zend_traits_copy_functions(zend_string *fnname, zend_function *fn, z
1712
1712
1713
1713
if (exclude_table == NULL || zend_hash_find (exclude_table , fnname ) == NULL ) {
1714
1714
/* is not in hashtable, thus, function is not to be excluded */
1715
- /* And how about ZEND_OVERLOADED_FUNCTION? */
1716
- memcpy (& fn_copy , fn , fn -> type == ZEND_USER_FUNCTION ? sizeof (zend_op_array ) : sizeof (zend_internal_function ));
1715
+ memcpy (& fn_copy , fn , fn -> type == ZEND_USER_FUNCTION ? sizeof (zend_op_array ) : sizeof (zend_internal_function ));
1717
1716
1718
1717
/* apply aliases which have not alias name, just setting visibility */
1719
1718
if (ce -> trait_aliases ) {
@@ -1726,7 +1725,7 @@ static void zend_traits_copy_functions(zend_string *fnname, zend_function *fn, z
1726
1725
&& fn -> common .scope == aliases [i ]
1727
1726
&& zend_string_equals_ci (alias -> trait_method .method_name , fnname )
1728
1727
) {
1729
- fn_copy .common .fn_flags = alias -> modifiers | (fn -> common .fn_flags ^ ( fn -> common . fn_flags & ZEND_ACC_PPP_MASK ) );
1728
+ fn_copy .common .fn_flags = alias -> modifiers | (fn -> common .fn_flags & ~ ZEND_ACC_PPP_MASK );
1730
1729
}
1731
1730
alias_ptr ++ ;
1732
1731
alias = * alias_ptr ;
0 commit comments