cvs: php4 /ext/mbstring mbstring.c

From: Date: Mon, 15 Jul 2002 17:48:55 +0000
Subject: cvs: php4 /ext/mbstring mbstring.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-12846@lists.php.net to get a copy of this message
edink Mon Jul 15 13:48:55 2002 EDT Modified files: /php4/ext/mbstring mbstring.c Log: Fix bug #16985 (wrong count of GET/POST variables). Index: php4/ext/mbstring/mbstring.c diff -u php4/ext/mbstring/mbstring.c:1.80 php4/ext/mbstring/mbstring.c:1.81 --- php4/ext/mbstring/mbstring.c:1.80 Fri Jul 12 00:57:14 2002 +++ php4/ext/mbstring/mbstring.c Mon Jul 15 13:48:54 2002 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mbstring.c,v 1.80 2002/07/12 04:57:14 sebastian Exp $ */ +/* $Id: mbstring.c,v 1.81 2002/07/15 17:48:54 edink Exp $ */ /* * PHP4 Multibyte String module "mbstring" (currently only for Japanese) @@ -1243,18 +1243,21 @@ 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));

« previous php.cvs (#12846) next »