From: Stanislav Malyshev Date: Thu, 8 Mar 2001 17:11:57 +0000 (+0000) Subject: Better use buffer_to_buffer, since zval is really buffer, not string (it can X-Git-Tag: php-4.0.5RC1~50 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e30d8e4abf1ba05e6bdab19abe2a3a04deed43cd;p=php Better use buffer_to_buffer, since zval is really buffer, not string (it can contain \0's and not end in \0). # and recode_string is recode_buffer_to_buffer internally anyways --- 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 */