]> granicus.if.org Git - php/commitdiff
Better use buffer_to_buffer, since zval is really buffer, not string (it can
authorStanislav Malyshev <stas@php.net>
Thu, 8 Mar 2001 17:11:57 +0000 (17:11 +0000)
committerStanislav Malyshev <stas@php.net>
Thu, 8 Mar 2001 17:11:57 +0000 (17:11 +0000)
contain \0's and not end in \0).
# and recode_string is recode_buffer_to_buffer internally anyways

ext/recode/recode.c

index 206154522eb85a274fe746f6c94db07412ec9b11..6a6863881d5698dd6caa2b9a05b7899006b22aa2 100644 (file)
@@ -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 */