From 7a6b569b3b8aad6636ed1adb0053f5c7d357f980 Mon Sep 17 00:00:00 2001 From: rlar Date: Sat, 18 Jan 2014 15:02:49 +0100 Subject: [PATCH] inpcom.c, rewrite bizarre code in inp_get_params() --- src/frontend/inpcom.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/frontend/inpcom.c b/src/frontend/inpcom.c index 88b7b7125..f394019b4 100644 --- a/src/frontend/inpcom.c +++ b/src/frontend/inpcom.c @@ -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';