Bail out if {...} or '...' are missing around RHS of the equation.

(...) may be possible, elsewhere additional {} are put around,
so we have {(...)}.
This commit is contained in:
Holger Vogt
2023-06-04 10:36:21 +02:00
parent 3a535f19db
commit 1ddb1f58b4
+9 -24
View File
@@ -6240,14 +6240,9 @@ static void inp_compat(struct card *card)
/* Find equation, starts with '{', till end of line */ /* Find equation, starts with '{', till end of line */
str_ptr = strchr(cut_line, '{'); str_ptr = strchr(cut_line, '{');
if (str_ptr == NULL) { if (str_ptr == NULL) {
/* if not, equation may start with a '(' */ fprintf(stderr, "ERROR: mal formed R line: %s\n", curr_line);
str_ptr = strchr(cut_line, '('); fprintf(stderr, " {...} or '...' around equation's right hand side are missing!\n");
if (str_ptr == NULL) { controlled_exit(EXIT_FAILURE);
fprintf(stderr, "ERROR: mal formed R line: %s\n",
curr_line);
controlled_exit(EXIT_FAILURE);
}
equation = gettok_char(&str_ptr, ')', TRUE, TRUE);
} }
else else
equation = gettok_char(&str_ptr, '}', TRUE, TRUE); equation = gettok_char(&str_ptr, '}', TRUE, TRUE);
@@ -6324,14 +6319,9 @@ static void inp_compat(struct card *card)
/* Find equation, starts with '{', till end of line */ /* Find equation, starts with '{', till end of line */
str_ptr = strchr(cut_line, '{'); str_ptr = strchr(cut_line, '{');
if (str_ptr == NULL) { if (str_ptr == NULL) {
/* if not, equation may start with a '(' */ fprintf(stderr, "ERROR: mal formed C line: %s\n", curr_line);
str_ptr = strchr(cut_line, '('); fprintf(stderr, " {...} or '...' around equation's right hand side are missing!\n");
if (str_ptr == NULL) { controlled_exit(EXIT_FAILURE);
fprintf(stderr, "ERROR: mal formed C line: %s\n",
curr_line);
controlled_exit(EXIT_FAILURE);
}
equation = gettok_char(&str_ptr, ')', TRUE, TRUE);
} }
else else
equation = gettok_char(&str_ptr, '}', TRUE, TRUE); equation = gettok_char(&str_ptr, '}', TRUE, TRUE);
@@ -6399,14 +6389,9 @@ static void inp_compat(struct card *card)
/* Find equation, starts with '{', till end of line */ /* Find equation, starts with '{', till end of line */
str_ptr = strchr(cut_line, '{'); str_ptr = strchr(cut_line, '{');
if (str_ptr == NULL) { if (str_ptr == NULL) {
/* if not, equation may start with a '(' */ fprintf(stderr, "ERROR: mal formed L line: %s\n", curr_line);
str_ptr = strchr(cut_line, '('); fprintf(stderr, " {...} or '...' around equation's right hand side are missing!\n");
if (str_ptr == NULL) { controlled_exit(EXIT_FAILURE);
fprintf(stderr, "ERROR: mal formed L line: %s\n",
curr_line);
controlled_exit(EXIT_FAILURE);
}
equation = gettok_char(&str_ptr, ')', TRUE, TRUE);
} }
else else
equation = gettok_char(&str_ptr, '}', TRUE, TRUE); equation = gettok_char(&str_ptr, '}', TRUE, TRUE);