diff --git a/ChangeLog b/ChangeLog index a92ddb0c89fb8b629db6ff1705f4389799def588..9c19c97569b060f7a569650b7e73010698b7ff83 100644 --- 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 index f8d53405fe700ba2793bfc648894457a44f2d4a2..9735bf53ce6dfbfb588e66926355fa4748079368 100644 --- 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; } }