star-hitran

Load line-by-line data from the HITRAN database
git clone git://git.meso-star.fr/star-hitran.git
Log | Files | Refs | README | LICENSE

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:
Msrc/shitran_isotope_metadata.c | 14++++++++++----
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: