commit 5834638d53f8c0f400266618d5f195ed06b9589f
parent a64bfbee8bf4647c2a8f6d14bf271d259209bc86
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Tue, 8 Dec 2015 18:54:13 +0000
It shouldn't be necessary to doubly check for being at the end of file.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5492 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git 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
@@ -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
@@ -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;