From: Thomas E. Dickey Date: Sun, 4 Nov 2007 00:06:31 +0000 (+0000) Subject: ncurses 5.6 - patch 20071103 X-Git-Tag: v5.7~46 X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff_plain;h=b17ff3673e886e3cbb6b523341aa10b0c26b3903 ncurses 5.6 - patch 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). --- diff --git a/NEWS b/NEWS index a5a7e18b..df7d7a8e 100644 --- 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 50a2ebcc..aba852f4 100644 --- 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) diff --git a/misc/terminfo.src b/misc/terminfo.src index 69287233..5fa43730 100644 --- a/misc/terminfo.src +++ b/misc/terminfo.src @@ -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: @@ -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" diff --git a/ncurses/base/lib_delwin.c b/ncurses/base/lib_delwin.c index 89d8e7c3..3f612bf0 100644 --- a/ncurses/base/lib_delwin.c +++ b/ncurses/base/lib_delwin.c @@ -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 -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); } diff --git a/ncurses/curses.priv.h b/ncurses/curses.priv.h index 21618dc3..a1ea1d49 100644 --- a/ncurses/curses.priv.h +++ b/ncurses/curses.priv.h @@ -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 diff --git a/ncurses/tinfo/MKcodes.awk b/ncurses/tinfo/MKcodes.awk index d3aff51e..db8ad554 100644 --- a/ncurses/tinfo/MKcodes.awk +++ b/ncurses/tinfo/MKcodes.awk @@ -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[]" diff --git a/ncurses/tinfo/MKnames.awk b/ncurses/tinfo/MKnames.awk index 1d22224c..93e682c2 100644 --- a/ncurses/tinfo/MKnames.awk +++ b/ncurses/tinfo/MKnames.awk @@ -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[]" diff --git a/ncurses/tinfo/comp_parse.c b/ncurses/tinfo/comp_parse.c index 16850eac..aa60047b 100644 --- a/ncurses/tinfo/comp_parse.c +++ b/ncurses/tinfo/comp_parse.c @@ -53,7 +53,7 @@ #include #include -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); } diff --git a/ncurses/tinfo/entries.c b/ncurses/tinfo/entries.c index cd05a209..8b63f0d8 100644 --- a/ncurses/tinfo/entries.c +++ b/ncurses/tinfo/entries.c @@ -37,7 +37,7 @@ #include #include -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); diff --git a/ncurses/tinfo/lib_data.c b/ncurses/tinfo/lib_data.c index 67a09d01..225935ea 100644 --- a/ncurses/tinfo/lib_data.c +++ b/ncurses/tinfo/lib_data.c @@ -41,7 +41,7 @@ #include -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 */ diff --git a/ncurses/tinfo/use_screen.c b/ncurses/tinfo/use_screen.c index 965612ad..27730b05 100644 --- a/ncurses/tinfo/use_screen.c +++ b/ncurses/tinfo/use_screen.c @@ -32,7 +32,7 @@ #include -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)