summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Jones <philj56@gmail.com>2022-07-30 08:15:29 +0100
committerPhil Jones <philj56@gmail.com>2022-07-30 08:15:29 +0100
commit87757b4f0fe9dad041546d0c86a83d918c0aae92 (patch)
tree9ee69ffa3c3aa9cec0b2cfcab19312a5c1f8bb50
parent5555d79d699306e114897ea637f5e38271e1535e (diff)
Improve error message for invalid colours.
-rw-r--r--src/color.c2
-rw-r--r--src/config.c9
2 files changed, 9 insertions, 2 deletions
diff --git a/src/color.c b/src/color.c
index 0ccd5b8..3fd9516 100644
--- a/src/color.c
+++ b/src/color.c
@@ -36,7 +36,7 @@ struct color hex_to_color(const char *hex)
} else if (len == 8) {
val = strtol(hex, NULL, 16);
} else {
- log_error("Invalid hex color %s\n", hex);
+ return (struct color) { -1, -1, -1, -1 };
}
return (struct color) {
diff --git a/src/config.c b/src/config.c
index 9b0fe91..a0e77b2 100644
--- a/src/config.c
+++ b/src/config.c
@@ -399,7 +399,14 @@ uint32_t parse_anchor(const char *filename, size_t lineno, const char *str, bool
struct color parse_color(const char *filename, size_t lineno, const char *str, bool *err)
{
- return hex_to_color(str);
+ struct color color = hex_to_color(str);
+ if (color.r == -1) {
+ PARSE_ERROR(filename, lineno, "Failed to parse \"%s\" as a color.\n", str);
+ if (err) {
+ *err = true;
+ }
+ }
+ return color;
}
uint32_t parse_uint32(const char *filename, size_t lineno, const char *str, bool *err)