]> granicus.if.org Git - php/commitdiff
This should fix var handling problems finally.
authorYasuo Ohgaki <yohgaki@php.net>
Sat, 7 Sep 2002 22:51:39 +0000 (22:51 +0000)
committerYasuo Ohgaki <yohgaki@php.net>
Sat, 7 Sep 2002 22:51:39 +0000 (22:51 +0000)
ext/mbstring/mbstring.c

index f7660db66d471902cdaee4ffc4c00b292263f728..49baf8091dc4095fecfb8640f605fd19131100a2 100644 (file)
@@ -1272,14 +1272,19 @@ php_mbstr_encoding_handler(zval *arg, char *res, char *separator TSRMLS_DC)
        var = php_strtok_r(res, separator, &strtok_buf);
        while (var)  {
                val = strchr(var, '=');
-               val_list[n] = var;
-               n++;
                if (val) { /* have a value */
-                       php_url_decode(var, val-var);
+                       len_list[n] = php_url_decode(var, val-var);
+                       val_list[n] = var;
+                       n++;
+                       
                        *val++ = '\0';
                        val_list[n] = val;
                        len_list[n] = php_url_decode(val, strlen(val));
                } else {
+                       len_list[n] = php_url_decode(var, strlen(var));
+                       val_list[n] = var;
+                       n++;
+                       
                        php_url_decode(var, strlen(var));
                        val_list[n] = "";
                        len_list[n] = 0;