diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2019-03-14 10:19:53 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2019-03-14 10:19:53 +0000 |
commit | 954cc22390291085279964ab6020c0d56d74babc (patch) | |
tree | 113afffbcea1c049eabd0f1548491dcf95870dc8 | |
parent | 04e3f7b6162f213f7635439d358717bff4f82bea (diff) |
A little tidying in style_parse.
-rw-r--r-- | usr.bin/tmux/style.c | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/usr.bin/tmux/style.c b/usr.bin/tmux/style.c index b28883fb50c..6c7b083c382 100644 --- a/usr.bin/tmux/style.c +++ b/usr.bin/tmux/style.c @@ -1,4 +1,4 @@ -/* $OpenBSD: style.c,v 1.15 2019/03/14 09:53:52 nicm Exp $ */ +/* $OpenBSD: style.c,v 1.16 2019/03/14 10:19:52 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -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); } |