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 */  | 
