Hello community,

here is the log from the commit of package ncurses for openSUSE:Factory checked 
in at 2012-11-20 10:40:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ncurses (Old)
 and      /work/SRC/openSUSE:Factory/.ncurses.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ncurses", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ncurses/ncurses.changes  2012-11-10 
16:55:02.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ncurses.new/ncurses.changes     2012-11-20 
10:40:14.000000000 +0100
@@ -1,0 +2,26 @@
+Mon Nov 19 12:20:40 UTC 2012 - [email protected]
+
+- Add ncurses patch 5.9.20121117
+  > fixes based on Coverity report:
+  + add missing braces around FreeAndNull in two places.
+  + various fixes in test/ncurses.c
+  + improve limit-checks in tinfo/make_hash.c, tinfo/read_entry.c
+  + correct malloc size in progs/infocmp.c
+  + guard against negative array indices in test/knight.c
+  + fix off-by-one limit check in test/color_name.h
+  + add null-pointer check in progs/tabs.c, test/bs.c, test/demo_forms.c,
+    test/inchs.c
+  + fix memory-leak in tinfo/lib_setup.c, progs/toe.c,
+    test/clip_printw.c, test/demo_menus.c
+  + delete unused windows in test/chgat.c, test/clip_printw.c,
+    test/insdelln.c, test/newdemo.c on error-return.
+- Add ncurses patch 5.9.20121110
+  + modify configure macro CF_INCLUDE_DIRS to put $CPPFLAGS after the
+    local -I include options in case someone has set conflicting -I
+    options in $CPPFLAGS (prompted by patch for ncurses/Makefile.in by
+    Vassili Courzakis).
+  + modify the ncurses*-config scripts to eliminate relative paths from
+    the RPATH_LIST variable, e.g., "../lib" as used in installing shared
+    libraries or executables.
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ncurses-5.9-patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches/ncurses-5.9-20121110.patch 
new/patches/ncurses-5.9-20121110.patch
--- old/patches/ncurses-5.9-20121110.patch      1970-01-01 01:00:00.000000000 
+0100
+++ new/patches/ncurses-5.9-20121110.patch      2012-11-15 14:57:33.000000000 
+0100
@@ -0,0 +1,362 @@
+# ncurses 5.9 - patch 20121110 - Thomas E. Dickey
+#
+# 
------------------------------------------------------------------------------
+#
+# Ncurses 5.9 is at
+#      ftp.gnu.org:/pub/gnu
+#
+# Patches for ncurses 5.9 are in the subdirectory
+#      ftp://invisible-island.net/ncurses/5.9
+#
+# 
------------------------------------------------------------------------------
+# ftp://invisible-island.net/ncurses/5.9/ncurses-5.9-20121110.patch.gz
+# patch by Thomas E. Dickey <[email protected]>
+# created  Sun Nov 11 01:22:06 UTC 2012
+# 
------------------------------------------------------------------------------
+# Ada95/aclocal.m4         |   18 +++++++++---------
+# Ada95/configure          |   14 +++++++-------
+# NEWS                     |   11 ++++++++++-
+# aclocal.m4               |   18 +++++++++---------
+# configure                |   14 +++++++-------
+# dist.mk                  |    4 ++--
+# misc/ncurses-config.in   |   36 ++++++++++++++++++++++++++++++------
+# misc/terminfo.src        |    8 ++++----
+# package/debian/changelog |    4 ++--
+# package/ncurses.spec     |    2 +-
+# 10 files changed, 81 insertions(+), 48 deletions(-)
+# 
------------------------------------------------------------------------------
+Index: Ada95/aclocal.m4
+Prereq:  1.60 
+--- ncurses-5.9-20121102+/Ada95/aclocal.m4     2012-10-27 17:18:49.000000000 
+0000
++++ ncurses-5.9-20121110/Ada95/aclocal.m4      2012-11-11 00:18:37.000000000 
+0000
+@@ -28,7 +28,7 @@
+ dnl
+ dnl Author: Thomas E. Dickey
+ dnl
+-dnl $Id: aclocal.m4,v 1.60 2012/10/27 17:18:49 tom Exp $
++dnl $Id: aclocal.m4,v 1.62 2012/11/11 00:18:37 tom Exp $
+ dnl Macros used in NCURSES Ada95 auto-configuration script.
+ dnl
+ dnl These macros are maintained separately from NCURSES.  The copyright on
+@@ -1548,7 +1548,7 @@
+ [AC_DIVERT_HELP([$1])dnl
+ ])dnl
+ dnl 
---------------------------------------------------------------------------
+-dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
++dnl CF_INCLUDE_DIRS version: 7 updated: 2012/11/10 19:15:05
+ dnl ---------------
+ dnl Construct the list of include-options according to whether we're building
+ dnl in the source directory or using '--srcdir=DIR' option.  If we're building
+@@ -1556,21 +1556,21 @@
+ dnl since that usually breaks gcc's shadow-includes.
+ AC_DEFUN([CF_INCLUDE_DIRS],
+ [
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+-      CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+-      CPPFLAGS="$CPPFLAGS -I\${includedir}"
++      CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+       if test "$includedir" = '${prefix}/include' ; then
+               if test $prefix != /usr ; then
+-                      CPPFLAGS="$CPPFLAGS -I\${includedir}"
++                      CPPFLAGS="-I\${includedir} $CPPFLAGS"
+               fi
+       else
+-              CPPFLAGS="$CPPFLAGS -I\${includedir}"
++              CPPFLAGS="-I\${includedir} $CPPFLAGS"
+       fi
+ fi
++if test "$srcdir" != "."; then
++      CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+ AC_SUBST(CPPFLAGS)
+ ])dnl
+ dnl 
---------------------------------------------------------------------------
+Index: Ada95/configure
+--- ncurses-5.9-20121102+/Ada95/configure      2012-10-27 17:18:59.000000000 
+0000
++++ ncurses-5.9-20121110/Ada95/configure       2012-11-11 00:18:53.000000000 
+0000
+@@ -11815,21 +11815,21 @@
+ 
+ ### Construct the list of include-directories to be generated
+ 
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+-      CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+-      CPPFLAGS="$CPPFLAGS -I\${includedir}"
++      CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+       if test "$includedir" = '${prefix}/include' ; then
+               if test $prefix != /usr ; then
+-                      CPPFLAGS="$CPPFLAGS -I\${includedir}"
++                      CPPFLAGS="-I\${includedir} $CPPFLAGS"
+               fi
+       else
+-              CPPFLAGS="$CPPFLAGS -I\${includedir}"
++              CPPFLAGS="-I\${includedir} $CPPFLAGS"
+       fi
+ fi
++if test "$srcdir" != "."; then
++      CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+ 
+ ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
+ if test "$srcdir" != "."; then
+Index: NEWS
+Prereq:  1.1971 
+--- ncurses-5.9-20121102+/NEWS 2012-11-03 23:02:35.000000000 +0000
++++ ncurses-5.9-20121110/NEWS  2012-11-10 21:44:29.000000000 +0000
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written        
--
+ -- authorization.                                                            
--
+ 
-------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.1971 2012/11/03 23:02:35 tom Exp $
++-- $Id: NEWS,v 1.1973 2012/11/10 21:44:29 tom Exp $
+ 
-------------------------------------------------------------------------------
+ 
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -45,6 +45,15 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+ 
++20121110
++      + modify configure macro CF_INCLUDE_DIRS to put $CPPFLAGS after the
++        local -I include options in case someone has set conflicting -I
++        options in $CPPFLAGS (prompted by patch for ncurses/Makefile.in by
++        Vassili Courzakis).
++      + modify the ncurses*-config scripts to eliminate relative paths from
++        the RPATH_LIST variable, e.g., "../lib" as used in installing shared
++        libraries or executables.
++
+ 20121102
+       + realign these related pages:
+           curs_add_wchstr.3x
+Index: aclocal.m4
+Prereq:  1.640 
+--- ncurses-5.9-20121102+/aclocal.m4   2012-11-03 19:39:23.000000000 +0000
++++ ncurses-5.9-20121110/aclocal.m4    2012-11-11 00:17:28.000000000 +0000
+@@ -28,7 +28,7 @@
+ dnl
+ dnl Author: Thomas E. Dickey 1995-on
+ dnl
+-dnl $Id: aclocal.m4,v 1.640 2012/11/03 19:39:23 tom Exp $
++dnl $Id: aclocal.m4,v 1.643 2012/11/11 00:17:28 tom Exp $
+ dnl Macros used in NCURSES auto-configuration script.
+ dnl
+ dnl These macros are maintained separately from NCURSES.  The copyright on
+@@ -2716,7 +2716,7 @@
+ [AC_DIVERT_HELP([$1])dnl
+ ])dnl
+ dnl 
---------------------------------------------------------------------------
+-dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
++dnl CF_INCLUDE_DIRS version: 7 updated: 2012/11/10 19:15:05
+ dnl ---------------
+ dnl Construct the list of include-options according to whether we're building
+ dnl in the source directory or using '--srcdir=DIR' option.  If we're building
+@@ -2724,21 +2724,21 @@
+ dnl since that usually breaks gcc's shadow-includes.
+ AC_DEFUN([CF_INCLUDE_DIRS],
+ [
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+-      CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+-      CPPFLAGS="$CPPFLAGS -I\${includedir}"
++      CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+       if test "$includedir" = '${prefix}/include' ; then
+               if test $prefix != /usr ; then
+-                      CPPFLAGS="$CPPFLAGS -I\${includedir}"
++                      CPPFLAGS="-I\${includedir} $CPPFLAGS"
+               fi
+       else
+-              CPPFLAGS="$CPPFLAGS -I\${includedir}"
++              CPPFLAGS="-I\${includedir} $CPPFLAGS"
+       fi
+ fi
++if test "$srcdir" != "."; then
++      CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+ AC_SUBST(CPPFLAGS)
+ ])dnl
+ dnl 
---------------------------------------------------------------------------
+Index: configure
+--- ncurses-5.9-20121102+/configure    2012-11-03 19:44:50.000000000 +0000
++++ ncurses-5.9-20121110/configure     2012-11-10 22:11:49.000000000 +0000
+@@ -19460,21 +19460,21 @@
+ 
+ ### Construct the list of include-directories to be generated
+ 
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+-      CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+-      CPPFLAGS="$CPPFLAGS -I\${includedir}"
++      CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+       if test "$includedir" = '${prefix}/include' ; then
+               if test $prefix != /usr ; then
+-                      CPPFLAGS="$CPPFLAGS -I\${includedir}"
++                      CPPFLAGS="-I\${includedir} $CPPFLAGS"
+               fi
+       else
+-              CPPFLAGS="$CPPFLAGS -I\${includedir}"
++              CPPFLAGS="-I\${includedir} $CPPFLAGS"
+       fi
+ fi
++if test "$srcdir" != "."; then
++      CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+ 
+ ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
+ if test "$srcdir" != "."; then
+Index: dist.mk
+Prereq:  1.899 
+--- ncurses-5.9-20121102+/dist.mk      2012-11-03 14:12:24.000000000 +0000
++++ ncurses-5.9-20121110/dist.mk       2012-11-10 21:02:17.000000000 +0000
+@@ -25,7 +25,7 @@
+ # use or other dealings in this Software without prior written               #
+ # authorization.                                                             #
+ ##############################################################################
+-# $Id: dist.mk,v 1.899 2012/11/03 14:12:24 tom Exp $
++# $Id: dist.mk,v 1.900 2012/11/10 21:02:17 tom Exp $
+ # Makefile for creating ncurses distributions.
+ #
+ # This only needs to be used directly as a makefile by developers, but
+@@ -37,7 +37,7 @@
+ # These define the major/minor/patch versions of ncurses.
+ NCURSES_MAJOR = 5
+ NCURSES_MINOR = 9
+-NCURSES_PATCH = 20121102
++NCURSES_PATCH = 20121110
+ 
+ # We don't append the patch to the version, since this only applies to 
releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+Index: misc/ncurses-config.in
+Prereq:  1.28 
+--- ncurses-5.9-20121102+/misc/ncurses-config.in       2012-08-11 
21:45:20.000000000 +0000
++++ ncurses-5.9-20121110/misc/ncurses-config.in        2012-11-11 
00:14:28.000000000 +0000
+@@ -1,7 +1,7 @@
+ #!@SHELL@
+-# $Id: ncurses-config.in,v 1.28 2012/08/11 21:45:20 tom Exp $
++# $Id: ncurses-config.in,v 1.30 2012/11/11 00:14:28 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2006-2010,2011 Free Software Foundation, Inc.                #
++# Copyright (c) 2006-2011,2012 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 "Software"), #
+@@ -30,6 +30,11 @@
+ #
+ # Author: Thomas E. Dickey, 2006-on
+ 
++LANG=C;               export LANG
++LANGUAGE=C;   export LANGUAGE
++LC_ALL=C;     export LC_ALL
++LC_CTYPE=C;   export LC_CTYPE
++
+ prefix="@prefix@"
+ exec_prefix="@exec_prefix@"
+ 
+@@ -44,10 +49,29 @@
+ TINFO_LIB="@TINFO_ARG_SUFFIX@"
+ RPATH_LIST="@RPATH_LIST@"
+ 
+-LANG=C;               export LANG
+-LANGUAGE=C;   export LANGUAGE
+-LC_ALL=C;     export LC_ALL
+-LC_CTYPE=C;   export LC_CTYPE
++# Ensure that RPATH_LIST contains only absolute pathnames, if it is nonempty.
++# We cannot filter it out within the build-process since the variable is used
++# in some special cases of installation using a relative path.
++if test -n "$RPATH_LIST"
++then
++      save_IFS="$IFS"
++      IFS='@PATH_SEPARATOR@'
++      filtered=
++      for item in $RPATH_LIST
++      do
++              case "$item" in
++              ./*|../*|*/..|*/../*)
++                      ;;
++              *)
++                      test -n "$filtered" && 
filtered="${filtered}@PATH_SEPARATOR@"
++                      filtered="${filtered}${item}"
++                      ;;
++              esac
++      done
++      IFS="$save_IFS"
++      # if the result is empty, there is little we can do to fix it
++      RPATH_LIST="$filtered"
++fi
+ 
+ # with --disable-overwrite, we installed into a subdirectory, but transformed
+ # the headers to include like this:
+Index: misc/terminfo.src
+--- ncurses-5.9-20121102+/misc/terminfo.src    2012-11-03 18:58:05.000000000 
+0000
++++ ncurses-5.9-20121110/misc/terminfo.src     2012-11-04 15:59:03.000000000 
+0000
+@@ -6,8 +6,8 @@
+ # Report bugs and new terminal descriptions to
+ #     [email protected]
+ #
+-#     $Revision: 1.469 $
+-#     $Date: 2012/11/03 18:58:05 $
++#     $Revision: 1.470 $
++#     $Date: 2012/11/04 15:59:03 $
+ #
+ # 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
+@@ -4826,7 +4826,7 @@
+       ccc@,
+       initc@, use=xterm+256color, use=simpleterm,
+ 
+-### TERMINATOR
++#### TERMINATOR
+ # http://software.jessies.org/terminator/
+ # Tested using their Debian package org.jessies.terminator 6.104.3256 on 
64-bit
+ # Debian/current -TD (2011/8/20)
+@@ -22741,7 +22741,7 @@
+ # 2009-12-12
+ #     * updated nsterm* entries (Benjamin Sittler, Emanuele Giaquinta)
+ #
+-# 2009-12-12
++# 2009-12-19
+ #     * add bw (auto-left-margin) to nsterm* entries (Benjamin Sittler)
+ #     * rename minix to minix-1.7, add minix entry for Minux3 -TD
+ #
+Index: package/debian/changelog
+--- ncurses-5.9-20121102+/package/debian/changelog     2012-11-03 
19:21:57.000000000 +0000
++++ ncurses-5.9-20121110/package/debian/changelog      2012-11-10 
21:02:45.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (5.9-20121102) unstable; urgency=low
++ncurses6 (5.9-20121110) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <[email protected]>  Sat, 03 Nov 2012 15:21:53 
-0400
++ -- Thomas E. Dickey <[email protected]>  Sat, 10 Nov 2012 16:02:42 
-0500
+ 
+ ncurses6 (5.9-20120608) unstable; urgency=low
+ 
+Index: package/ncurses.spec
+--- ncurses-5.9-20121102+/package/ncurses.spec 2012-11-03 19:21:39.000000000 
+0000
++++ ncurses-5.9-20121110/package/ncurses.spec  2012-11-10 21:02:25.000000000 
+0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Release: 5.9
+-Version: 20121102
++Version: 20121110
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{release}-%{version}.tgz
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches/ncurses-5.9-20121117.patch 
new/patches/ncurses-5.9-20121117.patch
--- old/patches/ncurses-5.9-20121117.patch      1970-01-01 01:00:00.000000000 
+0100
+++ new/patches/ncurses-5.9-20121117.patch      2012-11-19 09:25:19.000000000 
+0100
@@ -0,0 +1,858 @@
+# ncurses 5.9 - patch 20121117 - Thomas E. Dickey
+#
+# 
------------------------------------------------------------------------------
+#
+# Ncurses 5.9 is at
+#      ftp.gnu.org:/pub/gnu
+#
+# Patches for ncurses 5.9 are in the subdirectory
+#      ftp://invisible-island.net/ncurses/5.9
+#
+# 
------------------------------------------------------------------------------
+# ftp://invisible-island.net/ncurses/5.9/ncurses-5.9-20121117.patch.gz
+# patch by Thomas E. Dickey <[email protected]>
+# created  Sun Nov 18 02:58:41 UTC 2012
+# 
------------------------------------------------------------------------------
+# NEWS                         |   17 ++++++++++++++++-
+# dist.mk                      |    4 ++--
+# ncurses/base/keyok.c         |   38 ++++++++++++++++++++++----------------
+# ncurses/base/lib_freeall.c   |   10 ++++++----
+# ncurses/tinfo/lib_cur_term.c |    7 ++++---
+# ncurses/tinfo/lib_setup.c    |    5 ++++-
+# ncurses/tinfo/make_hash.c    |   21 ++++++++++++++++++++-
+# ncurses/tinfo/name_match.c   |    7 ++++---
+# ncurses/tinfo/read_entry.c   |    6 ++++--
+# package/debian/changelog     |    4 ++--
+# package/ncurses.spec         |    2 +-
+# progs/infocmp.c              |    4 ++--
+# progs/tabs.c                 |   32 +++++++++++++++++---------------
+# progs/toe.c                  |    5 ++++-
+# test/bs.c                    |    6 ++++--
+# test/chgat.c                 |    6 ++++--
+# test/clip_printw.c           |    7 +++++--
+# test/color_name.h            |    6 +++---
+# test/demo_forms.c            |    8 ++++----
+# test/demo_menus.c            |   11 ++++++++---
+# test/inchs.c                 |   16 ++++++++++++++--
+# test/insdelln.c              |    4 +++-
+# test/knight.c                |    6 +++---
+# test/ncurses.c               |   12 ++++++------
+# test/newdemo.c               |   15 +++++++++++----
+# 25 files changed, 173 insertions(+), 86 deletions(-)
+# 
------------------------------------------------------------------------------
+Index: NEWS
+Prereq:  1.1973 
+--- ncurses-5.9-20121110+/NEWS 2012-11-10 21:44:29.000000000 +0000
++++ ncurses-5.9-20121117/NEWS  2012-11-18 02:16:21.000000000 +0000
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written        
--
+ -- authorization.                                                            
--
+ 
-------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.1973 2012/11/10 21:44:29 tom Exp $
++-- $Id: NEWS,v 1.1974 2012/11/18 02:16:21 tom Exp $
+ 
-------------------------------------------------------------------------------
+ 
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -45,6 +45,21 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+ 
++20121117
++      > fixes based on Coverity report:
++      + add missing braces around FreeAndNull in two places.
++      + various fixes in test/ncurses.c
++      + improve limit-checks in tinfo/make_hash.c, tinfo/read_entry.c
++      + correct malloc size in progs/infocmp.c
++      + guard against negative array indices in test/knight.c
++      + fix off-by-one limit check in test/color_name.h
++      + add null-pointer check in progs/tabs.c, test/bs.c, test/demo_forms.c,
++        test/inchs.c
++      + fix memory-leak in tinfo/lib_setup.c, progs/toe.c,
++        test/clip_printw.c, test/demo_menus.c
++      + delete unused windows in test/chgat.c, test/clip_printw.c,
++        test/insdelln.c, test/newdemo.c on error-return.
++
+ 20121110
+       + modify configure macro CF_INCLUDE_DIRS to put $CPPFLAGS after the
+         local -I include options in case someone has set conflicting -I
+Index: dist.mk
+Prereq:  1.900 
+--- ncurses-5.9-20121110+/dist.mk      2012-11-10 21:02:17.000000000 +0000
++++ ncurses-5.9-20121117/dist.mk       2012-11-17 16:48:42.000000000 +0000
+@@ -25,7 +25,7 @@
+ # use or other dealings in this Software without prior written               #
+ # authorization.                                                             #
+ ##############################################################################
+-# $Id: dist.mk,v 1.900 2012/11/10 21:02:17 tom Exp $
++# $Id: dist.mk,v 1.901 2012/11/17 16:48:42 tom Exp $
+ # Makefile for creating ncurses distributions.
+ #
+ # This only needs to be used directly as a makefile by developers, but
+@@ -37,7 +37,7 @@
+ # These define the major/minor/patch versions of ncurses.
+ NCURSES_MAJOR = 5
+ NCURSES_MINOR = 9
+-NCURSES_PATCH = 20121110
++NCURSES_PATCH = 20121117
+ 
+ # We don't append the patch to the version, since this only applies to 
releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+Index: ncurses/base/keyok.c
+Prereq:  1.12 
+--- ncurses-5.9-20121110+/ncurses/base/keyok.c 2011-10-22 17:03:22.000000000 
+0000
++++ ncurses-5.9-20121117/ncurses/base/keyok.c  2012-11-18 02:14:35.000000000 
+0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc.              *
++ * Copyright (c) 1998-2011,2012 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            *
+@@ -33,7 +33,7 @@
+ 
+ #include <curses.priv.h>
+ 
+-MODULE_ID("$Id: keyok.c,v 1.12 2011/10/22 17:03:22 tom Exp $")
++MODULE_ID("$Id: keyok.c,v 1.13 2012/11/18 02:14:35 tom Exp $")
+ 
+ /*
+  * Enable (or disable) ncurses' interpretation of a keycode by adding (or
+@@ -63,23 +63,29 @@
+ 
+           if (flag) {
+               while ((s = _nc_expand_try(SP_PARM->_key_ok,
+-                                         ch, &count, (size_t) 0)) != 0
+-                     && _nc_remove_key(&(SP_PARM->_key_ok), ch)) {
+-                  code = _nc_add_to_try(&(SP_PARM->_keytry), s, ch);
+-                  free(s);
+-                  count = 0;
+-                  if (code != OK)
+-                      break;
++                                         ch, &count, (size_t) 0)) != 0) {
++                  if (_nc_remove_key(&(SP_PARM->_key_ok), ch)) {
++                      code = _nc_add_to_try(&(SP_PARM->_keytry), s, ch);
++                      free(s);
++                      count = 0;
++                      if (code != OK)
++                          break;
++                  } else {
++                      free(s);
++                  }
+               }
+           } else {
+               while ((s = _nc_expand_try(SP_PARM->_keytry,
+-                                         ch, &count, (size_t) 0)) != 0
+-                     && _nc_remove_key(&(SP_PARM->_keytry), ch)) {
+-                  code = _nc_add_to_try(&(SP_PARM->_key_ok), s, ch);
+-                  free(s);
+-                  count = 0;
+-                  if (code != OK)
+-                      break;
++                                         ch, &count, (size_t) 0)) != 0) {
++                  if (_nc_remove_key(&(SP_PARM->_keytry), ch)) {
++                      code = _nc_add_to_try(&(SP_PARM->_key_ok), s, ch);
++                      free(s);
++                      count = 0;
++                      if (code != OK)
++                          break;
++                  } else {
++                      free(s);
++                  }
+               }
+           }
+       }
+Index: ncurses/base/lib_freeall.c
+Prereq:  1.61 
+--- ncurses-5.9-20121110+/ncurses/base/lib_freeall.c   2012-08-25 
19:52:47.000000000 +0000
++++ ncurses-5.9-20121117/ncurses/base/lib_freeall.c    2012-11-17 
23:53:03.000000000 +0000
+@@ -39,7 +39,7 @@
+ extern int malloc_errfd;      /* FIXME */
+ #endif
+ 
+-MODULE_ID("$Id: lib_freeall.c,v 1.61 2012/08/25 19:52:47 tom Exp $")
++MODULE_ID("$Id: lib_freeall.c,v 1.62 2012/11/17 23:53:03 tom Exp $")
+ 
+ /*
+  * Free all ncurses data.  This is used for testing only (there's no practical
+@@ -70,19 +70,21 @@
+ 
+           /* Delete only windows that're not a parent */
+           for (each_window(SP_PARM, p)) {
++              WINDOW *p_win = &(p->win);
+               bool found = FALSE;
+ 
+               for (each_window(SP_PARM, q)) {
++                  WINDOW *q_win = &(q->win);
+                   if ((p != q)
+-                      && (q->win._flags & _SUBWIN)
+-                      && (&(p->win) == q->win._parent)) {
++                      && (q_win->_flags & _SUBWIN)
++                      && (p_win == q_win->_parent)) {
+                       found = TRUE;
+                       break;
+                   }
+               }
+ 
+               if (!found) {
+-                  if (delwin(&(p->win)) != ERR)
++                  if (delwin(p_win) != ERR)
+                       deleted = TRUE;
+                   break;
+               }
+Index: ncurses/tinfo/lib_cur_term.c
+Prereq:  1.30 
+--- ncurses-5.9-20121110+/ncurses/tinfo/lib_cur_term.c 2010-12-19 
01:38:45.000000000 +0000
++++ ncurses-5.9-20121117/ncurses/tinfo/lib_cur_term.c  2012-11-18 
02:12:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc.              *
++ * Copyright (c) 1998-2010,2012 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            *
+@@ -39,7 +39,7 @@
+ #include <curses.priv.h>
+ #include <termcap.h>          /* ospeed */
+ 
+-MODULE_ID("$Id: lib_cur_term.c,v 1.30 2010/12/19 01:38:45 tom Exp $")
++MODULE_ID("$Id: lib_cur_term.c,v 1.31 2012/11/18 02:12:43 tom Exp $")
+ 
+ #undef CUR
+ #define CUR termp->type.
+@@ -148,8 +148,9 @@
+ 
+       FreeIfNeeded(termp->_termname);
+ #if USE_HOME_TERMINFO
+-      if (_nc_globals.home_terminfo != 0)
++      if (_nc_globals.home_terminfo != 0) {
+           FreeAndNull(_nc_globals.home_terminfo);
++      }
+ #endif
+ #ifdef USE_TERM_DRIVER
+       if (TCB->drv)
+Index: ncurses/tinfo/lib_setup.c
+Prereq:  1.150 
+--- ncurses-5.9-20121110+/ncurses/tinfo/lib_setup.c    2012-09-22 
18:46:12.000000000 +0000
++++ ncurses-5.9-20121117/ncurses/tinfo/lib_setup.c     2012-11-18 
00:24:56.000000000 +0000
+@@ -48,7 +48,7 @@
+ #include <locale.h>
+ #endif
+ 
+-MODULE_ID("$Id: lib_setup.c,v 1.150 2012/09/22 18:46:12 tom Exp $")
++MODULE_ID("$Id: lib_setup.c,v 1.151 2012/11/18 00:24:56 tom Exp $")
+ 
+ /****************************************************************************
+  *
+@@ -781,11 +781,14 @@
+       if ((VALID_STRING(cursor_address)
+            || (VALID_STRING(cursor_down) && VALID_STRING(cursor_home)))
+           && VALID_STRING(clear_screen)) {
++          free(termp);
+           ret_error1(TGETENT_YES, "terminal is not really generic.\n", tname);
+       } else {
++          free(termp);
+           ret_error1(TGETENT_NO, "I need something more specific.\n", tname);
+       }
+     } else if (hard_copy) {
++      free(termp);
+       ret_error1(TGETENT_YES, "I can't handle hardcopy terminals.\n", tname);
+     }
+ #endif
+Index: ncurses/tinfo/make_hash.c
+Prereq:  1.8 
+--- ncurses-5.9-20121110+/ncurses/tinfo/make_hash.c    2012-02-22 
22:40:24.000000000 +0000
++++ ncurses-5.9-20121117/ncurses/tinfo/make_hash.c     2012-11-18 
01:30:03.000000000 +0000
+@@ -44,7 +44,7 @@
+ 
+ #include <ctype.h>
+ 
+-MODULE_ID("$Id: make_hash.c,v 1.8 2012/02/22 22:40:24 tom Exp $")
++MODULE_ID("$Id: make_hash.c,v 1.9 2012/11/18 01:30:03 tom Exp $")
+ 
+ /*
+  *    _nc_make_hash_table()
+@@ -119,6 +119,18 @@
+ 
+ #define MAX_COLUMNS BUFSIZ    /* this _has_ to be worst-case */
+ 
++static int
++count_columns(char **list)
++{
++    int result = 0;
++    if (list != 0) {
++      while (*list++) {
++          ++result;
++      }
++    }
++    return result;
++}
++
+ static char **
+ parse_columns(char *buffer)
+ {
+@@ -201,6 +213,13 @@
+       list = parse_columns(buffer);
+       if (list == 0)          /* blank or comment */
+           continue;
++      if (column > count_columns(list)) {
++          fprintf(stderr, "expected %d columns, have %d:\n%s\n",
++                  column,
++                  count_columns(list),
++                  buffer);
++          exit(EXIT_FAILURE);
++      }
+       name_table[n].nte_link = -1;    /* end-of-hash */
+       name_table[n].nte_name = strdup(list[column]);
+       if (!strcmp(list[2], "bool")) {
+Index: ncurses/tinfo/name_match.c
+Prereq:  1.21 
+--- ncurses-5.9-20121110+/ncurses/tinfo/name_match.c   2011-08-13 
20:23:12.000000000 +0000
++++ ncurses-5.9-20121117/ncurses/tinfo/name_match.c    2012-11-18 
02:10:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2008,2011 Free Software Foundation, Inc.              *
++ * Copyright (c) 1999-2011,2012 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            *
+@@ -33,7 +33,7 @@
+ #include <curses.priv.h>
+ #include <tic.h>
+ 
+-MODULE_ID("$Id: name_match.c,v 1.21 2011/08/13 20:23:12 tom Exp $")
++MODULE_ID("$Id: name_match.c,v 1.22 2012/11/18 02:10:17 tom Exp $")
+ 
+ #define FirstName _nc_globals.first_name
+ 
+@@ -62,8 +62,9 @@
+ 
+ #if NO_LEAKS
+     if (sp == 0) {
+-      if (FirstName != 0)
++      if (FirstName != 0) {
+           FreeAndNull(FirstName);
++      }
+     } else
+ #endif
+     {
+Index: ncurses/tinfo/read_entry.c
+Prereq:  1.120 
+--- ncurses-5.9-20121110+/ncurses/tinfo/read_entry.c   2012-10-27 
21:51:07.000000000 +0000
++++ ncurses-5.9-20121117/ncurses/tinfo/read_entry.c    2012-11-18 
01:18:47.000000000 +0000
+@@ -41,7 +41,7 @@
+ 
+ #include <tic.h>
+ 
+-MODULE_ID("$Id: read_entry.c,v 1.120 2012/10/27 21:51:07 tom Exp $")
++MODULE_ID("$Id: read_entry.c,v 1.121 2012/11/18 01:18:47 tom Exp $")
+ 
+ #define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts))
+ 
+@@ -279,6 +279,8 @@
+       }
+ 
+       TR(TRACE_DATABASE, ("READ extended-offsets @%d", offset));
++      if ((unsigned) (ext_str_count + (int) need) >= (MAX_ENTRY_SIZE / 2))
++          return (TGETENT_NO);
+       if ((ext_str_count || need)
+           && !read_shorts(buf, ext_str_count + (int) need))
+           return (TGETENT_NO);
+@@ -315,7 +317,7 @@
+       }
+ 
+       if (need) {
+-          if (ext_str_count >= (MAX_ENTRY_SIZE * 2))
++          if (ext_str_count >= (MAX_ENTRY_SIZE / 2))
+               return (TGETENT_NO);
+           if ((ptr->ext_Names = TYPE_CALLOC(char *, need)) == 0)
+                 return (TGETENT_NO);
+Index: package/debian/changelog
+--- ncurses-5.9-20121110+/package/debian/changelog     2012-11-10 
21:02:45.000000000 +0000
++++ ncurses-5.9-20121117/package/debian/changelog      2012-11-17 
16:58:10.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (5.9-20121110) unstable; urgency=low
++ncurses6 (5.9-20121117) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <[email protected]>  Sat, 10 Nov 2012 16:02:42 
-0500
++ -- Thomas E. Dickey <[email protected]>  Sat, 17 Nov 2012 11:58:08 
-0500
+ 
+ ncurses6 (5.9-20120608) unstable; urgency=low
+ 
+Index: package/ncurses.spec
+--- ncurses-5.9-20121110+/package/ncurses.spec 2012-11-10 21:02:25.000000000 
+0000
++++ ncurses-5.9-20121117/package/ncurses.spec  2012-11-17 16:58:10.000000000 
+0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Release: 5.9
+-Version: 20121110
++Version: 20121117
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{release}-%{version}.tgz
+Index: progs/infocmp.c
+Prereq:  1.122 
+--- ncurses-5.9-20121110+/progs/infocmp.c      2012-10-27 19:50:50.000000000 
+0000
++++ ncurses-5.9-20121117/progs/infocmp.c       2012-11-17 23:15:10.000000000 
+0000
+@@ -42,7 +42,7 @@
+ 
+ #include <dump_entry.h>
+ 
+-MODULE_ID("$Id: infocmp.c,v 1.122 2012/10/27 19:50:50 tom Exp $")
++MODULE_ID("$Id: infocmp.c,v 1.123 2012/11/17 23:15:10 tom Exp $")
+ 
+ #define L_CURL "{"
+ #define R_CURL "}"
+@@ -1220,7 +1220,7 @@
+       need = (strlen(entries->tterm.term_names)
+               + strlen(type)
+               + strlen(fmt));
+-      initializer = (char *) malloc(need);
++      initializer = (char *) malloc(need + 1);
+       if (initializer == 0)
+           failed("any_initializer");
+     }
+Index: progs/tabs.c
+Prereq:  1.24 
+--- ncurses-5.9-20121110+/progs/tabs.c 2012-10-27 19:53:53.000000000 +0000
++++ ncurses-5.9-20121117/progs/tabs.c  2012-11-18 01:21:47.000000000 +0000
+@@ -37,7 +37,7 @@
+ #define USE_LIBTINFO
+ #include <progs.priv.h>
+ 
+-MODULE_ID("$Id: tabs.c,v 1.24 2012/10/27 19:53:53 tom Exp $")
++MODULE_ID("$Id: tabs.c,v 1.25 2012/11/18 01:21:47 tom Exp $")
+ 
+ static void usage(void) GCC_NORETURN;
+ 
+@@ -116,22 +116,24 @@
+       }
+     }
+ 
+-    /*
+-     * If there is only one value, then it is an option such as "-8".
+-     */
+-    if ((n == 0) && (value > 0)) {
+-      int step = value;
+-      while (n < max_cols - 1) {
+-          result[n++] = value;
+-          value += step;
++    if (result != 0) {
++      /*
++       * If there is only one value, then it is an option such as "-8".
++       */
++      if ((n == 0) && (value > 0)) {
++          int step = value;
++          while (n < max_cols - 1) {
++              result[n++] = value;
++              value += step;
++          }
+       }
+-    }
+ 
+-    /*
+-     * Add the last value, if any.
+-     */
+-    result[n++] = value + prior;
+-    result[n] = 0;
++      /*
++       * Add the last value, if any.
++       */
++      result[n++] = value + prior;
++      result[n] = 0;
++    }
+ 
+     return result;
+ }
+Index: progs/toe.c
+Prereq:  1.69 
+--- ncurses-5.9-20121110+/progs/toe.c  2012-10-27 20:01:20.000000000 +0000
++++ ncurses-5.9-20121117/progs/toe.c   2012-11-17 23:39:42.000000000 +0000
+@@ -44,7 +44,7 @@
+ #include <hashed_db.h>
+ #endif
+ 
+-MODULE_ID("$Id: toe.c,v 1.69 2012/10/27 20:01:20 tom Exp $")
++MODULE_ID("$Id: toe.c,v 1.70 2012/11/17 23:39:42 tom Exp $")
+ 
+ #define isDotname(name) (!strcmp(name, ".") || !strcmp(name, ".."))
+ 
+@@ -437,7 +437,10 @@
+                       (void) fprintf(stderr,
+                                      "%s: couldn't open terminfo file %s.\n",
+                                      _nc_progname, name_2);
++                      free(cwd_buf);
+                       free(name_2);
++                      closedir(entrydir);
++                      closedir(termdir);
+                       return (EXIT_FAILURE);
+                   }
+ 
+Index: test/bs.c
+Prereq:  1.53 
+--- ncurses-5.9-20121110+/test/bs.c    2012-06-09 20:30:32.000000000 +0000
++++ ncurses-5.9-20121117/test/bs.c     2012-11-18 00:57:48.000000000 +0000
+@@ -34,7 +34,7 @@
+  * v2.0 featuring strict ANSI/POSIX conformance, November 1993.
+  * v2.1 with ncurses mouse support, September 1995
+  *
+- * $Id: bs.c,v 1.53 2012/06/09 20:30:32 tom Exp $
++ * $Id: bs.c,v 1.54 2012/11/18 00:57:48 tom Exp $
+  */
+ 
+ #include <test.priv.h>
+@@ -863,7 +863,9 @@
+           m = " You'll pick up survivors from my %s, I hope...!";
+           break;
+       }
+-      (void) printw(m, ss->name);
++      if (m != 0) {
++          (void) printw(m, ss->name);
++      }
+       (void) beep();
+     }
+     return (hit);
+Index: test/chgat.c
+Prereq:  1.11 
+--- ncurses-5.9-20121110+/test/chgat.c 2010-05-01 19:12:26.000000000 +0000
++++ ncurses-5.9-20121117/test/chgat.c  2012-11-18 01:55:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2009,2010 Free Software Foundation, Inc.              *
++ * Copyright (c) 2006-2010,2012 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            *
+@@ -26,7 +26,7 @@
+  * authorization.                                                           *
+  ****************************************************************************/
+ /*
+- * $Id: chgat.c,v 1.11 2010/05/01 19:12:26 tom Exp $
++ * $Id: chgat.c,v 1.12 2012/11/18 01:55:35 tom Exp $
+  *
+  * test-driver for chgat/wchgat/mvchgat/mvwchgat
+  */
+@@ -176,6 +176,8 @@
+       delwin(win1);
+       touchwin(win);
+     } else {
++      if (win1 != 0)
++          delwin(win1);
+       beep();
+     }
+ }
+Index: test/clip_printw.c
+Prereq:  1.8 
+--- ncurses-5.9-20121110+/test/clip_printw.c   2012-06-09 20:30:32.000000000 
+0000
++++ ncurses-5.9-20121117/test/clip_printw.c    2012-11-18 00:39:48.000000000 
+0000
+@@ -26,7 +26,7 @@
+  * authorization.                                                           *
+  ****************************************************************************/
+ /*
+- * $Id: clip_printw.c,v 1.8 2012/06/09 20:30:32 tom Exp $
++ * $Id: clip_printw.c,v 1.9 2012/11/18 00:39:48 tom Exp $
+  *
+  * demonstrate how to use printw without wrapping.
+  */
+@@ -207,6 +207,8 @@
+       delwin(win1);
+       touchwin(win);
+     } else {
++      if (win1)
++          delwin(win1);
+       beep();
+     }
+ }
+@@ -337,12 +339,13 @@
+               need = (unsigned) getmaxx(win) - 1;
+               strcpy(fmt, "%c%s%c");
+           }
+-          if ((buffer = typeMalloc(char, need)) != 0) {
++          if ((buffer = typeMalloc(char, need + 1)) != 0) {
+               for (j = 0; j < need; ++j) {
+                   buffer[j] = (char) ('A' + (j % 26));
+               }
+               buffer[need - 1] = '\0';
+               st.status = clip_wprintw(win, fmt, '[', buffer, ']');
++              free(buffer);
+           }
+           break;
+       case 'w':
+Index: test/color_name.h
+Prereq:  1.3 
+--- ncurses-5.9-20121110+/test/color_name.h    2011-05-14 17:41:17.000000000 
+0000
++++ ncurses-5.9-20121117/test/color_name.h     2012-11-18 01:59:32.000000000 
+0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2011 Free Software Foundation, Inc.                        *
++ * Copyright (c) 2011,2012 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            *
+@@ -26,7 +26,7 @@
+  * authorization.                                                           *
+  ****************************************************************************/
+ /*
+- * $Id: color_name.h,v 1.3 2011/05/14 17:41:17 tom Exp $
++ * $Id: color_name.h,v 1.4 2012/11/18 01:59:32 tom Exp $
+  */
+ 
+ #ifndef __COLORNAME_H
+@@ -88,7 +88,7 @@
+     static char temp[20];
+     const char *result = 0;
+ 
+-    if (color > (int) SIZEOF(the_color_names)) {
++    if (color >= (int) SIZEOF(the_color_names)) {
+       sprintf(temp, "%d", color);
+       result = temp;
+     } else if (color < 0) {
+Index: test/demo_forms.c
+Prereq:  1.39 
+--- ncurses-5.9-20121110+/test/demo_forms.c    2012-06-09 20:30:32.000000000 
+0000
++++ ncurses-5.9-20121117/test/demo_forms.c     2012-11-18 01:22:44.000000000 
+0000
+@@ -26,7 +26,7 @@
+  * authorization.                                                           *
+  ****************************************************************************/
+ /*
+- * $Id: demo_forms.c,v 1.39 2012/06/09 20:30:32 tom Exp $
++ * $Id: demo_forms.c,v 1.40 2012/11/18 01:22:44 tom Exp $
+  *
+  * Demonstrate a variety of functions from the form library.
+  * Thomas Dickey - 2003/4/26
+@@ -153,10 +153,10 @@
+       set_form_sub(f, derwin(w, rows, cols, 1, 2));
+       box(w, 0, 0);
+       keypad(w, TRUE);
+-    }
+ 
+-    if (post_form(f) != E_OK)
+-      wrefresh(w);
++      if (post_form(f) != E_OK)
++          wrefresh(w);
++    }
+ }
+ 
+ static void
+Index: test/demo_menus.c
+Prereq:  1.36 
+--- ncurses-5.9-20121110+/test/demo_menus.c    2012-11-03 19:27:01.000000000 
+0000
++++ ncurses-5.9-20121117/test/demo_menus.c     2012-11-18 00:18:54.000000000 
+0000
+@@ -26,7 +26,7 @@
+  * authorization.                                                           *
+  ****************************************************************************/
+ /*
+- * $Id: demo_menus.c,v 1.36 2012/11/03 19:27:01 tom Exp $
++ * $Id: demo_menus.c,v 1.37 2012/11/18 00:18:54 tom Exp $
+  *
+  * Demonstrate a variety of functions from the menu library.
+  * Thomas Dickey - 2005/4/9
+@@ -269,12 +269,15 @@
+               free((char *) blob);
+           }
+           free(items);
++          items = 0;
+       }
+ #ifdef TRACE
+       if ((count > 0) && (m == mpTrace)) {
+           ITEM **ip = items;
+-          while (*ip)
+-              free(*ip++);
++          if (ip != 0) {
++              while (*ip)
++                  free(*ip++);
++          }
+       }
+ #endif
+     }
+@@ -386,6 +389,8 @@
+               }
+               loaded_file = TRUE;
+           }
++          if (ap == 0)
++              free(items);
+       }
+     }
+     if (ap == 0) {
+Index: test/inchs.c
+Prereq:  1.11 
+--- ncurses-5.9-20121110+/test/inchs.c 2010-11-13 23:41:23.000000000 +0000
++++ ncurses-5.9-20121117/test/inchs.c  2012-11-18 01:58:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2007,2010 Free Software Foundation, Inc.                   *
++ * Copyright (c) 2007-2010,2012 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            *
+@@ -26,7 +26,7 @@
+  * authorization.                                                           *
+  ****************************************************************************/
+ /*
+- * $Id: inchs.c,v 1.11 2010/11/13 23:41:23 tom Exp $
++ * $Id: inchs.c,v 1.12 2012/11/18 01:58:15 tom Exp $
+  *
+  * Author: Thomas E Dickey
+  */
+@@ -50,6 +50,16 @@
+ #define BASE_Y 7
+ #define MAX_COLS 1024
+ 
++static void
++failed(const char *s)
++{
++    int save = errno;
++    endwin();
++    errno = save;
++    perror(s);
++    ExitProgram(EXIT_FAILURE);
++}
++
+ static bool
+ Quit(int ch)
+ {
+@@ -87,6 +97,8 @@
+       txtwin = stdscr;
+       base_y = BASE_Y;
+     }
++    if (txtwin == 0)
++      failed("cannot create txtwin");
+ 
+     keypad(txtwin, TRUE);     /* enable keyboard mapping */
+     (void) cbreak();          /* take input chars one at a time, no wait for 
\n */
+Index: test/insdelln.c
+Prereq:  1.6 
+--- ncurses-5.9-20121110+/test/insdelln.c      2012-06-09 20:29:33.000000000 
+0000
++++ ncurses-5.9-20121117/test/insdelln.c       2012-11-18 00:37:58.000000000 
+0000
+@@ -26,7 +26,7 @@
+  * authorization.                                                           *
+  ****************************************************************************/
+ /*
+- * $Id: insdelln.c,v 1.6 2012/06/09 20:29:33 tom Exp $
++ * $Id: insdelln.c,v 1.7 2012/11/18 00:37:58 tom Exp $
+  *
+  * test-driver for deleteln, wdeleteln, insdelln, winsdelln, insertln, 
winsertln
+  */
+@@ -175,6 +175,8 @@
+       delwin(win1);
+       touchwin(win);
+     } else {
++      if (win1)
++          delwin(win1);
+       beep();
+     }
+ }
+Index: test/knight.c
+Prereq:  1.31 
+--- ncurses-5.9-20121110+/test/knight.c        2010-11-13 20:44:21.000000000 
+0000
++++ ncurses-5.9-20121117/test/knight.c 2012-11-17 23:46:31.000000000 +0000
+@@ -33,7 +33,7 @@
+  * Eric S. Raymond <[email protected]> July 22 1995.  Mouse support
+  * added September 20th 1995.
+  *
+- * $Id: knight.c,v 1.31 2010/11/13 20:44:21 tom Exp $
++ * $Id: knight.c,v 1.32 2012/11/17 23:46:31 tom Exp $
+  */
+ 
+ #include <test.priv.h>
+@@ -614,8 +614,8 @@
+                   ny = history[movecount].y;
+                   nx = history[movecount].x;
+                   if (nx < 0 || ny < 0) {
+-                      ny = lastrow;
+-                      nx = lastcol;
++                      ny = (lastrow >= 0) ? lastrow : 0;
++                      nx = (lastcol >= 0) ? lastcol : 0;
+                   }
+                   movecount = 0;
+                   board[ny][nx] = FALSE;
+Index: test/ncurses.c
+Prereq:  1.378 
+--- ncurses-5.9-20121110+/test/ncurses.c       2012-10-27 19:37:56.000000000 
+0000
++++ ncurses-5.9-20121117/test/ncurses.c        2012-11-18 00:56:44.000000000 
+0000
+@@ -40,7 +40,7 @@
+    Author: Eric S. Raymond <[email protected]> 1993
+            Thomas E. Dickey (beginning revision 1.27 in 1996).
+ 
+-$Id: ncurses.c,v 1.378 2012/10/27 19:37:56 tom Exp $
++$Id: ncurses.c,v 1.379 2012/11/18 00:56:44 tom Exp $
+ 
+ ***************************************************************************/
+ 
+@@ -1095,7 +1095,7 @@
+       } else if (c == 'g') {
+           waddstr(win, "getstr test: ");
+           echo();
+-          code = wgetn_wstr(win, wint_buf, sizeof(wint_buf) - 1);
++          code = wgetn_wstr(win, wint_buf, BUFSIZ - 1);
+           noecho();
+           if (code == ERR) {
+               wprintw(win, "wgetn_wstr returns an error.");
+@@ -1660,6 +1660,7 @@
+     short pair;
+     wchar_t wch[10];
+ 
++    memset(&ch, 0, sizeof(ch));
+     if (getbkgrnd(&ch) != ERR) {
+       if (getcchar(&ch, wch, &attr, &pair, 0) != ERR) {
+           result = attr;
+@@ -2182,7 +2183,7 @@
+     bool opt_wide = FALSE;
+     bool opt_nums = FALSE;
+     bool opt_xchr = FALSE;
+-    wchar_t buffer[10];
++    wchar_t buffer[80];
+     WINDOW *helpwin;
+ 
+     if (COLORS * COLORS == COLOR_PAIRS) {
+@@ -5758,10 +5759,9 @@
+       set_form_sub(f, derwin(w, rows, cols, 1, 2));
+       box(w, 0, 0);
+       keypad(w, TRUE);
++      if (post_form(f) != E_OK)
++          wrefresh(w);
+     }
+-
+-    if (post_form(f) != E_OK)
+-      wrefresh(w);
+ }
+ 
+ static void
+Index: test/newdemo.c
+Prereq:  1.36 
+--- ncurses-5.9-20121110+/test/newdemo.c       2012-06-09 19:17:29.000000000 
+0000
++++ ncurses-5.9-20121117/test/newdemo.c        2012-11-17 23:27:50.000000000 
+0000
+@@ -2,7 +2,7 @@
+  *  newdemo.c -       A demo program using PDCurses. The program illustrate
+  *                    the use of colours for text output.
+  *
+- * $Id: newdemo.c,v 1.36 2012/06/09 19:17:29 tom Exp $
++ * $Id: newdemo.c,v 1.37 2012/11/17 23:27:50 tom Exp $
+  */
+ 
+ #include <test.priv.h>
+@@ -113,12 +113,19 @@
+     getbegyx(win, by, bx);
+     sw = w / 3;
+     sh = h / 3;
+-    if ((swin1 = subwin(win, sh, sw, by + 3, bx + 5)) == NULL)
++
++    if ((swin1 = subwin(win, sh, sw, by + 3, bx + 5)) == NULL) {
+       return 1;
+-    if ((swin2 = subwin(win, sh, sw, by + 4, bx + 8)) == NULL)
++    }
++    if ((swin2 = subwin(win, sh, sw, by + 4, bx + 8)) == NULL) {
++      delwin(swin1);
+       return 1;
+-    if ((swin3 = subwin(win, sh, sw, by + 5, bx + 11)) == NULL)
++    }
++    if ((swin3 = subwin(win, sh, sw, by + 5, bx + 11)) == NULL) {
++      delwin(swin1);
++      delwin(swin2);
+       return 1;
++    }
+ 
+     set_colors(swin1, 8, COLOR_RED, COLOR_BLUE);
+     werase(swin1);

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to