cvs: ZendEngine2 / zend_operators.c zend_unicode.c zend_unicode.h
| From: | Andrei Zmievski | Date: | Wed, 12 Jul 2006 17:35:06 +0000 |
| Subject: | cvs: ZendEngine2 / zend_operators.c zend_unicode.c zend_unicode.h | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-5064@lists.php.net to get a copy of this message | ||
andrei Wed Jul 12 17:35:06 2006 UTC
Modified files:
/ZendEngine2 zend_operators.c zend_unicode.c zend_unicode.h
Log:
Implement convert_to_unicode_with_converter() and adjust zval_* APIs.
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_operators.c?r1=1.246&r2=1.247&diff_format=u
Index: ZendEngine2/zend_operators.c
diff -u ZendEngine2/zend_operators.c:1.246 ZendEngine2/zend_operators.c:1.247
--- ZendEngine2/zend_operators.c:1.246 Sun Jul 9 18:03:17 2006
+++ ZendEngine2/zend_operators.c Wed Jul 12 17:35:06 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_operators.c,v 1.246 2006/07/09 18:03:17 helly Exp $ */
+/* $Id: zend_operators.c,v 1.247 2006/07/12 17:35:06 andrei Exp $ */
#include <ctype.h>
@@ -581,6 +581,12 @@
ZEND_API void _convert_to_unicode(zval *op TSRMLS_DC ZEND_FILE_LINE_DC)
{
+ TSRMLS_FETCH();
+ _convert_to_unicode_with_converter(op, ZEND_U_CONVERTER(UG(runtime_encoding_conv)) TSRMLS_CC
ZEND_FILE_LINE_CC);
+}
+
+ZEND_API void _convert_to_unicode_with_converter(zval *op, UConverter *conv TSRMLS_DC
ZEND_FILE_LINE_DC)
+{
switch (Z_TYPE_P(op)) {
case IS_NULL:
Z_USTRVAL_P(op) = USTR_MAKE_REL("");
@@ -589,7 +595,7 @@
case IS_UNICODE:
break;
case IS_STRING:
- zval_string_to_unicode(op TSRMLS_CC);
+ zval_string_to_unicode_ex(op, conv TSRMLS_CC);
return;
case IS_BOOL:
if (Z_LVAL_P(op)) {
@@ -669,7 +675,7 @@
case IS_STRING:
return;
case IS_UNICODE:
- zval_unicode_to_string(op, conv TSRMLS_CC);
+ zval_unicode_to_string_ex(op, conv TSRMLS_CC);
break;
case IS_BOOL:
if (Z_LVAL_P(op)) {
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_unicode.c?r1=1.24&r2=1.25&diff_format=u
Index: ZendEngine2/zend_unicode.c
diff -u ZendEngine2/zend_unicode.c:1.24 ZendEngine2/zend_unicode.c:1.25
--- ZendEngine2/zend_unicode.c:1.24 Mon Jul 10 13:53:47 2006
+++ ZendEngine2/zend_unicode.c Wed Jul 12 17:35:06 2006
@@ -537,8 +537,8 @@
}
/* }}} */
-/* {{{ zval_unicode_to_string */
-ZEND_API int zval_unicode_to_string(zval *string, UConverter *conv TSRMLS_DC)
+/* {{{ zval_unicode_to_string_ex */
+ZEND_API int zval_unicode_to_string_ex(zval *string, UConverter *conv TSRMLS_DC)
{
UErrorCode status = U_ZERO_ERROR;
char *s = NULL;
@@ -568,6 +568,13 @@
}
/* }}} */
+/* {{{ zval_unicode_to_string */
+ZEND_API int zval_unicode_to_string(zval *string TSRMLS_DC)
+{
+ return zval_unicode_to_string_ex(string, ZEND_U_CONVERTER(UG(runtime_encoding_conv)) TSRMLS_CC);
+}
+/* }}} */
+
/* {{{ zval_string_to_unicode_ex */
ZEND_API int zval_string_to_unicode_ex(zval *string, UConverter *conv TSRMLS_DC)
{
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_unicode.h?r1=1.18&r2=1.19&diff_format=u
Index: ZendEngine2/zend_unicode.h
diff -u ZendEngine2/zend_unicode.h:1.18 ZendEngine2/zend_unicode.h:1.19
--- ZendEngine2/zend_unicode.h:1.18 Mon Jul 10 23:06:17 2006
+++ ZendEngine2/zend_unicode.h Wed Jul 12 17:35:06 2006
@@ -78,7 +78,8 @@
ZEND_API int zval_string_to_unicode_ex(zval *string, UConverter *conv TSRMLS_DC);
ZEND_API int zval_string_to_unicode(zval *string TSRMLS_DC);
-ZEND_API int zval_unicode_to_string(zval *string, UConverter *conv TSRMLS_DC);
+ZEND_API int zval_unicode_to_string_ex(zval *string, UConverter *conv TSRMLS_DC);
+ZEND_API int zval_unicode_to_string(zval *string TSRMLS_DC);
ZEND_API int zend_cmp_unicode_and_string(UChar *ustr, char* str, uint len);
ZEND_API int zend_cmp_unicode_and_literal(UChar *ustr, int ulen, char* str, int slen);