From: Edin Kadribasic Date: Mon, 15 Jul 2002 18:02:09 +0000 (+0000) Subject: MFH X-Git-Tag: php-4.2.3RC1~71 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=02d7a70809e2a1588ea9a1411d0aee00765aa647;p=php MFH --- diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 6f65855cfa..202aab5d99 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1005,18 +1005,21 @@ php_mbstr_encoding_handler(zval *arg, char *res, char *separator TSRMLS_DC) mbfl_string_init_set(&string, MBSTRG(current_language), MBSTRG(current_internal_encoding)); mbfl_string_init_set(&resvar, MBSTRG(current_language), MBSTRG(current_internal_encoding)); mbfl_string_init_set(&resval, MBSTRG(current_language), MBSTRG(current_internal_encoding)); + + if (!res || *res == '\0') { + return; + } /* count the variables contained in the query */ - num = 0; + num = 1; var = res; - n = strlen(res); - while(n > 0) { - if (*var == '=') { - num++; - } - var++; - n--; + n = strlen(separator); + + while (var=strstr(var, separator)) { + num++; + var+=n; } + num *= 2; val_list = (char **)ecalloc(num, sizeof(char *)); len_list = (int *)ecalloc(num, sizeof(int));