-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.4033 2023/11/19 00:46:27 tom Exp $
+-- $Id: NEWS,v 1.4035 2023/11/21 21:51:04 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20231121
+ + amend fix for Debian #1055882, correcting nul terminator check in
+ waddnstr (Debian #1056340).
+
20231118
+ improve description of length-parameter and error-returns in several
manpages: curs_addchstr.3x, curs_addstr.3x, curs_addwstr.3x,
-5:0:10 6.4 20231118
+5:0:10 6.4 20231121
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1577 2023/11/18 10:46:15 tom Exp $
+# $Id: dist.mk,v 1.1578 2023/11/21 21:44:33 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 4
-NCURSES_PATCH = 20231118
+NCURSES_PATCH = 20231121
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
#include <curses.priv.h>
-MODULE_ID("$Id: lib_addstr.c,v 1.61 2023/11/18 23:54:19 tom Exp $")
+MODULE_ID("$Id: lib_addstr.c,v 1.62 2023/11/21 21:47:23 tom Exp $")
NCURSES_EXPORT(int)
waddnstr(WINDOW *win, const char *astr, int n)
(explicit ? n : (int) strlen(str))));
if (!explicit)
n = INT_MAX;
- while ((explicit || (*str != '\0')) && (n-- > 0)) {
+ while ((n-- > 0) && (*str != '\0')) {
NCURSES_CH_T ch;
TR(TRACE_VIRTPUT, ("*str = %#o", UChar(*str)));
SetChar(ch, UChar(*str++), A_NORMAL);
(explicit ? n : (int) wcslen(str))));
if (!explicit)
n = INT_MAX;
- while ((explicit || (*str != L('\0'))) && (n-- > 0)) {
+ while ((n-- > 0) && (*str != L('\0'))) {
NCURSES_CH_T ch;
TR(TRACE_VIRTPUT, ("*str[0] = %#lx", (unsigned long) *str));
SetChar(ch, *str++, A_NORMAL);
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_insnstr.c,v 1.9 2023/11/18 23:47:19 tom Exp $")
+MODULE_ID("$Id: lib_insnstr.c,v 1.10 2023/11/21 21:58:03 tom Exp $")
NCURSES_EXPORT(int)
winsnstr(WINDOW *win, const char *s, int n)
* call to the wins_nwstr() function.
*/
if (sp->_screen_unicode) {
- size_t nn = (n >= 0) ? (size_t) n : strlen(s);
+ size_t nn = (n > 0) ? (size_t) n : strlen(s);
wchar_t *buffer = typeMalloc(wchar_t, nn + 1);
if (buffer != 0) {
mbstate_t state;
#include <curses.priv.h>
-MODULE_ID("$Id: lib_ins_wch.c,v 1.27 2023/11/18 23:48:20 tom Exp $")
+MODULE_ID("$Id: lib_ins_wch.c,v 1.29 2023/11/21 21:53:28 tom Exp $")
/*
* Insert the given character, updating the current location to simplify
if (win != 0
&& wstr != 0
&& n != 0) {
- bool explicit = TRUE;
if (n < 0) {
- explicit = FALSE;
n = INT_MAX;
}
code = OK;
NCURSES_SIZE_T oy = win->_cury;
NCURSES_SIZE_T ox = win->_curx;
- for (cp = wstr; (explicit || (*cp != L'\0')) && ((cp - wstr) < n); cp++) {
+ for (cp = wstr; ((cp - wstr) < n) && (*cp != L'\0'); cp++) {
int len = _nc_wacs_width(*cp);
if ((len >= 0 && len != 1) || !is7bits(*cp)) {
-ncurses6 (6.4+20231118) unstable; urgency=low
+ncurses6 (6.4+20231121) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 13 Nov 2023 20:05:39 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Tue, 21 Nov 2023 16:44:33 -0500
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20231118) unstable; urgency=low
+ncurses6 (6.4+20231121) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 13 Nov 2023 20:05:39 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Tue, 21 Nov 2023 16:44:33 -0500
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20231118) unstable; urgency=low
+ncurses6 (6.4+20231121) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 13 Nov 2023 20:05:39 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Tue, 21 Nov 2023 16:44:33 -0500
ncurses6 (5.9+20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.617 2023/11/14 01:05:39 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.618 2023/11/21 21:44:33 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "4"\r
!define VERSION_YYYY "2023"\r
-!define VERSION_MMDD "1118"\r
+!define VERSION_MMDD "1121"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.4
-Release: 20231118
+Release: 20231121
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.4
-Release: 20231118
+Release: 20231121
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.4
-Release: 20231118
+Release: 20231121
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz