commit d50fb2841c87534571b3332dce5e0183b52f446e
parent 3a33dc990513b2bdedb58afe06e68c91862c0aa7
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Wed, 9 Feb 2022 14:05:30 +0100
Return an error if an isotope is loaded wo molecule
Diffstat:
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/shitran_isotope_metadata.c b/src/shitran_isotope_metadata.c
@@ -470,16 +470,22 @@ parse_line
i = strspn(line, " \t");
ASSERT(i < strlen(line));
- if(!isalpha(line[i])) {
- res = parse_isotope(metadata, txtrdr);
- if(res != RES_OK) goto error;
- } else {
+ if(isalpha(line[i])) {
if(MOLECULE_IS_VALID(molecule)) {
res = flush_molecule(metadata, molecule, txtrdr);
if(res != RES_OK) goto error;
}
res = parse_molecule(metadata, molecule, txtrdr);
if(res != RES_OK) goto error;
+ } else {
+ if(!MOLECULE_IS_VALID(molecule)) {
+ log_err(metadata->shitran, "%s:%lu: missing a molecule definition.\n",
+ txtrdr_get_name(txtrdr), (unsigned long)txtrdr_get_line_num(txtrdr));
+ res = RES_BAD_ARG;
+ goto error;
+ }
+ res = parse_isotope(metadata, txtrdr);
+ if(res != RES_OK) goto error;
}
exit: