diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-04-14 13:24:43 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-04-14 13:24:43 +0400 |
commit | 5dc52e488048d93767b78fe7fce34a6a0febc5e0 (patch) | |
tree | 961d10c552ed70292e9823eacfe3e2fc1d666087 /Zend/zend_constants.c | |
parent | 4fc3d2d104493e417d2352e4312d97a7d17fc4c5 (diff) | |
download | php-git-5dc52e488048d93767b78fe7fce34a6a0febc5e0.tar.gz |
Fixed interface constants inheritance.
Now we use IS_REFERENCE for inhereted class constants.
I might miss some edje cases.
Diffstat (limited to 'Zend/zend_constants.c')
-rw-r--r-- | Zend/zend_constants.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index 8227f185d4..964c7f8165 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -379,6 +379,8 @@ ZEND_API int zend_get_constant_ex(const char *name, uint name_len, zval *result, if ((flags & ZEND_FETCH_CLASS_SILENT) == 0) { zend_error(E_ERROR, "Undefined class constant '%s::%s'", class_name->val, constant_name->val); } + } else if (Z_ISREF_P(ret_constant)) { + ret_constant = Z_REFVAL_P(ret_constant); } } else if (!ce) { retval = 0; |