mirror of
https://github.com/tmux/tmux.git
synced 2025-01-05 23:38:48 +00:00
A little tidying in style_parse.
This commit is contained in:
parent
13f9a061ac
commit
0425e3178d
31
style.c
31
style.c
@ -39,23 +39,22 @@ static struct style style_default = {
|
||||
int
|
||||
style_parse(struct style *sy, const struct grid_cell *base, const char *in)
|
||||
{
|
||||
struct grid_cell *gc = &sy->gc;
|
||||
struct grid_cell saved;
|
||||
const char delimiters[] = " ,";
|
||||
char tmp[32];
|
||||
int value, fg, bg, attr, flags;
|
||||
size_t end;
|
||||
struct style saved;
|
||||
const char delimiters[] = " ,";
|
||||
char tmp[32];
|
||||
int value, fg, bg, attr, flags;
|
||||
size_t end;
|
||||
|
||||
if (*in == '\0')
|
||||
return (0);
|
||||
if (strchr(delimiters, in[strlen(in) - 1]) != NULL)
|
||||
return (-1);
|
||||
memcpy(&saved, base, sizeof saved);
|
||||
style_copy(&saved, sy);
|
||||
|
||||
fg = gc->fg;
|
||||
bg = gc->bg;
|
||||
attr = gc->attr;
|
||||
flags = gc->flags;
|
||||
fg = sy->gc.fg;
|
||||
bg = sy->gc.bg;
|
||||
attr = sy->gc.attr;
|
||||
flags = sy->gc.flags;
|
||||
|
||||
do {
|
||||
end = strcspn(in, delimiters);
|
||||
@ -99,15 +98,15 @@ style_parse(struct style *sy, const struct grid_cell *base, const char *in)
|
||||
in += end + strspn(in + end, delimiters);
|
||||
} while (*in != '\0');
|
||||
|
||||
gc->fg = fg;
|
||||
gc->bg = bg;
|
||||
gc->attr = attr;
|
||||
gc->flags = flags;
|
||||
sy->gc.fg = fg;
|
||||
sy->gc.bg = bg;
|
||||
sy->gc.attr = attr;
|
||||
sy->gc.flags = flags;
|
||||
|
||||
return (0);
|
||||
|
||||
error:
|
||||
memcpy(gc, &saved, sizeof *gc);
|
||||
style_copy(sy, &saved);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user