aboutsummaryrefslogtreecommitdiff
path: root/common/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/util.c')
-rw-r--r--common/util.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/common/util.c b/common/util.c
index f2302676..73704afd 100644
--- a/common/util.c
+++ b/common/util.c
@@ -102,13 +102,17 @@ pid_t get_parent_pid(pid_t child) {
}
uint32_t parse_color(const char *color) {
+ if (color[0] == '#') {
+ ++color;
+ }
+
int len = strlen(color);
- if (color[0] != '#' || (len != 7 && len != 9)) {
+ if (len != 6 && len != 8) {
sway_log(L_DEBUG, "Invalid color %s, defaulting to color 0xFFFFFFFF", color);
return 0xFFFFFFFF;
}
- uint32_t res = (uint32_t)strtoul(color + 1, NULL, 16);
- if (strlen(color) == 7) {
+ uint32_t res = (uint32_t)strtoul(color, NULL, 16);
+ if (strlen(color) == 6) {
res = (res << 8) | 0xFF;
}
return res;