Signed-off-by: Karel Zak <kzak@redhat.com>
*/
int scols_cell_set_color(struct libscols_cell *ce, const char *color)
{
*/
int scols_cell_set_color(struct libscols_cell *ce, const char *color)
{
- if (color && isalpha(*color)) {
- color = color_sequence_from_colorname(color);
- if (!color)
+ if (color && !color_is_sequence(color)) {
+ char *seq = color_get_sequence(color);
+ if (!seq)
+ free(ce->color);
+ ce->color = seq;
+ return 0;
}
return strdup_to_struct_member(ce, color, color);
}
}
return strdup_to_struct_member(ce, color, color);
}
*/
int scols_column_set_color(struct libscols_column *cl, const char *color)
{
*/
int scols_column_set_color(struct libscols_column *cl, const char *color)
{
- if (color && isalpha(*color)) {
- color = color_sequence_from_colorname(color);
- if (!color)
+ if (color && !color_is_sequence(color)) {
+ char *seq = color_get_sequence(color);
+ if (!seq)
+ free(cl->color);
+ cl->color = seq;
+ return 0;
}
return strdup_to_struct_member(cl, color, color);
}
}
return strdup_to_struct_member(cl, color, color);
}
*/
int scols_line_set_color(struct libscols_line *ln, const char *color)
{
*/
int scols_line_set_color(struct libscols_line *ln, const char *color)
{
- if (color && isalnum(*color)) {
- color = color_sequence_from_colorname(color);
- if (!color)
+ if (color && !color_is_sequence(color)) {
+ char *seq = color_get_sequence(color);
+ if (!seq)
+ free(ln->color);
+ ln->color = seq;
+ return 0;
}
return strdup_to_struct_member(ln, color, color);
}
}
return strdup_to_struct_member(ln, color, color);
}