version 1.1.1.3, 2013/07/22 01:32:15
|
version 1.1.1.4, 2013/10/14 08:02:46
|
Line 2514 ZEND_API int zend_register_class_alias_ex(const char *
|
Line 2514 ZEND_API int zend_register_class_alias_ex(const char *
|
char *lcname = zend_str_tolower_dup(name, name_len); |
char *lcname = zend_str_tolower_dup(name, name_len); |
int ret; |
int ret; |
|
|
ret = zend_hash_add(CG(class_table), lcname, name_len+1, &ce, sizeof(zend_class_entry *), NULL); | if (lcname[0] == '\\') { |
| ret = zend_hash_add(CG(class_table), lcname+1, name_len, &ce, sizeof(zend_class_entry *), NULL); |
| } else { |
| ret = zend_hash_add(CG(class_table), lcname, name_len+1, &ce, sizeof(zend_class_entry *), NULL); |
| } |
| |
efree(lcname); |
efree(lcname); |
if (ret == SUCCESS) { |
if (ret == SUCCESS) { |
ce->refcount++; |
ce->refcount++; |
Line 2779 static int zend_is_callable_check_func(int check_flags
|
Line 2784 static int zend_is_callable_check_func(int check_flags
|
} |
} |
if ((check_flags & IS_CALLABLE_CHECK_NO_ACCESS) == 0 && |
if ((check_flags & IS_CALLABLE_CHECK_NO_ACCESS) == 0 && |
(fcc->calling_scope && |
(fcc->calling_scope && |
(fcc->calling_scope->__call || | ((fcc->object_ptr && fcc->calling_scope->__call) || |
fcc->calling_scope->__callstatic))) { | (!fcc->object_ptr && fcc->calling_scope->__callstatic)))) { |
if (fcc->function_handler->op_array.fn_flags & ZEND_ACC_PRIVATE) { |
if (fcc->function_handler->op_array.fn_flags & ZEND_ACC_PRIVATE) { |
if (!zend_check_private(fcc->function_handler, fcc->object_ptr ? Z_OBJCE_P(fcc->object_ptr) : EG(scope), lmname, mlen TSRMLS_CC)) { |
if (!zend_check_private(fcc->function_handler, fcc->object_ptr ? Z_OBJCE_P(fcc->object_ptr) : EG(scope), lmname, mlen TSRMLS_CC)) { |
retval = 0; |
retval = 0; |
Line 3917 ZEND_API const char* zend_find_alias_name(zend_class_e
|
Line 3922 ZEND_API const char* zend_find_alias_name(zend_class_e
|
{ |
{ |
zend_trait_alias *alias, **alias_ptr; |
zend_trait_alias *alias, **alias_ptr; |
|
|
alias_ptr = ce->trait_aliases; | if ((alias_ptr = ce->trait_aliases)) { |
alias = *alias_ptr; | |
while (alias) { | |
if (alias->alias_len == len && | |
!strncasecmp(name, alias->alias, alias->alias_len)) { | |
return alias->alias; | |
} | |
alias_ptr++; | |
alias = *alias_ptr; |
alias = *alias_ptr; |
|
while (alias) { |
|
if (alias->alias_len == len && |
|
!strncasecmp(name, alias->alias, alias->alias_len)) { |
|
return alias->alias; |
|
} |
|
alias_ptr++; |
|
alias = *alias_ptr; |
|
} |
} |
} |
|
|
return name; |
return name; |