Fix typo.
[st.git] / st.c
diff --git a/st.c b/st.c
index 0065240..0558593 100644 (file)
--- a/st.c
+++ b/st.c
@@ -1,4 +1,4 @@
-/* See LICENSE for licence details. */
+/* See LICENSE for license details. */
 #include <ctype.h>
 #include <errno.h>
 #include <fcntl.h>
@@ -944,7 +944,7 @@ getsel(void) {
        ptr = str = xmalloc(bufsize);
 
        /* append every set & selected glyph to the selection */
-       for(y = sel.nb.y; y < sel.ne.y + 1; y++) {
+       for(y = sel.nb.y; y <= sel.ne.y; y++) {
                linelen = tlinelen(y);
 
                if(sel.type == SEL_RECTANGULAR) {
@@ -2769,7 +2769,6 @@ tresize(int col, int row) {
        int i;
        int minrow = MIN(row, term.row);
        int mincol = MIN(col, term.col);
-       int slide = term.c.y - row + 1;
        bool *bp;
        TCursor c;
 
@@ -2779,20 +2778,18 @@ tresize(int col, int row) {
                return;
        }
 
-       /* free unneeded rows */
-       i = 0;
-       if(slide > 0) {
-               /*
-                * slide screen to keep cursor where we expect it -
-                * tscrollup would work here, but we can optimize to
-                * memmove because we're freeing the earlier lines
-                */
-               for(/* i = 0 */; i < slide; i++) {
-                       free(term.line[i]);
-                       free(term.alt[i]);
-               }
-               memmove(term.line, term.line + slide, row * sizeof(Line));
-               memmove(term.alt, term.alt + slide, row * sizeof(Line));
+       /*
+        * slide screen to keep cursor where we expect it -
+        * tscrollup would work here, but we can optimize to
+        * memmove because we're freeing the earlier lines
+        */
+       for(i = 0; i <= term.c.y - row; i++) {
+               free(term.line[i]);
+               free(term.alt[i]);
+       }
+       if(i > 0) {
+               memmove(term.line, term.line + i, row * sizeof(Line));
+               memmove(term.alt, term.alt + i, row * sizeof(Line));
        }
        for(i += row; i < term.row; i++) {
                free(term.line[i]);
@@ -3591,15 +3588,15 @@ xdrawcursor(void) {
                        case 4: /* Steady Underline */
                                XftDrawRect(xw.draw, &dc.col[defaultcs],
                                                borderpx + curx * xw.cw,
-                                               borderpx + (term.c.y + 1) * xw.ch - 1,
-                                               xw.cw, 1);
+                                               borderpx + (term.c.y + 1) * xw.ch - cursorthickness,
+                                               xw.cw, cursorthickness);
                                break;
                        case 5: /* Blinking bar */
                        case 6: /* Steady bar */
                                XftDrawRect(xw.draw, &dc.col[defaultcs],
-                                                               borderpx + curx * xw.cw,
-                                                               borderpx + term.c.y * xw.ch,
-                                                               1, xw.ch);
+                                               borderpx + curx * xw.cw,
+                                               borderpx + term.c.y * xw.ch,
+                                               cursorthickness, xw.ch);
                                break;
                }
        } else {
@@ -3917,17 +3914,13 @@ run(void) {
        long deltatime;
 
        /* Waiting for window mapping */
-       while(1) {
+       do {
                XNextEvent(xw.dpy, &ev);
-               if(XFilterEvent(&ev, None))
-                       continue;
                if(ev.type == ConfigureNotify) {
                        w = ev.xconfigure.width;
                        h = ev.xconfigure.height;
-               } else if(ev.type == MapNotify) {
-                       break;
                }
-       }
+       } while(ev.type != MapNotify);
 
        ttynew();
        cresize(w, h);
@@ -4072,7 +4065,7 @@ main(int argc, char *argv[]) {
 run:
        setlocale(LC_CTYPE, "");
        XSetLocaleModifiers("");
-       tnew(cols? cols : 1, rows? rows : 1);
+       tnew(MAX(cols, 1), MAX(rows, 1));
        xinit();
        selinit();
        run();