aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfg.c4
-rw-r--r--evaluator.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/cfg.c b/cfg.c
index 6635911..c3c8338 100644
--- a/cfg.c
+++ b/cfg.c
@@ -413,13 +413,13 @@ int cfg_number(const char *section, const char *key, const int defval, const int
DelResult(&result);
if (*value < min) {
- error("bad '%s' value '%d' in %s, minimum is %d", key, *value, cfg_source(), min);
+ error("bad '%s.%s' value '%d' in %s, minimum is %d", section, key, *value, cfg_source(), min);
*value = min;
return -1;
}
if (max > min && max != -1 && *value > max) {
- error("bad '%s' value '%d' in %s, maximum is %d", key, *value, cfg_source(), max);
+ error("bad '%s.%s' value '%d' in %s, maximum is %d", section, key, *value, cfg_source(), max);
*value = max;
return -1;
}
diff --git a/evaluator.c b/evaluator.c
index c4c46a5..e2b103f 100644
--- a/evaluator.c
+++ b/evaluator.c
@@ -310,6 +310,10 @@ double R2N(RESULT * result)
return 0.0;
}
+ if (result->type == 0) {
+ return 0.0;
+ }
+
if (result->type & R_NUMBER) {
return result->number;
}
@@ -332,6 +336,10 @@ char *R2S(RESULT * result)
return NULL;
}
+ if (result->type == 0) {
+ return NULL;
+ }
+
if (result->type & R_STRING) {
return result->string;
}