selsnap: simplify SNAP_LINE case
authornoname <noname@inventati.org>
Fri, 1 May 2015 02:22:32 +0000 (02:22 +0000)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Mon, 4 May 2015 09:41:55 +0000 (11:41 +0200)
Also make sure y never exceeds term.row-1 even if ATTR_WRAP is set for
some reason.

st.c

diff --git a/st.c b/st.c
index 87f3ed2..789e795 100644 (file)
--- a/st.c
+++ b/st.c
@@ -772,15 +772,15 @@ selsnap(int *x, int *y, int direction) {
                 * previous line will be selected.
                 */
                *x = (direction < 0) ? 0 : term.col - 1;
-               if(direction < 0 && *y > 0) {
+               if(direction < 0) {
                        for(; *y > 0; *y += direction) {
                                if(!(term.line[*y-1][term.col-1].mode
                                                & ATTR_WRAP)) {
                                        break;
                                }
                        }
-               } else if(direction > 0 && *y < term.row-1) {
-                       for(; *y < term.row; *y += direction) {
+               } else if(direction > 0) {
+                       for(; *y < term.row-1; *y += direction) {
                                if(!(term.line[*y][term.col-1].mode
                                                & ATTR_WRAP)) {
                                        break;