From: Marcus Boerger Date: Sun, 13 Jul 2008 21:30:18 +0000 (+0000) Subject: - Fix function copying (in TSRM mode) X-Git-Tag: BEFORE_HEAD_NS_CHANGE~1285 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6cdd85c5fa42ab9590568e26f424e00036a78a56;p=php - Fix function copying (in TSRM mode) --- diff --git a/Zend/zend.c b/Zend/zend.c index 3aee2296c0..e2a1cacfe5 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -737,12 +737,16 @@ static void free_u_zend_constant(zend_constant *c) /* {{{ */ static void function_to_unicode(zend_function *func TSRMLS_DC) /* {{{ */ { if (func->common.function_name.s) { - UChar *uname; - int len = strlen(func->common.function_name.s) + 1; - - uname = malloc(UBYTES(len)); - u_charsToUChars(func->common.function_name.s, uname, len); - func->common.function_name.u = uname; + if (UG(unicode)) { + func->common.function_name.u = zend_ustrdup(func->common.function_name.u); + } else { + UChar *uname; + int len = strlen(func->common.function_name.s) + 1; + + uname = malloc(UBYTES(len)); + u_charsToUChars(func->common.function_name.s, uname, len); + func->common.function_name.u = uname; + } } if (func->common.arg_info) { zend_arg_info *args;