inpcom.c, rewrite bizarre code in inp_get_params()

This commit is contained in:
rlar 2014-01-18 15:02:49 +01:00
parent 3b953e50c3
commit 7a6b569b3b
1 changed files with 6 additions and 11 deletions

View File

@ -2496,12 +2496,9 @@ inp_get_params(char *line, char *param_names[], char *param_values[])
char *end, *name, *value;
int num_params = 0;
char keep;
bool is_expression = FALSE;
while ((equal_ptr = find_assignment(line)) != NULL) {
is_expression = FALSE;
/* get parameter name */
end = skip_back_ws_(equal_ptr, line);
name = skip_back_non_ws_(end, line);
@ -2511,17 +2508,15 @@ inp_get_params(char *line, char *param_names[], char *param_values[])
/* get parameter value */
value = skip_ws(equal_ptr + 1);
if (*value == '{')
is_expression = TRUE;
end = value;
if (is_expression)
if (*value == '{') {
end = value;
while (*end && *end != '}')
end++;
else
end = skip_non_ws(end);
if (is_expression)
end++;
} else {
end = skip_non_ws(value);
}
keep = *end;
*end = '\0';