stardis

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

commit a95170bcd9c605c9b1188ca987d5e249a2c9229c
parent a63a3641bf9dd955d6bc999e6f3b5acf3da5c5cf
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Thu,  9 Apr 2020 11:40:33 +0200

Fix name duplicate detection

Diffstat:
Msrc/stardis-parsing.c | 26+++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/src/stardis-parsing.c b/src/stardis-parsing.c @@ -955,7 +955,9 @@ process_h CHK_TOK(strtok_r(NULL, " ", tok_ctx), "h boundary name"); ERR(str_set(&desc->d.h_boundary.name, tk)); - if (find_description_by_name(stardis, &desc->d.h_boundary.name, NULL)) { + if (find_description_by_name(stardis, &desc->d.h_boundary.name, NULL) + != desc) + { logger_print(stardis->logger, LOG_ERROR, "Name already used: %s\n", tk); if (res == RES_OK) res = RES_BAD_ARG; @@ -1036,7 +1038,9 @@ process_t CHK_TOK(strtok_r(NULL, " ", tok_ctx), "temperature boundary name"); ERR(str_set(&desc->d.t_boundary.name, tk)); - if (find_description_by_name(stardis, &desc->d.t_boundary.name, NULL)) { + if (find_description_by_name(stardis, &desc->d.t_boundary.name, NULL) + != desc) + { logger_print(stardis->logger, LOG_ERROR, "Name already used: %s\n", tk); if (res == RES_OK) res = RES_BAD_ARG; @@ -1117,7 +1121,9 @@ process_flx CHK_TOK(strtok_r(NULL, " ", tok_ctx), "flux boundary name"); ERR(str_set(&desc->d.f_boundary.name, tk)); - if (find_description_by_name(stardis, &desc->d.f_boundary.name, NULL)) { + if (find_description_by_name(stardis, &desc->d.f_boundary.name, NULL) + != desc) + { logger_print(stardis->logger, LOG_ERROR, "Name already used: %s\n", tk); if (res == RES_OK) res = RES_BAD_ARG; @@ -1163,9 +1169,11 @@ process_sfc connection_id = (unsigned)sz; desc->type = DESC_SOLID_FLUID_CONNECT; - CHK_TOK(strtok_r(NULL, " ", tok_ctx), "connection name"); + CHK_TOK(strtok_r(NULL, " ", tok_ctx), "solid fluid connection name"); ERR(str_set(&desc->d.sf_connect.name, tk)); - if (find_description_by_name(stardis, &desc->d.sf_connect.name, NULL)) { + if (find_description_by_name(stardis, &desc->d.sf_connect.name, NULL) + != desc) + { logger_print(stardis->logger, LOG_ERROR, "Name already used: %s\n", tk); if (res == RES_OK) res = RES_BAD_ARG; @@ -1235,7 +1243,9 @@ process_solid CHK_TOK(strtok_r(NULL, " ", tok_ctx), "solid name"); ERR(str_set(&desc->d.solid.name, tk)); - if (find_description_by_name(stardis, &desc->d.solid.name, NULL)) { + if (find_description_by_name(stardis, &desc->d.solid.name, NULL) + != desc) + { logger_print(stardis->logger, LOG_ERROR, "Name already used: %s\n", tk); if (res == RES_OK) res = RES_BAD_ARG; @@ -1327,7 +1337,9 @@ process_fluid CHK_TOK(strtok_r(NULL, " ", tok_ctx), "fluid name"); ERR(str_set(&desc->d.fluid.name, tk)); - if (find_description_by_name(stardis, &desc->d.fluid.name, NULL)) { + if (find_description_by_name(stardis, &desc->d.fluid.name, NULL) + != desc) + { logger_print(stardis->logger, LOG_ERROR, "Name already used: %s\n", tk); if (res == RES_OK) res = RES_BAD_ARG;