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:
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);