inpcom.c, inp_fix_ternary_operator_str(), use copy_substring()

This commit is contained in:
rlar 2012-10-13 12:00:29 +02:00
parent 680e45f7f3
commit 3b2b130177
1 changed files with 3 additions and 8 deletions

View File

@ -1753,19 +1753,14 @@ inp_fix_ternary_operator_str(char *line, bool all)
fprintf(stderr, "ERROR: problem parsing ternary line %s!\n", line);
controlled_exit(EXIT_FAILURE);
}
keep = *str_ptr2;
*str_ptr2 = '\0';
else_str = inp_fix_ternary_operator_str(strdup(str_ptr), all);
*str_ptr2 = keep;
if (keep != '}')
else_str = inp_fix_ternary_operator_str(copy_substring(str_ptr, str_ptr2), all);
if (*str_ptr2 != '}')
end_str = inp_fix_ternary_operator_str(strdup(str_ptr2+1), all);
else
end_str = strdup(str_ptr2);
} else {
if ((str_ptr2 = strstr(str_ptr, "}")) != NULL) {
*str_ptr2 = '\0';
else_str = inp_fix_ternary_operator_str(strdup(str_ptr), all);
*str_ptr2 = '}';
else_str = inp_fix_ternary_operator_str(copy_substring(str_ptr, str_ptr2), all);
end_str = strdup(str_ptr2);
} else {
else_str = inp_fix_ternary_operator_str(strdup(str_ptr), all);