commit 08e5eea5b618f4fe7d3dd973f232f3adf858291e
parent 17b46f04dadecbdb990b714549053b6868cb86ec
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Tue, 27 Oct 2015 16:57:32 +0000
Not calculating the line length twice.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5374 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,6 +1,8 @@
2015-10-27 Benno Schulenberg <bensberg@justemail.net>
* src/move.c (do_next_word): Rewrite this function to use the same
logic as do_prev_word(), reducing its number of lines to half.
+ * src/move.c (do_down): Don't calculate the line length twice. And
+ in the bargain avoid a warning about comparison of signed/unsigned.
2015-09-05 Benno Schulenberg <bensberg@justemail.net>
* src/winio.c (display_string, edit_draw): Force a redraw of a line
diff --git a/src/move.c b/src/move.c
@@ -478,11 +478,11 @@ void do_down(
topline = openfile->edittop;
/* Reduce the amount when there are overlong lines at the top. */
for (enough = 1; enough < amount; enough++) {
- if (amount <= strlenpt(topline->data) / COLS) {
+ amount -= strlenpt(topline->data) / COLS;
+ if (amount <= 0) {
amount = enough;
break;
}
- amount -= strlenpt(topline->data) / COLS;
topline = topline->next;
}
}