diff --git a/ChangeLog b/ChangeLog index d514f9a8549a6148b69f9ea3d2ffe21b45245600..9c9b04ad84ddee33e3c835647e9fcec1819bbac3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,8 @@ 2015-12-08 Benno Schulenberg <bensberg@justemail.net> * src/nano.c (splice_node, unlink_node): Let these functions update 'filebot', instead of doing it in four different places each. + * src/search.c (goto_line_posx), src/move (do_down): It should not + be necessary to doubly check for being at the end of file. 2015-12-07 Benno Schulenberg <bensberg@justemail.net> * src/winio.c (edit_draw): Quit the loop when there is no end match. diff --git a/src/move.c b/src/move.c index 9735bf53ce6dfbfb588e66926355fa4748079368..82d1e301f91bb413213de734ffca160b916bda80 100644 --- a/src/move.c +++ b/src/move.c @@ -460,10 +460,12 @@ void do_down( #endif /* If we're at the bottom of the file, get out. */ - if (openfile->current == openfile->filebot || !openfile->current->next) + if (openfile->current == openfile->filebot) return; - assert(ISSET(SOFTWRAP) || openfile->current_y == openfile->current->lineno - openfile->edittop->lineno); + assert(ISSET(SOFTWRAP) || openfile->current_y == + openfile->current->lineno - openfile->edittop->lineno); + assert(openfile->current->next != NULL); /* Move the current line of the edit window down. */ openfile->current = openfile->current->next; diff --git a/src/search.c b/src/search.c index dea199daa26a167cb6f4497d79a88f92cdc35b4d..f4769cdef0ceb8293a462208bb9350e3d0faecdf 100644 --- a/src/search.c +++ b/src/search.c @@ -936,8 +936,8 @@ void do_replace(void) /* Go to the specified line and x position. */ void goto_line_posx(ssize_t line, size_t pos_x) { - for (openfile->current = openfile->fileage; openfile->current != openfile->filebot && - openfile->current->next != NULL && line > 1; line--) + for (openfile->current = openfile->fileage; line > 1 && + openfile->current != openfile->filebot; line--) openfile->current = openfile->current->next; openfile->current_x = pos_x;