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));