stardis

Perform coupled heat transfer calculations
git clone git://git.meso-star.fr/stardis.git
Log | Files | Refs | README | LICENSE

commit 4440fc63d07ddf14fb0c895a9723b9a4ada0be0c
parent 583d1a497af5712b94952445a2fe5e373478aa46
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Mon, 17 Jan 2022 09:54:52 +0100

Improve error management for PROGRAM

Diffstat:
Msrc/stardis-parsing.c | 11++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/stardis-parsing.c b/src/stardis-parsing.c @@ -500,7 +500,12 @@ get_prog_common str_init(stardis->allocator, &tmp); ERR(str_set(&tmp, lib_name)); desc = find_description_by_name(stardis, &tmp, NULL); - CHK(desc); /* must be found */ + if(!desc) { + logger_print(stardis->logger, LOG_ERROR, + "Undefined PROGRAM: %s\n", lib_name); + if(res == RES_OK) res = RES_BAD_ARG; + goto end; + } *program = desc->d.program; /* get the mandatory user-defined functions from the library */ GET_LIB_SYMBOL_BASE(create, (*program)->lib_handle, stardis_create_data, 0); @@ -553,10 +558,10 @@ process_program ERR(str_set(&program->lib_path, tk)); /* get the library handler */ - program->lib_handle = library_open(str_cget(&program->lib_path)); + program->lib_handle = library_open(tk); if(!program->lib_handle) { logger_print(stardis->logger, LOG_ERROR, - "Cannot open library: %s\n", lib_name); + "Cannot open library: %s (%s)\n", lib_name, tk); res = RES_BAD_ARG; goto error; }