diff options
-rw-r--r-- | ext/recode/recode.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/recode/recode.c b/ext/recode/recode.c index 206154522e..6a6863881d 100644 --- a/ext/recode/recode.c +++ b/ext/recode/recode.c @@ -111,6 +111,7 @@ PHP_FUNCTION(recode_string) pval **str; pval **req; bool success; + int r_len=0, r_alen =0; ReSLS_FETCH(); if (ZEND_NUM_ARGS() != 2 @@ -132,13 +133,13 @@ PHP_FUNCTION(recode_string) goto error_exit; } - r = recode_string(request, (*str)->value.str.val); + recode_buffer_to_buffer(request, Z_STRVAL_PP(str), Z_STRLEN_PP(str), &r, &r_len, &r_alen); if (!r) { php_error(E_WARNING, "Recoding failed."); goto error_exit; } - RETVAL_STRING(r, 1); + RETVAL_STRINGL(r, r_len, 1); free(r); /* FALLTHROUGH */ |