From 344fe558b6937880f298ecfdc97cd089803d747e Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 23 Mar 2016 20:04:33 +0000
Subject: [PATCH] Tidying up and renaming a variable.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5764 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog   |  1 +
 src/winio.c | 16 +++++++++-------
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index bc01ede1..1375f1e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,7 @@
 	* src/search.c (findnextstr): Poll the keyboard once per second.
 	* src/winio.c (reset_cursor): Remove a pointless condition, and make
 	use of an existing intermediary variable.
+	* src/winio.c (reset_cursor): Tidy up and rename a variable.
 
 2016-03-22  Thomas Rosenau  <thomasr@fantasymail.de>
 	* configure.ac, src/*.c: Check for the existence of the REG_ENHANCED
diff --git a/src/winio.c b/src/winio.c
index c18ac537..a257405c 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -2270,28 +2270,30 @@ void onekey(const char *keystroke, const char *desc, size_t len)
     }
 }
 
-/* Reset current_y, based on the position of current, and put the cursor
- * in the edit window at (current_y, current_x). */
+/* Redetermine current_y from the position of current relative to edittop,
+ * and put the cursor in the edit window at (current_y, current_x). */
 void reset_cursor(void)
 {
     size_t xpt = xplustabs();
 
 #ifndef NANO_TINY
     if (ISSET(SOFTWRAP)) {
-	filestruct *tmp;
+	filestruct *line = openfile->edittop;
 	openfile->current_y = 0;
 
-	for (tmp = openfile->edittop; tmp && tmp != openfile->current; tmp = tmp->next)
-	    openfile->current_y += (strlenpt(tmp->data) / COLS) + 1;
-
+	while (line != NULL && line != openfile->current) {
+	    openfile->current_y += strlenpt(line->data) / COLS + 1;
+	    line = line->next;
+	}
 	openfile->current_y += xpt / COLS;
+
 	if (openfile->current_y < editwinrows)
 	    wmove(edit, openfile->current_y, xpt % COLS);
     } else
 #endif
     {
 	openfile->current_y = openfile->current->lineno -
-	    openfile->edittop->lineno;
+				openfile->edittop->lineno;
 
 	if (openfile->current_y < editwinrows)
 	    wmove(edit, openfile->current_y, xpt - get_page_start(xpt));
-- 
GitLab