tCorrect shift amount on MODE_INSERT in tputc() - st - [fork] customized build … | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit aba6c292af347588b9c2f5d1a400a6270b5a447f | |
parent 4d14d97547d335974e98aa612ac5b4fcfc25e1d9 | |
Author: Rian Hunter <[email protected]> | |
Date: Thu, 29 Jan 2015 15:00:39 -0800 | |
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. | |
Diffstat: | |
M st.c | 4 ++-- | |
1 file changed, 2 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -2676,8 +2676,8 @@ tputc(char *c, int len) { | |
gp = &term.line[term.c.y][term.c.x]; | |
} | |
- if(IS_SET(MODE_INSERT) && term.c.x+1 < term.col) | |
- memmove(gp+1, gp, (term.col - term.c.x - 1) * sizeof(Glyph)); | |
+ if(IS_SET(MODE_INSERT) && term.c.x+width < term.col) | |
+ memmove(gp+width, gp, (term.col - term.c.x - width) * sizeof(G… | |
if(term.c.x+width > term.col) { | |
tnewline(1); |