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]
