dmitry          Wed Aug 17 09:10:05 2005 EDT

  Modified files:              
    /ZendEngine2        zend_interfaces.c zend_object_handlers.c 
                        zend_object_handlers.h zend_reflection_api.c 
                        zend_vm_def.h zend_vm_execute.h zend_vm_opcodes.h 
    /php-src/ext/standard       var.c 
    /php-src/tests/reflection   006.phpt 
  Log:
  Unicode support
  
  
http://cvs.php.net/diff.php/ZendEngine2/zend_interfaces.c?r1=1.35&r2=1.36&ty=u
Index: ZendEngine2/zend_interfaces.c
diff -u ZendEngine2/zend_interfaces.c:1.35 ZendEngine2/zend_interfaces.c:1.36
--- ZendEngine2/zend_interfaces.c:1.35  Fri Aug 12 07:29:26 2005
+++ ZendEngine2/zend_interfaces.c       Wed Aug 17 09:10:02 2005
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_interfaces.c,v 1.35 2005/08/12 11:29:26 dmitry Exp $ */
+/* $Id: zend_interfaces.c,v 1.36 2005/08/17 13:10:02 dmitry Exp $ */
 
 #include "zend.h"
 #include "zend_API.h"
@@ -431,6 +431,11 @@
                        *buf_len = Z_STRLEN_P(retval);
                        result = SUCCESS;
                        break;
+               case IS_UNICODE:
+                       *buffer = eustrndup(Z_USTRVAL_P(retval), 
Z_USTRLEN_P(retval));
+                       *buf_len = Z_USTRLEN_P(retval);
+                       result = SUCCESS;
+                       break;
                default: /* failure */
                        result = FAILURE;
                        break;
@@ -439,7 +444,7 @@
        }
 
        if (result == FAILURE) {
-               zend_throw_exception_ex(NULL, 0 TSRMLS_CC, "%s::serialize() 
must return a string or NULL", ce->name);
+               zend_throw_exception_ex(NULL, 0 TSRMLS_CC, "%v::serialize() 
must return a string or NULL", ce->name);
        }
        return result;
 }
http://cvs.php.net/diff.php/ZendEngine2/zend_object_handlers.c?r1=1.139&r2=1.140&ty=u
Index: ZendEngine2/zend_object_handlers.c
diff -u ZendEngine2/zend_object_handlers.c:1.139 
ZendEngine2/zend_object_handlers.c:1.140
--- ZendEngine2/zend_object_handlers.c:1.139    Mon Aug 15 10:39:18 2005
+++ ZendEngine2/zend_object_handlers.c  Wed Aug 17 09:10:02 2005
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_object_handlers.c,v 1.139 2005/08/15 14:39:18 dmitry Exp $ */
+/* $Id: zend_object_handlers.c,v 1.140 2005/08/17 13:10:02 dmitry Exp $ */
 
 #include "zend.h"
 #include "zend_globals.h"
@@ -816,13 +816,12 @@
 }
 
 
-ZEND_API zval **zend_std_get_static_property(zend_class_entry *ce, char 
*property_name, int property_name_len, zend_bool silent TSRMLS_DC)
+ZEND_API zval **zend_std_get_static_property(zend_class_entry *ce, zend_uchar 
type, void *property_name, int property_name_len, zend_bool silent TSRMLS_DC)
 {
        zval **retval = NULL;
        zend_class_entry *tmp_ce = ce;
        zend_property_info *property_info;
        zend_property_info std_property_info;
-       zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
 
        if (zend_u_hash_find(&ce->properties_info, type, property_name, 
property_name_len+1, (void **) &property_info)==FAILURE) {
                std_property_info.flags = ZEND_ACC_PUBLIC;
http://cvs.php.net/diff.php/ZendEngine2/zend_object_handlers.h?r1=1.47&r2=1.48&ty=u
Index: ZendEngine2/zend_object_handlers.h
diff -u ZendEngine2/zend_object_handlers.h:1.47 
ZendEngine2/zend_object_handlers.h:1.48
--- ZendEngine2/zend_object_handlers.h:1.47     Wed Aug  3 09:30:55 2005
+++ ZendEngine2/zend_object_handlers.h  Wed Aug 17 09:10:02 2005
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_object_handlers.h,v 1.47 2005/08/03 13:30:55 sniper Exp $ */
+/* $Id: zend_object_handlers.h,v 1.48 2005/08/17 13:10:02 dmitry Exp $ */
 
 #ifndef ZEND_OBJECT_HANDLERS_H
 #define ZEND_OBJECT_HANDLERS_H
@@ -134,7 +134,7 @@
 extern ZEND_API zend_object_handlers std_object_handlers;
 BEGIN_EXTERN_C()
 ZEND_API union _zend_function *zend_std_get_static_method(zend_class_entry 
*ce, char *function_name_strval, int function_name_strlen TSRMLS_DC);
-ZEND_API zval **zend_std_get_static_property(zend_class_entry *ce, char 
*property_name, int property_name_len, zend_bool silent TSRMLS_DC);
+ZEND_API zval **zend_std_get_static_property(zend_class_entry *ce, zend_uchar 
type, void *property_name, int property_name_len, zend_bool silent TSRMLS_DC);
 ZEND_API zend_bool zend_std_unset_static_property(zend_class_entry *ce, char 
*property_name, int property_name_len TSRMLS_DC);
 ZEND_API struct _zend_property_info *zend_get_property_info(zend_class_entry 
*ce, zval *member, int silent TSRMLS_DC);
 
http://cvs.php.net/diff.php/ZendEngine2/zend_reflection_api.c?r1=1.169&r2=1.170&ty=u
Index: ZendEngine2/zend_reflection_api.c
diff -u ZendEngine2/zend_reflection_api.c:1.169 
ZendEngine2/zend_reflection_api.c:1.170
--- ZendEngine2/zend_reflection_api.c:1.169     Wed Aug 17 07:57:10 2005
+++ ZendEngine2/zend_reflection_api.c   Wed Aug 17 09:10:02 2005
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_reflection_api.c,v 1.169 2005/08/17 11:57:10 dmitry Exp $ */
+/* $Id: zend_reflection_api.c,v 1.170 2005/08/17 13:10:02 dmitry Exp $ */
 #include "zend.h"
 #include "zend_API.h"
 #include "zend_exceptions.h"
@@ -577,13 +577,27 @@
                                }
                        } else if (Z_TYPE_P(zv) == IS_NULL) {
                                string_write(str, "NULL", sizeof("NULL")-1);
-                       } else if (Z_TYPE_P(zv) == IS_STRING) {
+                       } else if (Z_TYPE_P(zv) == IS_STRING || Z_TYPE_P(zv) == 
IS_BINARY) {
+                               if (Z_TYPE_P(zv) == IS_BINARY) {
+                                       string_write(str, "b'", sizeof("b")-1);
+                               }
                                string_write(str, "'", sizeof("'")-1);
                                string_write(str, Z_STRVAL_P(zv), 
MIN(Z_STRLEN_P(zv), 15));
                                if (Z_STRLEN_P(zv) > 15) {
                                        string_write(str, "...", 
sizeof("...")-1);
                                }
                                string_write(str, "'", sizeof("'")-1);
+                       } else if (Z_TYPE_P(zv) == IS_UNICODE) {
+                               string_write(str, "'", sizeof("'")-1);
+                               zend_make_printable_zval(zv, &zv_copy, 
&use_copy);
+                               string_write(str, Z_STRVAL(zv_copy), 
MIN(Z_STRLEN(zv_copy), 15));
+                               if (Z_STRLEN(zv_copy) > 15) {
+                                       string_write(str, "...", 
sizeof("...")-1);
+                               }
+                               string_write(str, "'", sizeof("'")-1);
+                               if (use_copy) {
+                                       zval_dtor(&zv_copy);
+                               }
                        } else {
                                zend_make_printable_zval(zv, &zv_copy, 
&use_copy);
                                string_write(str, Z_STRVAL(zv_copy), 
Z_STRLEN(zv_copy));
@@ -2420,21 +2434,22 @@
        char *name;
        int name_len;
        zval **prop, *def_value = NULL;
+       zend_uchar name_type;
        
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &name, 
&name_len, &def_value) == FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "t|z", &name, 
&name_len, &name_type, &def_value) == FAILURE) {
                return;
        }
 
        GET_REFLECTION_OBJECT_PTR(ce);
 
        zend_update_class_constants(ce TSRMLS_CC);
-       prop = zend_std_get_static_property(ce, name, name_len, 1 TSRMLS_CC);
+       prop = zend_std_get_static_property(ce, name_type, name, name_len, 1 
TSRMLS_CC);
        if (!prop) {
                if (def_value) {
                        RETURN_ZVAL(def_value, 1, 0);
                } else {
                        
zend_throw_exception_ex(U_CLASS_ENTRY(reflection_exception_ptr), 0 TSRMLS_CC, 
-                               "Class %s does not have a property named %s", 
ce->name, name);
+                               "Class %v does not have a property named %R", 
ce->name, name_type, name);
                }
                return;
        } else {
@@ -2454,18 +2469,19 @@
        zval **variable_ptr, *value;
        int refcount;
        zend_uchar is_ref;
+       zend_uchar name_type;
        
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sz", &name, 
&name_len, &value) == FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "tz", &name, 
&name_len, &name_type, &value) == FAILURE) {
                return;
        }
 
        GET_REFLECTION_OBJECT_PTR(ce);
 
        zend_update_class_constants(ce TSRMLS_CC);
-       variable_ptr = zend_std_get_static_property(ce, name, name_len, 1 
TSRMLS_CC);
+       variable_ptr = zend_std_get_static_property(ce, name_type, name, 
name_len, 1 TSRMLS_CC);
        if (!variable_ptr) {
                
zend_throw_exception_ex(U_CLASS_ENTRY(reflection_exception_ptr), 0 TSRMLS_CC, 
-                               "Class %s does not have a property named %s", 
ce->name, name);
+                               "Class %v does not have a property named %R", 
ce->name, name_type, name);
                return;
        }       
        refcount = (*variable_ptr)->refcount;
http://cvs.php.net/diff.php/ZendEngine2/zend_vm_def.h?r1=1.64&r2=1.65&ty=u
Index: ZendEngine2/zend_vm_def.h
diff -u ZendEngine2/zend_vm_def.h:1.64 ZendEngine2/zend_vm_def.h:1.65
--- ZendEngine2/zend_vm_def.h:1.64      Fri Aug 12 10:11:13 2005
+++ ZendEngine2/zend_vm_def.h   Wed Aug 17 09:10:02 2005
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_vm_def.h,v 1.64 2005/08/12 14:11:13 dmitry Exp $ */
+/* $Id: zend_vm_def.h,v 1.65 2005/08/17 13:10:02 dmitry Exp $ */
 
 /* If you change this file, please regenerate the zend_vm_execute.h and
  * zend_vm_opcodes.h files by running:
@@ -940,7 +940,7 @@
        }
 
        if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
-               retval = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+               retval = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 0 TSRMLS_CC);
        } else {
                target_symbol_table = zend_get_target_symbol_table(opline, 
EX(Ts), type, varname TSRMLS_CC);
 /*
@@ -3333,7 +3333,7 @@
        }
 
        if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
-               value = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 1 TSRMLS_CC);
+               value = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 1 TSRMLS_CC);
                if (!value) {
                        isset = 0;
                }
http://cvs.php.net/diff.php/ZendEngine2/zend_vm_execute.h?r1=1.67&r2=1.68&ty=u
Index: ZendEngine2/zend_vm_execute.h
diff -u ZendEngine2/zend_vm_execute.h:1.67 ZendEngine2/zend_vm_execute.h:1.68
--- ZendEngine2/zend_vm_execute.h:1.67  Fri Aug 12 10:11:13 2005
+++ ZendEngine2/zend_vm_execute.h       Wed Aug 17 09:10:02 2005
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_vm_execute.h,v 1.67 2005/08/12 14:11:13 dmitry Exp $ */
+/* $Id: zend_vm_execute.h,v 1.68 2005/08/17 13:10:02 dmitry Exp $ */
 
 static opcode_handler_t zend_user_opcode_handlers[256] = 
{(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL,(opcode_handler_t)NULL};
 
@@ -1400,7 +1400,7 @@
        }
 
        if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
-               retval = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+               retval = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 0 TSRMLS_CC);
        } else {
                target_symbol_table = zend_get_target_symbol_table(opline, 
EX(Ts), type, varname TSRMLS_CC);
 /*
@@ -2187,7 +2187,7 @@
        }
 
        if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
-               value = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 1 TSRMLS_CC);
+               value = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 1 TSRMLS_CC);
                if (!value) {
                        isset = 0;
                }
@@ -3908,7 +3908,7 @@
        }
 
        if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
-               retval = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+               retval = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 0 TSRMLS_CC);
        } else {
                target_symbol_table = zend_get_target_symbol_table(opline, 
EX(Ts), type, varname TSRMLS_CC);
 /*
@@ -4695,7 +4695,7 @@
        }
 
        if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
-               value = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 1 TSRMLS_CC);
+               value = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 1 TSRMLS_CC);
                if (!value) {
                        isset = 0;
                }
@@ -6951,7 +6951,7 @@
        }
 
        if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
-               retval = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+               retval = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 0 TSRMLS_CC);
        } else {
                target_symbol_table = zend_get_target_symbol_table(opline, 
EX(Ts), type, varname TSRMLS_CC);
 /*
@@ -7979,7 +7979,7 @@
        }
 
        if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
-               value = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 1 TSRMLS_CC);
+               value = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 1 TSRMLS_CC);
                if (!value) {
                        isset = 0;
                }
@@ -19645,7 +19645,7 @@
        }
 
        if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
-               retval = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+               retval = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 0 TSRMLS_CC);
        } else {
                target_symbol_table = zend_get_target_symbol_table(opline, 
EX(Ts), type, varname TSRMLS_CC);
 /*
@@ -20502,7 +20502,7 @@
        }
 
        if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
-               value = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 1 TSRMLS_CC);
+               value = 
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, 
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 1 TSRMLS_CC);
                if (!value) {
                        isset = 0;
                }
http://cvs.php.net/diff.php/ZendEngine2/zend_vm_opcodes.h?r1=1.46&r2=1.47&ty=u
Index: ZendEngine2/zend_vm_opcodes.h
diff -u ZendEngine2/zend_vm_opcodes.h:1.46 ZendEngine2/zend_vm_opcodes.h:1.47
--- ZendEngine2/zend_vm_opcodes.h:1.46  Fri Aug 12 10:11:16 2005
+++ ZendEngine2/zend_vm_opcodes.h       Wed Aug 17 09:10:03 2005
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_vm_opcodes.h,v 1.46 2005/08/12 14:11:16 dmitry Exp $ */
+/* $Id: zend_vm_opcodes.h,v 1.47 2005/08/17 13:10:03 dmitry Exp $ */
 
 #define ZEND_NOP                       0
 #define ZEND_ADD                       1
http://cvs.php.net/diff.php/php-src/ext/standard/var.c?r1=1.209&r2=1.210&ty=u
Index: php-src/ext/standard/var.c
diff -u php-src/ext/standard/var.c:1.209 php-src/ext/standard/var.c:1.210
--- php-src/ext/standard/var.c:1.209    Tue Aug 16 05:25:03 2005
+++ php-src/ext/standard/var.c  Wed Aug 17 09:10:04 2005
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: var.c,v 1.209 2005/08/16 09:25:03 dmitry Exp $ */
+/* $Id: var.c,v 1.210 2005/08/17 13:10:04 dmitry Exp $ */
 
 
 
@@ -807,7 +807,7 @@
                                                        break;
                                                }
                                                efree(prot_name);
-                                               php_error_docref(NULL 
TSRMLS_CC, E_NOTICE, "\"%s\" returned as member variable from __sleep() but 
does not exist", Z_STRVAL_PP(name));
+                                               php_error_docref(NULL 
TSRMLS_CC, E_NOTICE, "\"%R\" returned as member variable from __sleep() but 
does not exist", Z_TYPE_PP(name), Z_UNIVAL_PP(name));
                                                if (Z_TYPE_PP(name) == 
IS_UNICODE) {
                                                        
php_var_serialize_unicode(buf, Z_USTRVAL_PP(name), Z_USTRLEN_PP(name));
                                                } else {
http://cvs.php.net/diff.php/php-src/tests/reflection/006.phpt?r1=1.4&r2=1.5&ty=u
Index: php-src/tests/reflection/006.phpt
diff -u php-src/tests/reflection/006.phpt:1.4 
php-src/tests/reflection/006.phpt:1.5
--- php-src/tests/reflection/006.phpt:1.4       Mon Aug 15 10:37:54 2005
+++ php-src/tests/reflection/006.phpt   Wed Aug 17 09:10:04 2005
@@ -109,7 +109,7 @@
 EXCEPTION
 unicode(7) "updated"
 unicode(7) "updated"
-unicede(7) "updated"
+unicode(7) "updated"
 EXCEPTION
 EXCEPTION
 unicode(7) "updated"

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to