diff --git a/src/frontend/inpcom.c b/src/frontend/inpcom.c index 1c90a306e..051f0351f 100644 --- a/src/frontend/inpcom.c +++ b/src/frontend/inpcom.c @@ -1806,6 +1806,23 @@ inp_search_closing_paren(char *s) } +/* search backwards for opening paren */ +static char * +inp_search_opening_paren(char *str_ptr, char *line) +{ + int count = 1; + // assert(*str_ptr == ')') + while ((count != 0) && (str_ptr != line)) { + str_ptr--; + if (*str_ptr == '(') + count--; + if (*str_ptr == ')') + count++; + } + return str_ptr; +} + + /* replace ternary operator 'conditional ? if : else' by function * 'ternary_fcn(conditional, if, else)' * in .param, .func, and .meas lines, if all is FALSE, @@ -1857,17 +1874,6 @@ inp_fix_ternary_operator_str(char *line, bool all) str_ptr2 = skip_back_ws(question); /* test for (conditional)?... */ if (str_ptr2[-1] == ')') { - char *inp_search_opening_paren(char *str_ptr, char *line) { - int count = 1; - while ((count != 0) && (str_ptr != line)) { - str_ptr--; - if (*str_ptr == '(') - count--; - if (*str_ptr == ')') - count++; - } - return str_ptr; - } str_ptr = inp_search_opening_paren(str_ptr2 - 1, line); } /* test for (conditional?... */