]> granicus.if.org Git - php/commitdiff
Fixed Unicode support
authorDmitry Stogov <dmitry@php.net>
Mon, 21 Dec 2009 15:29:21 +0000 (15:29 +0000)
committerDmitry Stogov <dmitry@php.net>
Mon, 21 Dec 2009 15:29:21 +0000 (15:29 +0000)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 5c5d8618ad4ec3a80223e7c1d00322b3f6bbfc27..eb9041e622494a75ccc499cae01ed790a7e24c9a 100644 (file)
@@ -4406,8 +4406,8 @@ ZEND_VM_HANDLER(145, ZEND_DECLARE_INHERITED_CLASS_DELAYED, ANY, ANY)
        zend_op *opline = EX(opline);
        zend_class_entry **pce, **pce_orig;
 
-       if (zend_hash_find(EG(class_table), Z_STRVAL(opline->op2.u.constant), Z_STRLEN(opline->op2.u.constant)+1, (void**)&pce) == FAILURE ||
-           (zend_hash_find(EG(class_table), Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), (void**)&pce_orig) == SUCCESS &&
+       if (zend_u_hash_find(EG(class_table), Z_TYPE(opline->op2.u.constant), Z_UNIVAL(opline->op2.u.constant), Z_UNILEN(opline->op2.u.constant)+1, (void**)&pce) == FAILURE ||
+           (zend_u_hash_find(EG(class_table), Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), (void**)&pce_orig) == SUCCESS &&
             *pce != *pce_orig)) {
                do_bind_inherited_class(opline, EG(class_table), EX_T(opline->extended_value).class_entry, 0 TSRMLS_CC);
        }
index fce276aa461ab936e41507d45673e75996476e7b..0052e07ee707ca09e260830bdf8515129c9ce77f 100644 (file)
@@ -574,8 +574,8 @@ static int ZEND_FASTCALL  ZEND_DECLARE_INHERITED_CLASS_DELAYED_SPEC_HANDLER(ZEND
        zend_op *opline = EX(opline);
        zend_class_entry **pce, **pce_orig;
 
-       if (zend_hash_find(EG(class_table), Z_STRVAL(opline->op2.u.constant), Z_STRLEN(opline->op2.u.constant)+1, (void**)&pce) == FAILURE ||
-           (zend_hash_find(EG(class_table), Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), (void**)&pce_orig) == SUCCESS &&
+       if (zend_u_hash_find(EG(class_table), Z_TYPE(opline->op2.u.constant), Z_UNIVAL(opline->op2.u.constant), Z_UNILEN(opline->op2.u.constant)+1, (void**)&pce) == FAILURE ||
+           (zend_u_hash_find(EG(class_table), Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), (void**)&pce_orig) == SUCCESS &&
             *pce != *pce_orig)) {
                do_bind_inherited_class(opline, EG(class_table), EX_T(opline->extended_value).class_entry, 0 TSRMLS_CC);
        }