From f4f995455624835da43a9590fcaf97d2696e51f9 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Mon, 22 Feb 2016 09:02:58 +0000 Subject: [PATCH] Eliding the function free_openfilestruct() as it is used only once. (Note that openfile cannot be NULL here. And in case it is, nano should crash because DEBUG is enabled.) git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5658 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 3 +++ src/global.c | 7 +++++-- src/nano.c | 18 +----------------- src/proto.h | 3 --- 4 files changed, 9 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index 961aa996..31676ccf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2016-02-22 Benno Schulenberg + * src/nano.c (free_openfilestruct): Elide this function. + 2016-02-21 Benno Schulenberg * src/files.c (input_tab): If the first Tab added the part that all matches have in common, don't require a third Tab to show the list. diff --git a/src/global.c b/src/global.c index 1dfd35d9..35d8c518 100644 --- a/src/global.c +++ b/src/global.c @@ -1659,8 +1659,11 @@ void thanks_for_all_the_fish(void) free_filestruct(jusbuffer); #endif /* Free the memory associated with each open file buffer. */ - if (openfile != NULL) - free_openfilestruct(openfile); + while (openfile != openfile->next) { + openfile = openfile->next; + delete_opennode(openfile->prev); + } + delete_opennode(openfile); #ifndef DISABLE_COLOR free(syntaxstr); while (syntaxes != NULL) { diff --git a/src/nano.c b/src/nano.c index 84e0e369..8102d40f 100644 --- a/src/nano.c +++ b/src/nano.c @@ -551,7 +551,7 @@ void unlink_opennode(openfilestruct *fileptr) delete_opennode(fileptr); } -/* Delete a node from the openfilestruct. */ +/* Free all the memory in the given open-file node. */ void delete_opennode(openfilestruct *fileptr) { assert(fileptr != NULL && fileptr->filename != NULL && fileptr->fileage != NULL); @@ -567,22 +567,6 @@ void delete_opennode(openfilestruct *fileptr) free(fileptr); } -#ifdef DEBUG -/* Deallocate all memory associated with this and later files, including - * the lines of text. */ -void free_openfilestruct(openfilestruct *src) -{ - assert(src != NULL); - - while (src != src->next) { - src = src->next; - delete_opennode(src->prev); - } - - delete_opennode(src); -} -#endif - /* Display a warning about a key disabled in view mode. */ void print_view_warning(void) { diff --git a/src/proto.h b/src/proto.h index 864e5e89..a3ff103d 100644 --- a/src/proto.h +++ b/src/proto.h @@ -451,9 +451,6 @@ void splice_opennode(openfilestruct *begin, openfilestruct *newnode, openfilestruct *end); void unlink_opennode(openfilestruct *fileptr); void delete_opennode(openfilestruct *fileptr); -#ifdef DEBUG -void free_openfilestruct(openfilestruct *src); -#endif void print_view_warning(void); void show_restricted_warning(void); #ifdef DISABLE_HELP -- 2.39.5