diff options
author | Thomas Adam <thomas@xteddy.org> | 2018-11-12 16:02:37 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2018-11-12 16:02:37 +0000 |
commit | 3c6cdf0115e9dc824d6c115a498a0aedea3e88fc (patch) | |
tree | 43a5470432de72d475a95f48c36651f407f45b4a | |
parent | 849d06c0dfadfa5d4a194fd7ce660ac8a5d9e9e7 (diff) | |
parent | 86e648d906d84b8b0522e3d8d6ec6baa171c2423 (diff) | |
download | rtmux-3c6cdf0115e9dc824d6c115a498a0aedea3e88fc.tar.gz rtmux-3c6cdf0115e9dc824d6c115a498a0aedea3e88fc.tar.bz2 rtmux-3c6cdf0115e9dc824d6c115a498a0aedea3e88fc.zip |
Merge branch 'obsd-master'
-rw-r--r-- | mode-tree.c | 4 | ||||
-rw-r--r-- | screen-write.c | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/mode-tree.c b/mode-tree.c index 2e4b9072..eb18bdf7 100644 --- a/mode-tree.c +++ b/mode-tree.c @@ -582,10 +582,10 @@ mode_tree_draw(struct mode_tree_data *mtd) } if (i != mtd->current) { - screen_write_nputs(&ctx, w, &gc0, "%s", text); + screen_write_cnputs(&ctx, w, &gc0, "%s", text); screen_write_clearendofline(&ctx, 8); } else { - screen_write_nputs(&ctx, w, &gc, "%s", text); + screen_write_cnputs(&ctx, w, &gc, "%s", text); screen_write_clearendofline(&ctx, gc.bg); } free(text); diff --git a/screen-write.c b/screen-write.c index 00994e48..c65ae688 100644 --- a/screen-write.c +++ b/screen-write.c @@ -350,7 +350,6 @@ screen_write_cnputs(struct screen_write_ctx *ctx, ssize_t maxlen, ptr = last + 1; continue; } - if (*ptr > 0x7f && utf8_open(ud, *ptr) == UTF8_MORE) { ptr++; @@ -376,7 +375,9 @@ screen_write_cnputs(struct screen_write_ctx *ctx, ssize_t maxlen, if (maxlen > 0 && size + 1 > (size_t)maxlen) break; - if (*ptr > 0x1f && *ptr < 0x7f) { + if (*ptr == '\001') + gc.attr ^= GRID_ATTR_CHARSET; + else if (*ptr > 0x1f && *ptr < 0x7f) { size++; screen_write_putc(ctx, &gc, *ptr); } |