cvs: ZendEngine2 / zend_compile.c
[email protected] ("Dmitry Stogov")
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <cvsdmitry1205840235@cvsserver> |
dmitry Tue Mar 18 11:37:15 2008 UTC
Modified files:
/ZendEngine2 zend_compile.c
Log:
Removed hack (we don't need to modify class name).
(the problem is covered by Zend/tests/ns_056.phpt)
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_compile.c?r1=1.813&r2=1.814&diff_format=u
Index: ZendEngine2/zend_compile.c
diff -u ZendEngine2/zend_compile.c:1.813 ZendEngine2/zend_compile.c:1.814
--- ZendEngine2/zend_compile.c:1.813 Tue Mar 18 08:36:49 2008
+++ ZendEngine2/zend_compile.c Tue Mar 18 11:37:15 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_compile.c,v 1.813 2008/03/18 08:36:49 dmitry Exp $ */
+/* $Id: zend_compile.c,v 1.814 2008/03/18 11:37:15 dmitry Exp $ */
#include <zend_language_parser.h>
#include "zend.h"
@@ -2504,26 +2504,17 @@
zstr colon;
- if (fe->common.type == ZEND_USER_FUNCTION &&
- ((UG(unicode) &&
- u_strchr(proto->common.arg_info[i].class_name.u, ':') == NULL &&
- (colon.u = u_memrchr(fe->common.arg_info[i].class_name.u, ':', fe->common.arg_info[i].class_name_len)) != NULL &&
- fe->common.arg_info[i].class_name_len - (colon.u + 1 - fe->common.arg_info[i].class_name.u) == proto->common.arg_info[i].class_name_len &&
- zend_u_binary_strcasecmp(colon.u + 1, proto->common.arg_info[i].class_name_len, proto->common.arg_info[i].class_name.u, proto->common.arg_info[i].class_name_len) == 0) ||
- (!UG(unicode) &&
- strchr(proto->common.arg_info[i].class_name.s, ':') == NULL &&
- (colon.s = zend_memrchr(fe->common.arg_info[i].class_name.s, ':', fe->common.arg_info[i].class_name_len)) != NULL &&
- fe->common.arg_info[i].class_name_len - (colon.s + 1 - fe->common.arg_info[i].class_name.s) == proto->common.arg_info[i].class_name_len &&
- zend_binary_strcasecmp(colon.s + 1, proto->common.arg_info[i].class_name_len, proto->common.arg_info[i].class_name.s, proto->common.arg_info[i].class_name_len) == 0))) {
-
- efree((char*)fe->common.arg_info[i].class_name.v);
- if (UG(unicode)) {
- fe->common.arg_info[i].class_name.u = eustrndup(proto->common.arg_info[i].class_name.u, proto->common.arg_info[i].class_name_len);
- } else {
- fe->common.arg_info[i].class_name.s = estrndup(proto->common.arg_info[i].class_name.s, proto->common.arg_info[i].class_name_len);
- }
- fe->common.arg_info[i].class_name_len = proto->common.arg_info[i].class_name_len;
- } else {
+ if (fe->common.type != ZEND_USER_FUNCTION ||
+ ((!UG(unicode) ||
+ u_strchr(proto->common.arg_info[i].class_name.u, ':') != NULL ||
+ (colon.u = u_memrchr(fe->common.arg_info[i].class_name.u, ':', fe->common.arg_info[i].class_name_len)) == NULL ||
+ fe->common.arg_info[i].class_name_len - (colon.u + 1 - fe->common.arg_info[i].class_name.u) != proto->common.arg_info[i].class_name_len ||
+ zend_u_binary_strcasecmp(colon.u + 1, proto->common.arg_info[i].class_name_len, proto->common.arg_info[i].class_name.u, proto->common.arg_info[i].class_name_len) != 0) &&
+ (UG(unicode) ||
+ strchr(proto->common.arg_info[i].class_name.s, ':') != NULL ||
+ (colon.s = zend_memrchr(fe->common.arg_info[i].class_name.s, ':', fe->common.arg_info[i].class_name_len)) == NULL ||
+ fe->common.arg_info[i].class_name_len - (colon.s + 1 - fe->common.arg_info[i].class_name.s) != proto->common.arg_info[i].class_name_len ||
+ zend_binary_strcasecmp(colon.s + 1, proto->common.arg_info[i].class_name_len, proto->common.arg_info[i].class_name.s, proto->common.arg_info[i].class_name_len) != 0))) {
return 0;
}
}