commit 40e4acf55e57e2fa263c3b9b84771216863f4c29
parent 5d8d0b19be9944a7aba453ef2e36552b3b7acf82
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Thu, 26 May 2005 06:09:07 +0000
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
Diffstat:
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git 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
@@ -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)