diff options
author | Paul Yang <TeBoring@users.noreply.github.com> | 2017-07-25 00:49:16 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-25 00:49:16 -0700 |
commit | 451d061141a14021ff95a093967827cd548720ba (patch) | |
tree | 84c032c0e1ffd34b6a8b97cc342ede6c0f257f9f /php/ext/google/protobuf/map.c | |
parent | a713b73076f1d90bdc39ea8805b50421a59d7986 (diff) | |
download | protobuf-451d061141a14021ff95a093967827cd548720ba.tar.gz protobuf-451d061141a14021ff95a093967827cd548720ba.tar.bz2 protobuf-451d061141a14021ff95a093967827cd548720ba.zip |
Fix cycle dependency for repeated field not collected by gc (#3399)
Diffstat (limited to 'php/ext/google/protobuf/map.c')
-rw-r--r-- | php/ext/google/protobuf/map.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/php/ext/google/protobuf/map.c b/php/ext/google/protobuf/map.c index 4a524864..2680b547 100644 --- a/php/ext/google/protobuf/map.c +++ b/php/ext/google/protobuf/map.c @@ -285,7 +285,7 @@ static bool map_field_read_dimension(zval *object, zval *key, int type, if (upb_strtable_lookup2(&intern->table, keyval, length, &v)) { void* mem = upb_value_memory(&v); - native_slot_get_by_array(intern->value_type, mem, retval TSRMLS_CC); + native_slot_get_by_map_value(intern->value_type, mem, retval TSRMLS_CC); return true; } else { zend_error(E_USER_ERROR, "Given key doesn't exist."); @@ -318,7 +318,7 @@ static void map_field_write_dimension(zval *object, zval *key, mem = upb_value_memory(&v); memset(mem, 0, native_slot_size(intern->value_type)); - if (!native_slot_set_by_array(intern->value_type, intern->msg_ce, mem, + if (!native_slot_set_by_map(intern->value_type, intern->msg_ce, mem, value TSRMLS_CC)) { return; } @@ -535,8 +535,8 @@ PHP_METHOD(MapFieldIter, current) { upb_value value = map_iter_value(intern, &value_length); void* mem = upb_value_memory(&value); - native_slot_get_by_array(map_field->value_type, mem, - ZVAL_PTR_TO_CACHED_PTR(return_value) TSRMLS_CC); + native_slot_get_by_map_value(map_field->value_type, mem, + ZVAL_PTR_TO_CACHED_PTR(return_value) TSRMLS_CC); } PHP_METHOD(MapFieldIter, key) { |