summaryrefslogtreecommitdiff
path: root/Zend/zend_interfaces.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_interfaces.c')
-rwxr-xr-xZend/zend_interfaces.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c
index 8a10f18ba9..031b71a62b 100755
--- a/Zend/zend_interfaces.c
+++ b/Zend/zend_interfaces.c
@@ -431,6 +431,11 @@ int zend_user_serialize(zval *object, unsigned char **buffer, zend_uint *buf_len
*buf_len = Z_STRLEN_P(retval);
result = SUCCESS;
break;
+ case IS_UNICODE:
+ *buffer = eustrndup(Z_USTRVAL_P(retval), Z_USTRLEN_P(retval));
+ *buf_len = Z_USTRLEN_P(retval);
+ result = SUCCESS;
+ break;
default: /* failure */
result = FAILURE;
break;
@@ -439,7 +444,7 @@ int zend_user_serialize(zval *object, unsigned char **buffer, zend_uint *buf_len
}
if (result == FAILURE) {
- zend_throw_exception_ex(NULL, 0 TSRMLS_CC, "%s::serialize() must return a string or NULL", ce->name);
+ zend_throw_exception_ex(NULL, 0 TSRMLS_CC, "%v::serialize() must return a string or NULL", ce->name);
}
return result;
}