commit 7f7933e72848b2c720a1aa6619ba65297abefd3d
parent 1f5374da723e4ded7ac868975bdbd01b6057437c
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Thu, 6 Mar 2025 17:18:42 +0100
Fix a regression in previous commits
Transforming lot of if/else into a switch was invalid and caused a
crash in the default case.
Reverted to if/else.
Diffstat:
1 file changed, 12 insertions(+), 22 deletions(-)
diff --git a/src/stardis-compute.c b/src/stardis-compute.c
@@ -1135,38 +1135,28 @@ stardis_compute
ASSERT(stardis && start && (stardis->mode & COMPUTE_MODES));
/* Compute */
- switch(stardis->mode) {
- case MODE_COMPUTE_PROBE_TEMP_ON_VOL:
+ if(stardis->mode & MODE_COMPUTE_PROBE_TEMP_ON_VOL) {
ERR(compute_probe(stardis, start));
- break;
- case MODE_COMPUTE_PROBE_TEMP_ON_SURF:
+ } else if(stardis->mode & MODE_COMPUTE_PROBE_TEMP_ON_SURF) {
ERR(compute_probe_on_interface(stardis, start));
- break;
- case MODE_COMPUTE_LIST_PROBE_TEMP_ON_SURF:
+ } else if(stardis->mode & MODE_COMPUTE_LIST_PROBE_TEMP_ON_SURF) {
ERR(compute_probe_on_interface(stardis, start));
- break;
- case MODE_COMPUTE_LIST_PROBE_FLUX_DNSTY_ON_SURF:
+ } else if(stardis->mode & MODE_COMPUTE_LIST_PROBE_FLUX_DNSTY_ON_SURF) {
ERR(compute_probe_on_interface(stardis, start));
- break;
- case MODE_COMPUTE_PROBE_FLUX_DNSTY_ON_SURF:
+ } else if(stardis->mode & MODE_COMPUTE_PROBE_FLUX_DNSTY_ON_SURF) {
ERR(compute_probe_on_interface(stardis, start));
- break;
- case MODE_COMPUTE_IMAGE_IR:
+ } else if(stardis->mode & MODE_COMPUTE_IMAGE_IR) {
ERR(compute_camera(stardis, start));
- break;
- case MODE_COMPUTE_TEMP_MEAN_IN_MEDIUM:
+ } else if(stardis->mode & MODE_COMPUTE_TEMP_MEAN_IN_MEDIUM) {
ERR(compute_medium(stardis, start));
- break;
- case MODE_COMPUTE_TEMP_MEAN_ON_SURF:
+ } else if(stardis->mode & MODE_COMPUTE_TEMP_MEAN_ON_SURF) {
ERR(compute_boundary(stardis, start));
- break;
- case MODE_COMPUTE_FLUX_THROUGH_SURF:
+ } else if(stardis->mode & MODE_COMPUTE_FLUX_THROUGH_SURF) {
ERR(compute_flux_boundary(stardis, start));
- break;
- case MODE_COMPUTE_TEMP_MAP_ON_SURF:
+ } else if(stardis->mode & MODE_COMPUTE_TEMP_MAP_ON_SURF) {
ERR(compute_map(stardis, start));
- break;
- default: FATAL("Unknown mode.\n");
+ } else {
+ FATAL("Unknown mode.\n");
}
end: