star-gs

Literate program for a geometric sensitivity calculation
git clone git://git.meso-star.fr/star-gs.git
Log | Files | Refs | README | LICENSE

commit 2396f7c7ab365b94e4ac3b79234771fd02922eb6
parent 3bc3487ebd717b1bddd90babeae5de74adc18b85
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Sun, 18 Apr 2021 21:59:59 +0200

sgs_geometry_box_create

Check the submitted arguments

Diffstat:
Msrc/sgs_geometry.c | 21+++++++++++++++++++++
1 file changed, 21 insertions(+), 0 deletions(-)

diff --git a/src/sgs_geometry.c b/src/sgs_geometry.c @@ -46,6 +46,22 @@ struct sgs_geometry { /******************************************************************************* * Helper functions ******************************************************************************/ +static int +check_box_args(struct sgs* sgs, const struct sgs_geometry_box_args* args) +{ + ASSERT(args); + if(args->lower[0] >= args->upper[0] + || args->lower[1] >= args->upper[1] + || args->lower[2] >= args->upper[2]) { + sgs_log_err(sgs, + "Invalid box definition (lower: %g,%g,%g; upper(%g, %g, %g)\n", + SPLIT3(args->lower), + SPLIT3(args->upper)); + return 0; + } + return 1; +} + static res_T geometry_create (struct sgs* sgs, @@ -260,6 +276,11 @@ sgs_geometry_box_create res_T res = RES_OK; ASSERT(sgs && args && out_geom); + if(!check_box_args(sgs, args)) { + res = RES_BAD_ARG; + goto error; + } + res = geometry_create(sgs, &geom); if(res != RES_OK) goto error; res = setup_box_mesh(geom, args);