]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/base/lib_freeall.c
ncurses 5.6 - patch 20070728
[ncurses.git] / ncurses / base / lib_freeall.c
index 0d8adc6f10dcf6e0abbd08d69caa735daef3adfa..0fc86239c836970da256bc8cf2029ff831f1287f 100644 (file)
@@ -27,7 +27,7 @@
  ****************************************************************************/
 
 /****************************************************************************
  ****************************************************************************/
 
 /****************************************************************************
- *  Author: Thomas E. Dickey                    1996,1997                   *
+ *  Author: Thomas E. Dickey                    1996-on                     *
  ****************************************************************************/
 
 #include <curses.priv.h>
  ****************************************************************************/
 
 #include <curses.priv.h>
@@ -40,7 +40,7 @@
 extern int malloc_errfd;       /* FIXME */
 #endif
 
 extern int malloc_errfd;       /* FIXME */
 #endif
 
-MODULE_ID("$Id: lib_freeall.c,v 1.42 2007/02/03 18:44:28 tom Exp $")
+MODULE_ID("$Id: lib_freeall.c,v 1.44 2007/06/02 19:40:25 tom Exp $")
 
 /*
  * Free all ncurses data.  This is used for testing only (there's no practical
 
 /*
  * Free all ncurses data.  This is used for testing only (there's no practical
@@ -83,7 +83,8 @@ _nc_freeall(void)
        }
        delscreen(SP);
     }
        }
        delscreen(SP);
     }
-    del_curterm(cur_term);
+    if (cur_term != 0)
+       del_curterm(cur_term);
 
 #if USE_WIDEC_SUPPORT
     FreeIfNeeded(_nc_wacs);
 
 #if USE_WIDEC_SUPPORT
     FreeIfNeeded(_nc_wacs);
@@ -93,6 +94,10 @@ _nc_freeall(void)
     (void) _nc_trace_buf(-1, 0);
 #endif
 
     (void) _nc_trace_buf(-1, 0);
 #endif
 
+#if BROKEN_LINKER || USE_REENTRANT
+    FreeIfNeeded(_nc_prescreen.real_acs_map);
+#endif
+
     _nc_leaks_tinfo();
 
 #if HAVE_LIBDBMALLOC
     _nc_leaks_tinfo();
 
 #if HAVE_LIBDBMALLOC