common: use strtoul in parse_color to avoid clamp

Some implementations of strtol may clamp the values to LONG_MAX instead of
wrapping around to negative values, so use strtoul instead to parse colors.
master
progandy 8 years ago
parent 5ec70458e5
commit bf4056a2c6

@ -104,7 +104,7 @@ uint32_t parse_color(const char *color) {
sway_log(L_DEBUG, "Invalid color %s, defaulting to color 0xFFFFFFFF", color); sway_log(L_DEBUG, "Invalid color %s, defaulting to color 0xFFFFFFFF", color);
return 0xFFFFFFFF; return 0xFFFFFFFF;
} }
uint32_t res = (uint32_t)strtol(color + 1, NULL, 16); uint32_t res = (uint32_t)strtoul(color + 1, NULL, 16);
if (strlen(color) == 7) { if (strlen(color) == 7) {
res = (res << 8) | 0xFF; res = (res << 8) | 0xFF;
} }

Loading…
Cancel
Save