Browse Source

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).
master
Roberto E. Vargas Caballero 9 years ago
parent
commit
5d2d9d540d
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      st.c

+ 4
- 1
st.c View File

@ -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…
Cancel
Save