stardis-green

Post-processing of green functions
git clone git://git.meso-star.fr/stardis-green.git
Log | Files | Refs | README | LICENSE

commit 0c5bea55147d0d9bfd3418493c2c1a337626569f
parent ed683d34c04acd7e9ad564a7ed8ca09bfc7df9be
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Wed, 23 Sep 2020 11:23:04 +0200

Improve a warning output

Diffstat:
Msrc/green-compute.c | 18+++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/green-compute.c b/src/green-compute.c @@ -257,6 +257,7 @@ parse_line char* tok_ctx = NULL; const struct str* keep_line = darray_str_cdata_get(&green->settings) + idx; struct str line; + int unused = 0, same = 0; ASSERT(file_name && green); @@ -268,6 +269,7 @@ parse_line /* At least one name=value, no name without value */ for(;;) { struct variable_data* vd; + double prev; tk = strtok_r(name_count ? NULL : str_get(&line), "=", &tok_ctx); if(tk) { char* c; @@ -302,13 +304,23 @@ parse_line goto error; } logger_print(green->logger, LOG_WARNING, - "In file '%s': attempt to change unused variable '%s':\n", - file_name, str_cget(&name)); - logger_print(green->logger, LOG_WARNING, "%s\n", str_cget(keep_line)); + "Attempt to change unused variable '%s'.\n", str_cget(&name)); + unused = 1; } + prev = ((double*)settings)[vd->idx]; ERR(cstr_to_double(tk, ((double*)settings) + vd->idx)); + if(prev == ((double*)settings)[vd->idx]) { + logger_print(green->logger, LOG_WARNING, + "Change variable '%s' to its default value %g.\n", + str_cget(&name), prev); + same = 1; + } name_count++; } + if(unused || same) + logger_print(green->logger, LOG_WARNING, + "In file '%s':\n\t%s\n", + file_name, str_cget(keep_line)); end: str_release(&line);