From 40e4acf55e57e2fa263c3b9b84771216863f4c29 Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Thu, 26 May 2005 06:09:07 +0000 Subject: [PATCH] port over DB's (better) equivalent of the last fix, and tweak a few comments git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2550 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 2 +- src/global.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index d79e0a07..2e4fe494 100644 --- a/ChangeLog +++ b/ChangeLog @@ -72,7 +72,7 @@ CVS code - only called here anyway. (David Benbennick) - Fix the code to free all open file buffers to work properly with the previous overhaul of the multibuffer code instead of - going into an infinite loop. (DLR) + going into an infinite loop. (David Benbennick) - Add additional checks for variables' not being NULL before we try to free them, to avoid assertion failures. (DLR) - nano.c: diff --git a/src/global.c b/src/global.c index 5c8cd08c..0ce8b662 100644 --- a/src/global.c +++ b/src/global.c @@ -1208,6 +1208,7 @@ void thanks_for_all_the_fish(void) free_shortcutage(&gotodir_list); #endif #ifndef NANO_SMALL + /* Free the memory associated with each toggle. */ while (toggles != NULL) { toggle *t = toggles; @@ -1217,8 +1218,13 @@ void thanks_for_all_the_fish(void) #endif #ifdef ENABLE_MULTIBUFFER /* Free the memory associated with each open file buffer. */ - if (open_files != NULL) + if (open_files != NULL) { + /* Make sure open_files->fileage is up to date, in case we've + * cut the top line of the file. */ + open_files->fileage = fileage; + free_openfilestruct(open_files); + } #else if (fileage != NULL) free_filestruct(fileage); @@ -1252,7 +1258,7 @@ void thanks_for_all_the_fish(void) } #endif /* ENABLE_COLOR */ #ifndef NANO_SMALL - /* Free the history lists. */ + /* Free the search and replace history lists. */ if (searchage != NULL) free_filestruct(searchage); if (replaceage != NULL)