diff options
Diffstat (limited to 'common/util.c')
-rw-r--r-- | common/util.c | 10 |
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; |