GUACAMOLE-470: Support named colors in color-scheme configuration.

When parsing named colors, treat semi-colons as string terminators, so
we can properly parse named colors within the color-scheme
configuration.
This commit is contained in:
Jim Chen 2018-08-23 23:36:26 -04:00
parent 427c4c8b44
commit eb5aa14a6f

View File

@ -761,8 +761,13 @@ static int guac_terminal_named_color_search(const void* a, const void* b) {
/* Skip any spaces in key (name will never have spaces) */ /* Skip any spaces in key (name will never have spaces) */
while (*key && isspace(*key)) key++; while (*key && isspace(*key)) key++;
/* Treat semi-colon as string terminator, to support parsing color
names within a larger string (e.g. within the terminal color-scheme
configuration string). */
const int keyChar = (*key == ';') ? '\0' : tolower(*key);
/* Compare, ignoring case (name is already known to be lowercase) */ /* Compare, ignoring case (name is already known to be lowercase) */
int difference = tolower(*key) - *name; int difference = keyChar - *name;
if (difference) if (difference)
return difference; return difference;