Correct shift amount on MODE_INSERT in tputc()
When MODE_INSERT is set we'd shift characters on the same line forward before inserting our character in tputc(). This did not account for wide characters where width != 1. This patch makes it so we shift the correct amount.
This commit is contained in:
parent
4d14d97547
commit
aba6c292af
1 changed files with 2 additions and 2 deletions
4
st.c
4
st.c
|
@ -2676,8 +2676,8 @@ tputc(char *c, int len) {
|
||||||
gp = &term.line[term.c.y][term.c.x];
|
gp = &term.line[term.c.y][term.c.x];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(IS_SET(MODE_INSERT) && term.c.x+1 < term.col)
|
if(IS_SET(MODE_INSERT) && term.c.x+width < term.col)
|
||||||
memmove(gp+1, gp, (term.col - term.c.x - 1) * sizeof(Glyph));
|
memmove(gp+width, gp, (term.col - term.c.x - width) * sizeof(Glyph));
|
||||||
|
|
||||||
if(term.c.x+width > term.col) {
|
if(term.c.x+width > term.col) {
|
||||||
tnewline(1);
|
tnewline(1);
|
||||||
|
|
Loading…
Reference in a new issue