summaryrefslogtreecommitdiff
path: root/php/src
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2016-12-08 11:38:49 -0500
committerJoe George <joe@zeroc.com>2016-12-08 11:38:49 -0500
commit39bc1eb7030758cb057b2f8ff2006d42d849c112 (patch)
treef150101e8e9959222f13d7b0538193c7cf52ed11 /php/src
parentOpenSSL is not required in Windows with Ice 3.6 (diff)
downloadice-39bc1eb7030758cb057b2f8ff2006d42d849c112.tar.bz2
ice-39bc1eb7030758cb057b2f8ff2006d42d849c112.tar.xz
ice-39bc1eb7030758cb057b2f8ff2006d42d849c112.zip
ICE-7462 - Add PHP 7.1 support
Diffstat (limited to 'php/src')
-rw-r--r--php/src/php7/Types.cpp21
1 files changed, 1 insertions, 20 deletions
diff --git a/php/src/php7/Types.cpp b/php/src/php7/Types.cpp
index a29dade9b50..6e9dd79de71 100644
--- a/php/src/php7/Types.cpp
+++ b/php/src/php7/Types.cpp
@@ -1166,26 +1166,7 @@ IcePHP::DataMember::setMember(zval* target, zval* zv)
{
assert(Z_TYPE_P(target) == IS_OBJECT);
- //
- // The add_property_zval function fails if the data member has protected visibility.
- // As a workaround, before calling the function we change the current scope to be that
- // of the object.
- //
- zend_class_entry *oldScope = EG(scope);
- EG(scope) = Z_OBJCE_P(target);
-
- //
- // add_property_zval increments the refcount of zv.
- //
- int status = add_property_zval(target, STRCAST(name.c_str()), zv);
-
- EG(scope) = oldScope; // Restore the previous scope.
-
- if(status == FAILURE)
- {
- runtimeError("unable to set member `%s'", name.c_str());
- throw AbortMarshaling();
- }
+ zend_update_property(Z_OBJCE_P(target), target, STRCAST(name.c_str()), strlen(name.c_str()), zv);
}
static void