aboutsummaryrefslogtreecommitdiff
path: root/screen-write.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-03-14 12:02:41 +0000
committerThomas Adam <thomas@xteddy.org>2019-03-14 12:02:41 +0000
commit0b32fa81b6eb1cec4acb3ac78ffb227e6c78e0fb (patch)
treef45ada939fcb8858d5e85dcf12b0e652cfc709c3 /screen-write.c
parentf33d2ab29ec62fc6c918f5927b9b680dc54fc3c6 (diff)
parent0425e3178d2f7cc0d33cd9aa8ed74b096b31727e (diff)
downloadrtmux-0b32fa81b6eb1cec4acb3ac78ffb227e6c78e0fb.tar.gz
rtmux-0b32fa81b6eb1cec4acb3ac78ffb227e6c78e0fb.tar.bz2
rtmux-0b32fa81b6eb1cec4acb3ac78ffb227e6c78e0fb.zip
Merge branch 'obsd-master'
Diffstat (limited to 'screen-write.c')
-rw-r--r--screen-write.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/screen-write.c b/screen-write.c
index 9153ad27..eb12474d 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -327,15 +327,15 @@ void
screen_write_cnputs(struct screen_write_ctx *ctx, ssize_t maxlen,
const struct grid_cell *gcp, const char *fmt, ...)
{
- struct grid_cell gc;
- struct utf8_data *ud = &gc.data;
+ struct style sy;
+ struct utf8_data *ud = &sy.gc.data;
va_list ap;
char *msg;
u_char *ptr, *last;
size_t left, size = 0;
enum utf8_state more;
- memcpy(&gc, gcp, sizeof gc);
+ style_set(&sy, gcp);
va_start(ap, fmt);
xvasprintf(&msg, fmt, ap);
@@ -352,7 +352,7 @@ screen_write_cnputs(struct screen_write_ctx *ctx, ssize_t maxlen,
}
*last = '\0';
- style_parse(gcp, &gc, ptr);
+ style_parse(&sy, gcp, ptr);
ptr = last + 1;
continue;
}
@@ -370,22 +370,22 @@ screen_write_cnputs(struct screen_write_ctx *ctx, ssize_t maxlen,
continue;
if (maxlen > 0 && size + ud->width > (size_t)maxlen) {
while (size < (size_t)maxlen) {
- screen_write_putc(ctx, &gc, ' ');
+ screen_write_putc(ctx, &sy.gc, ' ');
size++;
}
break;
}
size += ud->width;
- screen_write_cell(ctx, &gc);
+ screen_write_cell(ctx, &sy.gc);
} else {
if (maxlen > 0 && size + 1 > (size_t)maxlen)
break;
if (*ptr == '\001')
- gc.attr ^= GRID_ATTR_CHARSET;
+ sy.gc.attr ^= GRID_ATTR_CHARSET;
else if (*ptr > 0x1f && *ptr < 0x7f) {
size++;
- screen_write_putc(ctx, &gc, *ptr);
+ screen_write_putc(ctx, &sy.gc, *ptr);
}
ptr++;
}