Fix copy of line with len = 0
When a line has no any character linelen is 0, so last = &term.line[y][MIN(lastx, linelen-1)] generated a pointer to the end of the previous line. The best thing we can do in this case is to add a newline, because we don't have a glyph to print (and consult its state of wrapping).
This commit is contained in:
parent
a1ed5071e5
commit
5d2d9d540d
1 changed files with 4 additions and 1 deletions
5
st.c
5
st.c
|
@ -1004,7 +1004,10 @@ getsel(void)
|
||||||
|
|
||||||
/* append every set & selected glyph to the selection */
|
/* append every set & selected glyph to the selection */
|
||||||
for (y = sel.nb.y; y <= sel.ne.y; y++) {
|
for (y = sel.nb.y; y <= sel.ne.y; y++) {
|
||||||
linelen = tlinelen(y);
|
if ((linelen = tlinelen(y)) == 0) {
|
||||||
|
*ptr++ = '\n';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (sel.type == SEL_RECTANGULAR) {
|
if (sel.type == SEL_RECTANGULAR) {
|
||||||
gp = &term.line[y][sel.nb.x];
|
gp = &term.line[y][sel.nb.x];
|
||||||
|
|
Loading…
Reference in a new issue