nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit f4f995455624835da43a9590fcaf97d2696e51f9
parent 814a4220a21a4b168e9945a9da7744099977a0de
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Mon, 22 Feb 2016 09:02:58 +0000

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

Diffstat:
MChangeLog | 3+++
Msrc/global.c | 7+++++--
Msrc/nano.c | 18+-----------------
Msrc/proto.h | 3---
4 files changed, 9 insertions(+), 22 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,6 @@ +2016-02-22 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (free_openfilestruct): Elide this function. + 2016-02-21 Benno Schulenberg <bensberg@justemail.net> * 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 @@ -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 @@ -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 @@ -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