Fix copy of line with len = 0
[st.git] / st.c
diff --git a/st.c b/st.c
index 7804316..bd8b815 100644 (file)
--- a/st.c
+++ b/st.c
@@ -1004,7 +1004,10 @@ getsel(void)
 
        /* append every set & selected glyph to the selection */
        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) {
                        gp = &term.line[y][sel.nb.x];
@@ -4315,7 +4318,7 @@ main(int argc, char *argv[])
 
        xw.l = xw.t = 0;
        xw.isfixed = False;
-       xw.cursor = 0;
+       xw.cursor = cursorshape;
 
        ARGBEGIN {
        case 'a':