From: Andrei Zmievski Date: Thu, 23 Mar 2006 21:52:49 +0000 (+0000) Subject: Allow conversion between binary/Unicode strings (based on X-Git-Tag: RELEASE_1_3~287 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b5221e4dd961b5b686453f0ac91fa304c5e42b32;p=php Allow conversion between binary/Unicode strings (based on runtime_encoding setting). --- diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index 33c5b5df94..6d40f36b32 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -588,7 +588,9 @@ ZEND_API void _convert_to_unicode(zval *op TSRMLS_DC ZEND_FILE_LINE_DC) case IS_UNICODE: break; case IS_STRING: - zend_error(E_ERROR, "Cannot convert binary type to Unicode type"); + if (zval_string_to_unicode(op TSRMLS_CC) == FAILURE) { + zend_error(E_WARNING, "Could not convert binary string to Unicode string"); + } return; case IS_BOOL: if (Z_LVAL_P(op)) { @@ -668,7 +670,9 @@ ZEND_API void _convert_to_string_with_converter(zval *op, UConverter *conv TSRML case IS_STRING: return; case IS_UNICODE: - zval_unicode_to_string(op, conv TSRMLS_CC); + if (zval_unicode_to_string(op, conv TSRMLS_CC) == FAILURE) { + zend_error(E_WARNING, "Could not convert Unicode string to binary string"); + } break; case IS_BOOL: if (Z_LVAL_P(op)) {