ncurses 5.6 - patch 20071103
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 4 Nov 2007 00:06:31 +0000 (00:06 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 4 Nov 2007 00:06:31 +0000 (00:06 +0000)
+ update memory-leak checks for changes to names.c and codes.c
+ correct acsc strings in h19, z100 (patch by Benjamin C W Sittler).

NEWS
dist.mk
misc/terminfo.src
ncurses/base/lib_delwin.c
ncurses/curses.priv.h
ncurses/tinfo/MKcodes.awk
ncurses/tinfo/MKnames.awk
ncurses/tinfo/comp_parse.c
ncurses/tinfo/entries.c
ncurses/tinfo/lib_data.c
ncurses/tinfo/use_screen.c

diff --git a/NEWS b/NEWS
index a5a7e18ba0f172e57186f8ce6dfeea008d690e18..df7d7a8e39c214a8fb2589a1005cb78ce8fb9dcb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.1180 2007/10/20 20:55:26 tom Exp $
+-- $Id: NEWS,v 1.1181 2007/11/03 21:08:20 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,10 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20071103
+       + update memory-leak checks for changes to names.c and codes.c
+       + correct acsc strings in h19, z100 (patch by Benjamin C W Sittler).
+
 20071020
        + continue implementing support for threading demo by adding mutex
          for use_window().
diff --git a/dist.mk b/dist.mk
index 50a2ebccdf825cbd56fbb337b45637d056629f64..aba852f4948f4befae254bf557fc091bfe232e8a 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.614 2007/10/20 14:35:24 tom Exp $
+# $Id: dist.mk,v 1.615 2007/11/03 16:39:13 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -37,7 +37,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 5
 NCURSES_MINOR = 6
-NCURSES_PATCH = 20071020
+NCURSES_PATCH = 20071103
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 69287233940a09d8caf88608f10cde7b715fe62e..5fa437307f1164bb7301255409335a15a1013490 100644 (file)
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
-#      $Revision: 1.317 $
-#      $Date: 2007/10/20 18:34:36 $
+#      $Revision: 1.318 $
+#      $Date: 2007/11/03 19:02:01 $
 #
 # The original header is preserved below for reference.  It is noted that there
 # is a "newer" version which differs in some cosmetic details (but actually
@@ -18319,19 +18319,19 @@ h19-us|h19us|h19-smul|heathkit w/keypad shifted/underscore cursor,
 h19|heath|h19-b|heathkit|heath-19|z19|zenith|heathkit h19,
        OTbs, am, eslok, hs, mir, msgr,
        cols#80, it#8, lines#24,
-       acsc=, bel=^G, clear=\EE, cnorm=\Ey4, cr=^M, cub1=^H, cud1=\EB,
-       cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
-       cvvis=\Ex4, dch1=\EN, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH,
-       ht=^I, ind=^J, ip=<1.5/>, kbs=^H, kcub1=\ED, kcud1=\EB,
-       kcuf1=\EC, kcuu1=\EA, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV,
-       kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, khome=\EH, lf6=blue,
-       lf7=red, lf8=white, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq,
-       smacs=\EF, smir=\E@, smso=\Ep,
-       tsl=\Ej\Ex5\EY8%p1%{32}%+%c\Eo\Eo,
+       acsc=~\^x`qanbkcjdmelfgg+hai.kwsutvutvozs{, bel=^G,
+       clear=\EE, cnorm=\Ey4, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
+       cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ex4,
+       dch1=\EN, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, ht=^I, ind=^J,
+       ip=<1.5/>, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+       kcuu1=\EA, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW,
+       kf6=\EP, kf7=\EQ, kf8=\ER, khome=\EH, lf6=blue, lf7=red,
+       lf8=white, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, smacs=\EF,
+       smir=\E@, smso=\Ep, tsl=\Ej\Ex5\EY8%p1%{32}%+%c\Eo\Eo,
 h19-u|heathkit with underscore cursor,
        cnorm@, cvvis@, use=h19-b,
 h19-g|h19g|heathkit w/block cursor,
-       cnorm=\Ex4, use=h19-b,
+       cnorm=\Ex4, cvvis@, use=h19-b,
 alto-h19|altoh19|altoheath|alto-heath|alto emulating heathkit h19,
        lines#60,
        dl1=\EM, il1=\EL, use=h19,
@@ -18457,14 +18457,15 @@ z100|h100|z110|z-100|h-100|heath/zenith z-100 pc with color monitor,
 z100bw|h100bw|z110bw|z-100bw|h-100bw|heath/zenith z-100 pc,
        OTbs, OTpt, mir, msgr,
        OTkn#10, cols#80, it#8, lines#24,
-       acsc=, clear=\EE$<5*/>, cnorm=\Ey4, cub1=^H, cud1=\EB,
-       cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<1*/>,
-       cuu1=\EA, cvvis=\Ex4, dch1=\EN$<1*/>, dl1=\EM$<5*/>,
-       ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL$<5*/>, kbs=^H,
-       kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf0=\EJ, kf1=\ES,
-       kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER,
-       kf9=\EOI, khome=\EH, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq,
-       smacs=\EF, smir=\E@, smso=\Ep,
+       acsc=~\^x`qanbkcjdmelfgg+hai.kwsutvutvozs{,
+       clear=\EE$<5*/>, cnorm=\Ey4, cub1=^H, cud1=\EB, cuf1=\EC,
+       cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<1*/>, cuu1=\EA,
+       cvvis=\Ex4, dch1=\EN$<1*/>, dl1=\EM$<5*/>, ed=\EJ, el=\EK,
+       home=\EH, ht=^I, il1=\EL$<5*/>, kbs=^H, kcub1=\ED, kcud1=\EB,
+       kcuf1=\EC, kcuu1=\EA, kf0=\EJ, kf1=\ES, kf2=\ET, kf3=\EU,
+       kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\EOI,
+       khome=\EH, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, smacs=\EF,
+       smir=\E@, smso=\Ep,
 p19|h19-b with il1/dl1,
        dl1=\EM$<2*/>, il1=\EL$<2*/>, use=h19-b,
 # From: <ucscc!B.fiatlux@ucbvax.berkeley.edu>
@@ -21603,6 +21604,9 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #      * add mrxvt entry -TD
 #      * add xterm+r6f2, use in mlterm and mrxvt entries -TD
 #
+# 2007-11-03
+#      * correct acsc strings for h19 and z100 (Benjamin Sittler)
+#
 # The following sets edit modes for GNU EMACS.
 # Local Variables:
 # fill-prefix:"\t"
index 89d8e7c32ece398bb1126cc7e685ccc82429fdce..3f612bf06d79050c3697c59cdd9badd0518c5f43 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2001,2007 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -40,7 +40,7 @@
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_delwin.c,v 1.13 2001/08/26 00:40:20 tom Exp $")
+MODULE_ID("$Id: lib_delwin.c,v 1.14 2007/10/20 21:51:07 tom Exp $")
 
 static bool
 cannot_delete(WINDOW *win)
@@ -63,16 +63,23 @@ cannot_delete(WINDOW *win)
 NCURSES_EXPORT(int)
 delwin(WINDOW *win)
 {
+    int result = ERR;
+
     T((T_CALLED("delwin(%p)"), win));
 
+    _nc_lock_global(windowlist);
     if (win == 0
-       || cannot_delete(win))
-       returnCode(ERR);
+       || cannot_delete(win)) {
+       result = ERR;
+    } else {
 
-    if (win->_flags & _SUBWIN)
-       touchwin(win->_parent);
-    else if (curscr != 0)
-       touchwin(curscr);
+       if (win->_flags & _SUBWIN)
+           touchwin(win->_parent);
+       else if (curscr != 0)
+           touchwin(curscr);
 
-    returnCode(_nc_freewin(win));
+       result = _nc_freewin(win);
+    }
+    _nc_unlock_global(windowlist);
+    returnCode(result);
 }
index 21618dc35818b5c11d1bc5ebda68f414d592921d..a1ea1d49c86e0c3e927606db8324608661fb5872 100644 (file)
@@ -34,7 +34,7 @@
 
 
 /*
- * $Id: curses.priv.h,v 1.347 2007/10/20 19:56:55 tom Exp $
+ * $Id: curses.priv.h,v 1.348 2007/11/03 20:24:15 tom Exp $
  *
  *     curses.priv.h
  *
@@ -1504,9 +1504,11 @@ extern NCURSES_EXPORT(void) _nc_trace_tries (TRIES *);
 #if NO_LEAKS
 extern NCURSES_EXPORT(void) _nc_alloc_entry_leaks(void);
 extern NCURSES_EXPORT(void) _nc_captoinfo_leaks(void);
+extern NCURSES_EXPORT(void) _nc_codes_leaks(void);
 extern NCURSES_EXPORT(void) _nc_comp_captab_leaks(void);
 extern NCURSES_EXPORT(void) _nc_comp_scan_leaks(void);
 extern NCURSES_EXPORT(void) _nc_keyname_leaks(void);
+extern NCURSES_EXPORT(void) _nc_names_leaks(void);
 extern NCURSES_EXPORT(void) _nc_tgetent_leaks(void);
 #endif
 
index d3aff51eca8b0d9b446a6263f2f0a58e6b9b8e45..db8ad5541841a376d9fcb755d751f9470f2c08a6 100644 (file)
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: MKcodes.awk,v 1.3 2007/09/01 20:50:01 tom Exp $
+# $Id: MKcodes.awk,v 1.4 2007/11/03 20:24:15 tom Exp $
 function large_item(value) {
        result = sprintf("%d,", offset);
        offset = offset + length(value) + 1;
@@ -138,6 +138,17 @@ END        {
                print  "FIX(numcodes)"
                print  "FIX(strcodes)"
                print  ""
+               print  "#define FREE_FIX(it) if (ptr_##it) { FreeAndNull(ptr_##it); }"
+               print  ""
+               print  "NCURSES_EXPORT(void)"
+               print  "_nc_codes_leaks(void)"
+               print  "{"
+               if (bigstrings) {
+               print  "FREE_FIX(boolcodes)"
+               print  "FREE_FIX(numcodes)"
+               print  "FREE_FIX(strcodes)"
+               }
+               print  "}"
                print  "#else"
                print  ""
                print  "#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]"
index 1d22224c29c16525ef0feaf2720077b76d01bdd5..93e682c2d28db529f9a8cd7ca0e263a8827ca969 100644 (file)
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: MKnames.awk,v 1.17 2007/09/01 20:49:32 tom Exp $
+# $Id: MKnames.awk,v 1.18 2007/11/03 20:24:15 tom Exp $
 function large_item(value) {
        result = sprintf("%d,", offset);
        offset = offset + length(value) + 1;
@@ -153,6 +153,21 @@ END        {
                print  "FIX(strnames)"
                print  "FIX(strfnames)"
                print  ""
+               print  ""
+               print  "#define FREE_FIX(it) if (ptr_##it) { FreeAndNull(ptr_##it); }"
+               print  ""
+               print  "NCURSES_EXPORT(void)"
+               print  "_nc_names_leaks(void)"
+               print  "{"
+               if (bigstrings) {
+               print  "FREE_FIX(boolnames)"
+               print  "FREE_FIX(boolfnames)"
+               print  "FREE_FIX(numnames)"
+               print  "FREE_FIX(numfnames)"
+               print  "FREE_FIX(strnames)"
+               print  "FREE_FIX(strfnames)"
+               }
+               print  "}"
                print  "#else"
                print  ""
                print  "#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]"
index 16850eaca7e7e3e9138136b7313fa340f08ad499..aa60047b0aadb65649ad13c086b6bc2488d9c61c 100644 (file)
@@ -53,7 +53,7 @@
 #include <tic.h>
 #include <term_entry.h>
 
-MODULE_ID("$Id: comp_parse.c,v 1.67 2007/08/12 13:10:45 tom Exp $")
+MODULE_ID("$Id: comp_parse.c,v 1.68 2007/11/03 20:41:46 tom Exp $")
 
 static void sanity_check2(TERMTYPE *, bool);
 NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE *, bool) = sanity_check2;
@@ -474,6 +474,10 @@ _nc_leaks_tic(void)
     _nc_captoinfo_leaks();
     _nc_comp_captab_leaks();
     _nc_comp_scan_leaks();
+#if BROKEN_LINKER || USE_REENTRANT
+    _nc_names_leaks();
+    _nc_codes_leaks();
+#endif
     _nc_tic_expand(0, FALSE, 0);
 }
 
index cd05a2092516ac59914b8d074aea52023da56b06..8b63f0d8965c4de868b47c0bbbea87edcd8f73b0 100644 (file)
@@ -37,7 +37,7 @@
 #include <tic.h>
 #include <term_entry.h>
 
-MODULE_ID("$Id: entries.c,v 1.3 2007/02/03 18:51:23 tom Exp $")
+MODULE_ID("$Id: entries.c,v 1.4 2007/11/03 21:00:27 tom Exp $")
 
 /****************************************************************************
  *
@@ -124,6 +124,10 @@ _nc_leaks_tinfo(void)
 #if NO_LEAKS
     _nc_keyname_leaks();
 #endif
+#if BROKEN_LINKER || USE_REENTRANT
+    _nc_names_leaks();
+    _nc_codes_leaks();
+#endif
 
     if ((s = _nc_home_terminfo()) != 0)
        free(s);
index 67a09d0155a0face315390e361a1e2b2625b5503..225935ea79f084b8e62e55d978ffd1f4a4fafbd9 100644 (file)
@@ -41,7 +41,7 @@
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_data.c,v 1.33 2007/10/20 19:07:29 tom Exp $")
+MODULE_ID("$Id: lib_data.c,v 1.34 2007/10/20 21:49:10 tom Exp $")
 
 /*
  * OS/2's native linker complains if we don't initialize public data when
@@ -177,10 +177,10 @@ NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = {
 
 #endif /* TRACE */
 #ifdef USE_PTHREADS
-    PTHREAD_MUTEX_INITIALIZER, /* mutex_set_SP */
-    PTHREAD_MUTEX_INITIALIZER, /* mutex_use_screen */
-    PTHREAD_MUTEX_INITIALIZER, /* mutex_use_window */
-    PTHREAD_MUTEX_INITIALIZER, /* mutex_windowlist */
+    PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,    /* mutex_set_SP */
+    PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,    /* mutex_use_screen */
+    PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,    /* mutex_use_window */
+    PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,    /* mutex_windowlist */
     PTHREAD_MUTEX_INITIALIZER, /* mutex_tst_tracef */
     PTHREAD_MUTEX_INITIALIZER, /* mutex_tracef */
     0,                         /* nested_tracef */
index 965612ad909135d0d14552e4ef1261e1b38990e9..27730b055c12603840a5fe07294305d5e651f305 100644 (file)
@@ -32,7 +32,7 @@
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: use_screen.c,v 1.3 2007/10/20 22:46:13 tom Exp $")
+MODULE_ID("$Id: use_screen.c,v 1.2 2007/09/08 21:46:48 tom Exp $")
 
 NCURSES_EXPORT(int)
 use_screen(SCREEN *screen, NCURSES_CALLBACK func, void *data)