]> granicus.if.org Git - php/commitdiff
MFH
authorEdin Kadribasic <edink@php.net>
Mon, 15 Jul 2002 18:02:09 +0000 (18:02 +0000)
committerEdin Kadribasic <edink@php.net>
Mon, 15 Jul 2002 18:02:09 +0000 (18:02 +0000)
ext/mbstring/mbstring.c

index 6f65855cfa02a8d77c2cb13104d31b5e179335eb..202aab5d996fd0af6d0bd8156325c4fdc2038b04 100644 (file)
@@ -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));