summaryrefslogtreecommitdiff
path: root/ext/reflection/php_reflection.c
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2014-10-18 03:31:02 +0200
committerAnatol Belski <ab@php.net>2014-10-18 03:31:02 +0200
commit9cbdf3e66a76895861b6f39e1b1ef5cc46d76654 (patch)
tree42e8f228933a881ab4e3ca06a389227d8377006d /ext/reflection/php_reflection.c
parent7a6a3d923bfaac10a73e7ddf93eb5b7b7f2703e8 (diff)
parentfb85d0322d39d49f37e32df6f68c9769f2cce0e4 (diff)
downloadphp-git-9cbdf3e66a76895861b6f39e1b1ef5cc46d76654.tar.gz
Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: Fixed compilation Optimized property access handlers. Removed EG(std_property_info). Fixed bug #68199 (PDO::pgsqlGetNotify doesn't support NOTIFY payloads) News entry for new curl constants
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r--ext/reflection/php_reflection.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index 73da5c0a5e..debcc2c34d 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -3922,9 +3922,14 @@ static int _adddynproperty(zval *ptr TSRMLS_DC, int num_args, va_list args, zend
return 0; /* non public cannot be dynamic */
}
- if (zend_get_property_info(ce, hash_key->key, 1 TSRMLS_CC) == &EG(std_property_info)) {
- EG(std_property_info).flags = ZEND_ACC_IMPLICIT_PUBLIC;
- reflection_property_factory(ce, &EG(std_property_info), &property TSRMLS_CC);
+ if (zend_get_property_info(ce, hash_key->key, 1 TSRMLS_CC) == NULL) {
+ zend_property_info property_info;
+
+ property_info.flags = ZEND_ACC_IMPLICIT_PUBLIC;
+ property_info.name = hash_key->key;
+ property_info.ce = ce;
+ property_info.offset = -1;
+ reflection_property_factory(ce, &property_info, &property TSRMLS_CC);
add_next_index_zval(retval, &property);
}
return 0;