]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/base/lib_freeall.c
ncurses 5.7 - patch 20090228
[ncurses.git] / ncurses / base / lib_freeall.c
index ad7028efc41e1989c4355dcfb78a919f4281795c..61991816361424d739cdd8f26ce1c13db5914194 100644 (file)
@@ -40,7 +40,7 @@
 extern int malloc_errfd;       /* FIXME */
 #endif
 
-MODULE_ID("$Id: lib_freeall.c,v 1.52 2008/08/31 00:50:36 tom Exp $")
+MODULE_ID("$Id: lib_freeall.c,v 1.55 2008/12/06 23:52:29 tom Exp $")
 
 /*
  * Free all ncurses data.  This is used for testing only (there's no practical
@@ -98,14 +98,14 @@ _nc_freeall(void)
        delscreen(SP);
        _nc_unlock_global(curses);
     }
-    if (cur_term != 0)
-       del_curterm(cur_term);
 
     (void) _nc_printf_string(0, empty_va);
 #ifdef TRACE
     (void) _nc_trace_buf(-1, 0);
 #endif
-
+#if USE_WIDEC_SUPPORT
+    FreeIfNeeded(_nc_wacs);
+#endif
     _nc_leaks_tinfo();
 
 #if HAVE_LIBDBMALLOC
@@ -142,4 +142,14 @@ NCURSES_EXPORT(void)
 _nc_freeall(void)
 {
 }
+
+NCURSES_EXPORT(void)
+_nc_free_and_exit(int code)
+{
+    if (SP)
+       delscreen(SP);
+    if (cur_term != 0)
+       del_curterm(cur_term);
+    exit(code);
+}
 #endif