From e935fd4f88e6fa8fcb06f2d5f4b924eb982151c7 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 19 Apr 2017 16:31:27 +0200
Subject: [PATCH] tweaks: reshuffle a couple of lines to avoid a duplicate call

Trim a superfluous assert too.
---
 src/files.c | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/src/files.c b/src/files.c
index 0ea0fb60..b742f5da 100644
--- a/src/files.c
+++ b/src/files.c
@@ -62,32 +62,29 @@ bool has_valid_path(const char *filename)
     return validity;
 }
 
-/* Add an entry to the circular list of openfile structs. */
+/* Add an item to the circular list of openfile structs. */
 void make_new_buffer(void)
 {
-    if (openfile == NULL) {
-	openfile = make_new_opennode();
+    openfilestruct *newnode = make_new_opennode();
 
+    if (openfile == NULL) {
 	/* Make the first open file the only element in the list. */
-	openfile->prev = openfile;
-	openfile->next = openfile;
+	newnode->prev = newnode;
+	newnode->next = newnode;
     } else {
-	openfilestruct *newnode = make_new_opennode();
-
 	/* Add the new open file after the current one in the list. */
 	newnode->prev = openfile;
 	newnode->next = openfile->next;
 	openfile->next->prev = newnode;
 	openfile->next = newnode;
 
-	/* Make the new file the current one. */
-	openfile = newnode;
-
-	/* There is more than one file open: show Close in help lines. */
+	/* There is more than one file open: show "Close" in help lines. */
 	exitfunc->desc = close_tag;
     }
 
-    /* Start initializing the new buffer. */
+    /* Make the new buffer the current one, and start initializing it. */
+    openfile = newnode;
+
     openfile->filename = mallocstrcpy(NULL, "");
 
     initialize_buffer_text();
@@ -117,11 +114,9 @@ void make_new_buffer(void)
 #endif
 }
 
-/* Initialize the text of the current openfile struct. */
+/* Initialize the text and pointers of the current openfile struct. */
 void initialize_buffer_text(void)
 {
-    assert(openfile != NULL);
-
     openfile->fileage = make_new_node(NULL);
     openfile->fileage->data = mallocstrcpy(NULL, "");
 
-- 
GitLab