commit 63c74bc5beaac89c62b90ca2f18780649954b5d2
parent 9ca7a045b04e5a977788ffeb2088ce4255da9255
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Thu, 15 Sep 2022 10:00:47 +0200
Add specific error codes for H+F bounds
Diffstat:
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/stardis-app.c b/src/stardis-app.c
@@ -604,9 +604,7 @@ validate_properties
}
break;
case DESC_BOUND_H_FOR_SOLID:
- case DESC_BOUND_HF_FOR_SOLID: /* FIXME: need specific error codes? */
case DESC_BOUND_H_FOR_SOLID_PROG:
- case DESC_BOUND_HF_FOR_SOLID_PROG: /* FIXME: need specific error codes? */
if(!(solid_count == 1 && fluid_count == 0)) {
if(solid_count + fluid_count == 2)
*properties_conflict_status = BOUND_H_FOR_SOLID_BETWEEN_2_DEFS;
@@ -618,6 +616,19 @@ validate_properties
goto end;
}
break;
+ case DESC_BOUND_HF_FOR_SOLID:
+ case DESC_BOUND_HF_FOR_SOLID_PROG:
+ if(!(solid_count == 1 && fluid_count == 0)) {
+ if(solid_count + fluid_count == 2)
+ *properties_conflict_status = BOUND_HF_FOR_SOLID_BETWEEN_2_DEFS;
+ else if(solid_count + fluid_count == 0)
+ *properties_conflict_status = BOUND_HF_FOR_SOLID_BETWEEN_2_UNDEFS;
+ else if(fluid_count == 1)
+ *properties_conflict_status = BOUND_HF_FOR_SOLID_ENCLOSING_FLUID;
+ else FATAL("error:" STR(__FILE__) ":" STR(__LINE__)"\n");
+ goto end;
+ }
+ break;
case DESC_BOUND_T_FOR_SOLID:
case DESC_BOUND_T_FOR_SOLID_PROG:
if(!(solid_count == 1 && fluid_count == 0)) {
diff --git a/src/stardis-app.h b/src/stardis-app.h
@@ -65,6 +65,9 @@ enum properties_conflict_t {
BOUND_H_FOR_SOLID_BETWEEN_2_DEFS,
BOUND_H_FOR_SOLID_BETWEEN_2_UNDEFS,
BOUND_H_FOR_SOLID_ENCLOSING_FLUID,
+ BOUND_HF_FOR_SOLID_BETWEEN_2_DEFS,
+ BOUND_HF_FOR_SOLID_BETWEEN_2_UNDEFS,
+ BOUND_HF_FOR_SOLID_ENCLOSING_FLUID,
BOUND_T_FOR_SOLID_BETWEEN_2_DEFS,
BOUND_T_FOR_SOLID_BETWEEN_2_UNDEFS,
BOUND_T_FOR_SOLID_ENCLOSING_FLUID,