summaryrefslogtreecommitdiffstats
path: root/common/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/util.c')
-rw-r--r--common/util.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/common/util.c b/common/util.c
index 31a75a9b..86120769 100644
--- a/common/util.c
+++ b/common/util.c
@@ -97,3 +97,16 @@ pid_t get_parent_pid(pid_t child) {
97 97
98 return -1; 98 return -1;
99} 99}
100
101uint32_t parse_color(const char *color) {
102 int len = strlen(color);
103 if (color[0] != '#' || (len != 7 && len != 9)) {
104 sway_log(L_DEBUG, "Invalid color %s, defaulting to color 0xFFFFFFFF", color);
105 return 0xFFFFFFFF;
106 }
107 uint32_t res = (uint32_t)strtol(color + 1, NULL, 16);
108 if (strlen(color) == 7) {
109 res = (res << 8) | 0xFF;
110 }
111 return res;
112}