diff options
-rw-r--r-- | ext/reflection/php_reflection.c | 8 | ||||
-rw-r--r-- | ext/soap/php_encoding.c | 2 | ||||
-rw-r--r-- | ext/standard/http.c | 4 | ||||
-rw-r--r-- | ext/standard/var.c | 6 | ||||
-rw-r--r-- | ext/wddx/wddx.c | 2 |
5 files changed, 11 insertions, 11 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index afccde7234..7118bfbec8 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -791,7 +791,7 @@ static void _property_string(string *str, zend_property_info *prop, char *sz_pro string_printf(str, "static "); } - zend_u_unmangle_property_name(UG(unicode)?IS_UNICODE:IS_STRING, prop->name, &class_name, &prop_name); + zend_u_unmangle_property_name(UG(unicode)?IS_UNICODE:IS_STRING, prop->name, prop->name_length, &class_name, &prop_name); string_printf(str, "$%v", prop_name); } @@ -1115,7 +1115,7 @@ static void reflection_property_factory(zend_class_entry *ce, zend_property_info zstr class_name, prop_name; zend_uchar utype = UG(unicode) ? IS_UNICODE : IS_STRING; - zend_u_unmangle_property_name(utype, prop->name, &class_name, &prop_name); + zend_u_unmangle_property_name(utype, prop->name, prop->name_length, &class_name, &prop_name); if (!(prop->flags & ZEND_ACC_PRIVATE)) { /* we have to seach the class hierarchy for this (implicit) public or protected property */ @@ -2755,7 +2755,7 @@ ZEND_METHOD(reflection_class, getDefaultProperties) zend_hash_get_current_key_ex(&ce->default_properties, &key, &key_len, &num_index, 0, &pos); zend_hash_move_forward_ex(&ce->default_properties, &pos); - zend_u_unmangle_property_name(UG(unicode)?IS_UNICODE:IS_STRING, key, &class_name, &prop_name); + zend_u_unmangle_property_name(UG(unicode)?IS_UNICODE:IS_STRING, key, key_len-1, &class_name, &prop_name); /* FIXME: Unicode support??? */ if (class_name.s && class_name.s[0] != '*' && strcmp(class_name.s, ce->name.s)) { /* filter privates from base classes */ @@ -3770,7 +3770,7 @@ ZEND_METHOD(reflection_property, __construct) ZVAL_TEXTL(classname, ce->name, ce->name_length, 1); zend_hash_update(Z_OBJPROP_P(object), "class", sizeof("class"), (void **) &classname, sizeof(zval *), NULL); - zend_u_unmangle_property_name(UG(unicode)?IS_UNICODE:IS_STRING, property_info->name, &class_name, &prop_name); + zend_u_unmangle_property_name(UG(unicode)?IS_UNICODE:IS_STRING, property_info->name, property_info->name_length, &class_name, &prop_name); MAKE_STD_ZVAL(propname); ZVAL_TEXT(propname, prop_name, 1); zend_hash_update(Z_OBJPROP_P(object), "name", sizeof("name"), (void **) &propname, sizeof(zval *), NULL); diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 2695ec6c43..ad3a3c1f35 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -1844,7 +1844,7 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo if (Z_TYPE_P(data) == IS_OBJECT) { char *class_name; - zend_unmangle_property_name(key.s, &class_name, &prop_name); + zend_unmangle_property_name(key.s, key_len-1, &class_name, &prop_name); } else { prop_name = key.s; } diff --git a/ext/standard/http.c b/ext/standard/http.c index fe37e4c075..76a6f08fc0 100644 --- a/ext/standard/http.c +++ b/ext/standard/http.c @@ -71,11 +71,11 @@ PHPAPI int php_url_encode_hash_ex(HashTable *ht, smart_str *formstr, zstr tmp; zend_object *zobj = zend_objects_get_address(type TSRMLS_CC); - if (zend_check_property_access(zobj, IS_STRING, key TSRMLS_CC) != SUCCESS) { + if (zend_check_property_access(zobj, IS_STRING, key, key_len TSRMLS_CC) != SUCCESS) { /* private or protected property access outside of the class */ continue; } - zend_u_unmangle_property_name(key_type, key, &tmp, &key); + zend_u_unmangle_property_name(key_type, key, key_len, &tmp, &key); key_len = strlen(key.s); } diff --git a/ext/standard/var.c b/ext/standard/var.c index 52c8878cae..34d80516a7 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -149,7 +149,7 @@ static int php_object_property_dump(zval **zv, int num_args, va_list args, zend_ } else { /* string key */ int is_unicode = hash_key->type == IS_UNICODE; - zend_u_unmangle_property_name(hash_key->type, hash_key->arKey, &class_name, &prop_name); + zend_u_unmangle_property_name(hash_key->type, hash_key->arKey, hash_key->nKeyLength-1, &class_name, &prop_name); php_printf("%*c[", level + 1, ' '); if (class_name.s) { @@ -345,7 +345,7 @@ static int zval_object_property_dump(zval **zv, int num_args, va_list args, zend } else { /* string key */ int is_unicode = hash_key->type == IS_UNICODE; - zend_u_unmangle_property_name(hash_key->type, hash_key->arKey, &class_name, &prop_name); + zend_u_unmangle_property_name(hash_key->type, hash_key->arKey, hash_key->nKeyLength-1, &class_name, &prop_name); php_printf("%*c[", level + 1, ' '); if (class_name.s) { @@ -506,7 +506,7 @@ static int php_object_element_export(zval **zv, int num_args, va_list args, zend if (hash_key->nKeyLength != 0) { php_printf("%*c", level + 1, ' '); - zend_u_unmangle_property_name(hash_key->type, hash_key->arKey, &class_name, &prop_name); + zend_u_unmangle_property_name(hash_key->type, hash_key->arKey, hash_key->nKeyLength-1, &class_name, &prop_name); php_printf(" '%R' => ", hash_key->type, prop_name); php_var_export(zv, level + 2 TSRMLS_CC); PUTS (",\n"); diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index 3baf57a891..f1dd4ff0ed 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -530,7 +530,7 @@ static void php_wddx_serialize_object(wddx_packet *packet, zval *obj) if (zend_hash_get_current_key_ex(HASH_OF(obj), &key, &key_len, &idx, 0, NULL) == HASH_KEY_IS_STRING) { char *class_name, *prop_name; - zend_unmangle_property_name(key, &class_name, &prop_name); + zend_unmangle_property_name(key, key_len-1, &class_name, &prop_name); php_wddx_serialize_var(packet, *ent, prop_name, strlen(prop_name)+1 TSRMLS_CC); } else { key_len = sprintf(tmp_buf, "%ld", idx); |