From 9fab8ab6b69130169a6880e63585d83efb1c1722 Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Sun, 22 Feb 2009 02:08:00 +0000 Subject: [PATCH 1/1] ncurses 5.7 - patch 20090221 + continue integrating "sp-funcs" by Juergen Pfeifer (incomplete). --- NEWS | 5 +- dist.mk | 4 +- include/capdefaults.c | 6 +-- include/curses.h.in | 4 +- ncurses/base/MKlib_gen.sh | 4 +- ncurses/base/key_defined.c | 7 ++- ncurses/base/keybound.c | 4 +- ncurses/base/legacy_coding.c | 4 +- ncurses/base/lib_echo.c | 12 +++-- ncurses/base/lib_nl.c | 18 ++++--- ncurses/base/lib_slkatr_set.c | 4 +- ncurses/base/lib_slkatrof.c | 4 +- ncurses/base/lib_slkatron.c | 4 +- ncurses/base/lib_slkatrset.c | 4 +- ncurses/base/lib_slkattr.c | 4 +- ncurses/base/lib_slkclear.c | 12 ++--- ncurses/base/lib_slkcolor.c | 6 +-- ncurses/base/lib_slklab.c | 10 ++-- ncurses/base/lib_slkset.c | 6 +-- ncurses/base/lib_slktouch.c | 6 +-- ncurses/base/lib_winch.c | 8 ++-- ncurses/base/tries.c | 6 ++- ncurses/curses.priv.h | 84 ++++++++++++++++++++++++++++----- ncurses/tinfo/MKnames.awk | 4 +- ncurses/tinfo/lib_termname.c | 4 +- ncurses/tinfo/lib_tparm.c | 3 +- ncurses/tinfo/make_keys.c | 12 ++--- ncurses/tinfo/name_match.c | 3 +- ncurses/tinfo/use_screen.c | 4 +- ncurses/trace/lib_tracebits.c | 3 +- ncurses/trace/lib_tracemse.c | 4 +- ncurses/trace/varargs.c | 4 +- ncurses/tty/lib_vidattr.c | 4 +- ncurses/widechar/lib_cchar.c | 8 ++-- ncurses/widechar/lib_get_wstr.c | 3 +- ncurses/widechar/lib_wacs.c | 3 +- 36 files changed, 173 insertions(+), 112 deletions(-) diff --git a/NEWS b/NEWS index f35276ff..2830d23c 100644 --- a/NEWS +++ b/NEWS @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.1364 2009/02/15 00:20:00 tom Exp $ +-- $Id: NEWS,v 1.1365 2009/02/22 02:05:30 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,6 +45,9 @@ See the AUTHORS file for the corresponding full names. Changes through 1.9.9e did not credit all contributions; it is not possible to add this information. +20090221 + + continue integrating "sp-funcs" by Juergen Pfeifer (incomplete). + 20090214 + add configure script --enable-sp-funcs to enable the new set of extended functions. diff --git a/dist.mk b/dist.mk index 13e1f296..fe733c52 100644 --- a/dist.mk +++ b/dist.mk @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.686 2009/02/14 21:09:27 tom Exp $ +# $Id: dist.mk,v 1.687 2009/02/21 21:20:20 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -37,7 +37,7 @@ SHELL = /bin/sh # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 5 NCURSES_MINOR = 7 -NCURSES_PATCH = 20090214 +NCURSES_PATCH = 20090221 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) diff --git a/include/capdefaults.c b/include/capdefaults.c index 33f2fe8f..da76cc1d 100644 --- a/include/capdefaults.c +++ b/include/capdefaults.c @@ -32,7 +32,7 @@ * and: Thomas E. Dickey 1996-on * ****************************************************************************/ -/* $Id: capdefaults.c,v 1.13 2008/08/04 12:33:42 tom Exp $ */ +/* $Id: capdefaults.c,v 1.14 2008/11/16 00:19:59 juergen Exp $ */ /* * Compute obsolete capabilities. The reason this is an include file is @@ -44,11 +44,11 @@ * postprocess_termcap(). */ { - char *sp; + char *strp; short capval; #define EXTRACT_DELAY(str) \ - (short) (sp = strchr(str, '*'), sp ? atoi(sp+1) : 0) + (short) (strp = strchr(str, '*'), strp ? atoi(strp+1) : 0) /* current (4.4BSD) capabilities marked obsolete */ if (VALID_STRING(carriage_return) diff --git a/include/curses.h.in b/include/curses.h.in index 79bd623f..5baab3ea 100644 --- a/include/curses.h.in +++ b/include/curses.h.in @@ -32,7 +32,7 @@ * and: Thomas E. Dickey 1996-on * ****************************************************************************/ -/* $Id: curses.h.in,v 1.193 2009/02/15 00:04:23 tom Exp $ */ +/* $Id: curses.h.in,v 1.194 2009/02/21 22:44:41 tom Exp $ */ #ifndef __NCURSES_H #define __NCURSES_H @@ -929,6 +929,8 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(raw) (SCREEN*); /* implemented */ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_prog_mode) (SCREEN*); /* implemented */ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_shell_mode) (SCREEN*); /* implemented */ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ripoffline) (SCREEN*, int, int (*)(WINDOW *, int)); /* implemented */ +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_init) (SCREEN*, const char *); /* implemented */ +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_restore) (SCREEN*, const char *); /* implemented */ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_set) (SCREEN*, const char *); /* implemented */ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attroff) (SCREEN*, const chtype); /* implemented */ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attron) (SCREEN*, const chtype); /* implemented */ diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh index a984e854..3171ed3f 100755 --- a/ncurses/base/MKlib_gen.sh +++ b/ncurses/base/MKlib_gen.sh @@ -2,7 +2,7 @@ # # MKlib_gen.sh -- generate sources from curses.h macro definitions # -# ($Id: MKlib_gen.sh,v 1.34 2008/08/30 19:20:50 tom Exp $) +# ($Id: MKlib_gen.sh,v 1.35 2008/11/16 00:19:59 juergen Exp $) # ############################################################################## # Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. # @@ -199,7 +199,7 @@ $0 !~ /^P_/ { } second = first + 1; if ( $first == "chtype" ) { - returnType = "Char"; + returnType = "Chtype"; } else if ( $first == "SCREEN" ) { returnType = "SP"; } else if ( $first == "WINDOW" ) { diff --git a/ncurses/base/key_defined.c b/ncurses/base/key_defined.c index 20fd9217..f8f23466 100644 --- a/ncurses/base/key_defined.c +++ b/ncurses/base/key_defined.c @@ -27,13 +27,12 @@ ****************************************************************************/ /**************************************************************************** - * Author: Thomas E. Dickey 2003 * - * and: Juergen Pfeifer 2009 * + * Author: Thomas E. Dickey, 2003 * ****************************************************************************/ #include -MODULE_ID("$Id: key_defined.c,v 1.7 2009/02/15 00:30:00 tom Exp $") +MODULE_ID("$Id: key_defined.c,v 1.8 2009/02/21 16:24:26 tom Exp $") static int find_definition(TRIES * tree, const char *str) @@ -70,7 +69,7 @@ NCURSES_SP_NAME(key_defined) (NCURSES_SP_DCLx const char *str) { int code = ERR; - T((T_CALLED("key_defined(%s)"), _nc_visbuf(str))); + T((T_CALLED("key_defined(%p, %s)"), SP_PARM, _nc_visbuf(str))); if (SP_PARM != 0 && str != 0) { code = find_definition(SP_PARM->_keytry, str); } diff --git a/ncurses/base/keybound.c b/ncurses/base/keybound.c index 279e0a57..70936359 100644 --- a/ncurses/base/keybound.c +++ b/ncurses/base/keybound.c @@ -33,7 +33,7 @@ #include -MODULE_ID("$Id: keybound.c,v 1.8 2009/02/15 00:31:10 tom Exp $") +MODULE_ID("$Id: keybound.c,v 1.9 2009/02/21 16:32:34 tom Exp $") /* * Returns the count'th string definition which is associated with the @@ -44,7 +44,7 @@ NCURSES_SP_NAME(keybound) (NCURSES_SP_DCLx int code, int count) { char *result = 0; - T((T_CALLED("keybound(%d,%d)"), code, count)); + T((T_CALLED("keybound(%p, %d,%d)"), SP_PARM, code, count)); if (SP_PARM != 0 && code >= 0) { result = _nc_expand_try(SP_PARM->_keytry, (unsigned) code, &count, 0); } diff --git a/ncurses/base/legacy_coding.c b/ncurses/base/legacy_coding.c index 76654302..b347cea7 100644 --- a/ncurses/base/legacy_coding.c +++ b/ncurses/base/legacy_coding.c @@ -33,14 +33,14 @@ #include -MODULE_ID("$Id: legacy_coding.c,v 1.3 2009/02/14 21:46:14 tom Exp $") +MODULE_ID("$Id: legacy_coding.c,v 1.4 2009/02/21 16:16:38 tom Exp $") NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (NCURSES_SP_DCLx int level) { int result = ERR; - T((T_CALLED("use_legacy_coding(%d)"), level)); + T((T_CALLED("use_legacy_coding(%p,%d)"), SP_PARM, level)); if (level >= 0 && level <= 2 && SP_PARM != 0) { result = SP_PARM->_legacy_coding; SP_PARM->_legacy_coding = level; diff --git a/ncurses/base/lib_echo.c b/ncurses/base/lib_echo.c index 4f10f482..c2cdfc9b 100644 --- a/ncurses/base/lib_echo.c +++ b/ncurses/base/lib_echo.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. * + * Copyright (c) 1998-2008,2009 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 * @@ -44,12 +44,14 @@ #include -MODULE_ID("$Id: lib_echo.c,v 1.6 2009/02/15 00:34:19 tom Exp $") +MODULE_ID("$Id: lib_echo.c,v 1.7 2009/02/21 20:20:40 tom Exp $") NCURSES_EXPORT(int) NCURSES_SP_NAME(echo) (NCURSES_SP_DCL0) { - T((T_CALLED("echo()"))); + T((T_CALLED("echo(%p)"), SP_PARM)); + if (0 == SP_PARM) + returnCode(ERR); SP_PARM->_echo = TRUE; returnCode(OK); } @@ -65,7 +67,9 @@ echo(void) NCURSES_EXPORT(int) NCURSES_SP_NAME(noecho) (NCURSES_SP_DCL0) { - T((T_CALLED("noecho()"))); + T((T_CALLED("noecho(%p)"), SP_PARM)); + if (0 == SP_PARM) + returnCode(ERR); SP_PARM->_echo = FALSE; returnCode(OK); } diff --git a/ncurses/base/lib_nl.c b/ncurses/base/lib_nl.c index c3a830bd..9a05ab8b 100644 --- a/ncurses/base/lib_nl.c +++ b/ncurses/base/lib_nl.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. * + * Copyright (c) 1998-2008,2009 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 * @@ -44,7 +44,7 @@ #include -MODULE_ID("$Id: lib_nl.c,v 1.9 2009/02/15 00:38:22 tom Exp $") +MODULE_ID("$Id: lib_nl.c,v 1.10 2009/02/21 20:58:21 tom Exp $") #ifdef __EMX__ #include @@ -53,15 +53,14 @@ MODULE_ID("$Id: lib_nl.c,v 1.9 2009/02/15 00:38:22 tom Exp $") NCURSES_EXPORT(int) NCURSES_SP_NAME(nl) (NCURSES_SP_DCL0) { - T((T_CALLED("nl()"))); - + T((T_CALLED("nl(%p)"), SP_PARM)); + if (0 == SP_PARM) + returnCode(ERR); SP_PARM->_nl = TRUE; - #ifdef __EMX__ _nc_flush(); _fsetmode(NC_OUTPUT, "t"); #endif - returnCode(OK); } @@ -76,15 +75,14 @@ nl(void) NCURSES_EXPORT(int) NCURSES_SP_NAME(nonl) (NCURSES_SP_DCL0) { - T((T_CALLED("nonl()"))); - + T((T_CALLED("nonl(%p)"), SP_PARM)); + if (0 == SP_PARM) + returnCode(ERR); SP_PARM->_nl = FALSE; - #ifdef __EMX__ _nc_flush(); _fsetmode(NC_OUTPUT, "b"); #endif - returnCode(OK); } diff --git a/ncurses/base/lib_slkatr_set.c b/ncurses/base/lib_slkatr_set.c index 7fba7ac3..f9ac4951 100644 --- a/ncurses/base/lib_slkatr_set.c +++ b/ncurses/base/lib_slkatr_set.c @@ -38,7 +38,7 @@ */ #include -MODULE_ID("$Id: lib_slkatr_set.c,v 1.12 2009/02/15 00:33:48 tom Exp $") +MODULE_ID("$Id: lib_slkatr_set.c,v 1.13 2009/02/21 17:20:17 tom Exp $") NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attr_set) (NCURSES_SP_DCLx @@ -48,7 +48,7 @@ NCURSES_SP_NAME(slk_attr_set) (NCURSES_SP_DCLx { int code = ERR; - T((T_CALLED("slk_attr_set(%s,%d)"), _traceattr(attr), color_pair_number)); + T((T_CALLED("slk_attr_set(%p,%s,%d)"), SP_PARM, _traceattr(attr), color_pair_number)); if (SP_PARM != 0 && SP_PARM->_slk != 0 diff --git a/ncurses/base/lib_slkatrof.c b/ncurses/base/lib_slkatrof.c index afbc62a8..274f963f 100644 --- a/ncurses/base/lib_slkatrof.c +++ b/ncurses/base/lib_slkatrof.c @@ -38,12 +38,12 @@ */ #include -MODULE_ID("$Id: lib_slkatrof.c,v 1.9 2009/02/15 00:33:48 tom Exp $") +MODULE_ID("$Id: lib_slkatrof.c,v 1.10 2009/02/21 17:35:28 tom Exp $") NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attroff) (NCURSES_SP_DCLx const chtype attr) { - T((T_CALLED("slk_attroff(%s)"), _traceattr(attr))); + T((T_CALLED("slk_attroff(%p,%s)"), SP_PARM, _traceattr(attr))); if (SP_PARM != 0 && SP_PARM->_slk != 0) { TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP_PARM->_slk->attr)))); diff --git a/ncurses/base/lib_slkatron.c b/ncurses/base/lib_slkatron.c index a3be55f2..4734ce5f 100644 --- a/ncurses/base/lib_slkatron.c +++ b/ncurses/base/lib_slkatron.c @@ -38,12 +38,12 @@ */ #include -MODULE_ID("$Id: lib_slkatron.c,v 1.9 2009/02/15 00:33:48 tom Exp $") +MODULE_ID("$Id: lib_slkatron.c,v 1.10 2009/02/21 18:16:04 tom Exp $") NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attron) (NCURSES_SP_DCLx const chtype attr) { - T((T_CALLED("slk_attron(%s)"), _traceattr(attr))); + T((T_CALLED("slk_attron(%p,%s)"), SP_PARM, _traceattr(attr))); if (SP_PARM != 0 && SP_PARM->_slk != 0) { TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP_PARM->_slk->attr)))); diff --git a/ncurses/base/lib_slkatrset.c b/ncurses/base/lib_slkatrset.c index 3a3110f7..e33747e7 100644 --- a/ncurses/base/lib_slkatrset.c +++ b/ncurses/base/lib_slkatrset.c @@ -38,12 +38,12 @@ */ #include -MODULE_ID("$Id: lib_slkatrset.c,v 1.8 2009/02/15 00:33:48 tom Exp $") +MODULE_ID("$Id: lib_slkatrset.c,v 1.9 2009/02/21 17:49:07 tom Exp $") NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attrset) (NCURSES_SP_DCLx const chtype attr) { - T((T_CALLED("slk_attrset(%s)"), _traceattr(attr))); + T((T_CALLED("slk_attrset(%p,%s)"), SP_PARM, _traceattr(attr))); if (SP_PARM != 0 && SP_PARM->_slk != 0) { SetAttr(SP_PARM->_slk->attr, attr); diff --git a/ncurses/base/lib_slkattr.c b/ncurses/base/lib_slkattr.c index 0600f37c..2e254da4 100644 --- a/ncurses/base/lib_slkattr.c +++ b/ncurses/base/lib_slkattr.c @@ -38,12 +38,12 @@ */ #include -MODULE_ID("$Id: lib_slkattr.c,v 1.7 2009/02/15 00:33:48 tom Exp $") +MODULE_ID("$Id: lib_slkattr.c,v 1.8 2009/02/21 17:48:14 tom Exp $") NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(slk_attr) (NCURSES_SP_DCL0) { - T((T_CALLED("slk_attr()"))); + T((T_CALLED("slk_attr(%p)"), SP_PARM)); if (SP_PARM != 0 && SP_PARM->_slk != 0) { attr_t result = AttrOf(SP_PARM->_slk->attr) & ALL_BUT_COLOR; diff --git a/ncurses/base/lib_slkclear.c b/ncurses/base/lib_slkclear.c index 991315cd..54d57816 100644 --- a/ncurses/base/lib_slkclear.c +++ b/ncurses/base/lib_slkclear.c @@ -40,22 +40,22 @@ */ #include -MODULE_ID("$Id: lib_slkclear.c,v 1.11 2009/02/15 00:33:48 tom Exp $") +MODULE_ID("$Id: lib_slkclear.c,v 1.12 2009/02/21 17:47:14 tom Exp $") NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_clear) (NCURSES_SP_DCL0) { int rc = ERR; - T((T_CALLED("slk_clear()"))); + T((T_CALLED("slk_clear(%p)"), SP_PARM)); - if (SP_PARM != NULL && SP_PARM->_slk != NULL) { + if (SP_PARM != 0 && SP_PARM->_slk != 0) { SP_PARM->_slk->hidden = TRUE; /* For simulated SLK's it looks much more natural to inherit those attributes from the standard screen */ - SP_PARM->_slk->win->_nc_bkgd = stdscr->_nc_bkgd; - WINDOW_ATTRS(SP_PARM->_slk->win) = WINDOW_ATTRS(stdscr); - if (SP_PARM->_slk->win == stdscr) { + SP_PARM->_slk->win->_nc_bkgd = SP_PARM->_stdscr->_nc_bkgd; + WINDOW_ATTRS(SP_PARM->_slk->win) = WINDOW_ATTRS(SP_PARM->_stdscr); + if (SP_PARM->_slk->win == SP_PARM->_stdscr) { rc = OK; } else { werase(SP_PARM->_slk->win); diff --git a/ncurses/base/lib_slkcolor.c b/ncurses/base/lib_slkcolor.c index 6681c5b0..17550bd1 100644 --- a/ncurses/base/lib_slkcolor.c +++ b/ncurses/base/lib_slkcolor.c @@ -27,7 +27,7 @@ ****************************************************************************/ /**************************************************************************** - * Author: Juergen Pfeifer, 1998 * + * Author: Juergen Pfeifer, 1998,2009 * * and: Thomas E. Dickey 2005-on * ****************************************************************************/ @@ -38,14 +38,14 @@ */ #include -MODULE_ID("$Id: lib_slkcolor.c,v 1.14 2009/02/15 00:33:48 tom Exp $") +MODULE_ID("$Id: lib_slkcolor.c,v 1.15 2009/02/21 16:59:50 tom Exp $") NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_color) (NCURSES_SP_DCLx short color_pair_number) { int code = ERR; - T((T_CALLED("slk_color(%d)"), color_pair_number)); + T((T_CALLED("slk_color(%p,%d)"), SP_PARM, color_pair_number)); if (SP_PARM != 0 && SP_PARM->_slk != 0 diff --git a/ncurses/base/lib_slklab.c b/ncurses/base/lib_slklab.c index eba38969..85bb8cbd 100644 --- a/ncurses/base/lib_slklab.c +++ b/ncurses/base/lib_slklab.c @@ -29,8 +29,8 @@ /**************************************************************************** * Author: Zeyd M. Ben-Halim 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * + * and: Juergen Pfeifer, 1998,2009 * + * and: Thomas E. Dickey 1998-on * ****************************************************************************/ /* @@ -40,14 +40,14 @@ */ #include -MODULE_ID("$Id: lib_slklab.c,v 1.8 2009/02/15 00:42:53 tom Exp $") +MODULE_ID("$Id: lib_slklab.c,v 1.9 2009/02/21 18:48:42 tom Exp $") NCURSES_EXPORT(char *) NCURSES_SP_NAME(slk_label) (NCURSES_SP_DCLx int n) { - T((T_CALLED("slk_label(%d)"), n)); + T((T_CALLED("slk_label(%p,%d)"), SP_PARM, n)); - if (SP_PARM == NULL || SP_PARM->_slk == NULL || n < 1 || n > SP_PARM->_slk->labcnt) + if (SP_PARM == 0 || SP_PARM->_slk == 0 || n < 1 || n > SP_PARM->_slk->labcnt) returnPtr(0); returnPtr(SP_PARM->_slk->ent[n - 1].ent_text); } diff --git a/ncurses/base/lib_slkset.c b/ncurses/base/lib_slkset.c index 51d0bfde..fa09bbf5 100644 --- a/ncurses/base/lib_slkset.c +++ b/ncurses/base/lib_slkset.c @@ -44,7 +44,7 @@ #endif #endif -MODULE_ID("$Id: lib_slkset.c,v 1.18 2009/02/15 00:33:48 tom Exp $") +MODULE_ID("$Id: lib_slkset.c,v 1.19 2009/02/21 17:34:06 tom Exp $") NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format) @@ -57,7 +57,7 @@ NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format) const char *str = astr; const char *p; - T((T_CALLED("slk_set(%d, \"%s\", %d)"), i, str, format)); + T((T_CALLED("slk_set(%p, %d, \"%s\", %d)"), SP_PARM, i, str, format)); if (SP_PARM == 0 || (slk = SP_PARM->_slk) == 0 @@ -66,7 +66,7 @@ NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format) || format < 0 || format > 2) returnCode(ERR); - if (str == NULL) + if (str == 0) str = ""; --i; /* Adjust numbering of labels */ diff --git a/ncurses/base/lib_slktouch.c b/ncurses/base/lib_slktouch.c index 7520bd15..d27207ff 100644 --- a/ncurses/base/lib_slktouch.c +++ b/ncurses/base/lib_slktouch.c @@ -38,14 +38,14 @@ */ #include -MODULE_ID("$Id: lib_slktouch.c,v 1.6 2009/02/15 00:44:36 tom Exp $") +MODULE_ID("$Id: lib_slktouch.c,v 1.7 2009/02/21 17:42:59 tom Exp $") NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_touch) (NCURSES_SP_DCL0) { - T((T_CALLED("slk_touch()"))); + T((T_CALLED("slk_touch(%p)"), SP_PARM)); - if (SP_PARM == NULL || SP_PARM->_slk == NULL) + if (SP_PARM == 0 || SP_PARM->_slk == 0) returnCode(ERR); SP_PARM->_slk->dirty = TRUE; diff --git a/ncurses/base/lib_winch.c b/ncurses/base/lib_winch.c index 18da9c59..5fb3f9e3 100644 --- a/ncurses/base/lib_winch.c +++ b/ncurses/base/lib_winch.c @@ -39,16 +39,16 @@ #include -MODULE_ID("$Id: lib_winch.c,v 1.5 2001/06/02 23:42:08 skimo Exp $") +MODULE_ID("$Id: lib_winch.c,v 1.6 2008/11/16 00:19:59 juergen Exp $") NCURSES_EXPORT(chtype) winch(WINDOW *win) { T((T_CALLED("winch(%p)"), win)); if (win != 0) { - returnChar(CharOf(win->_line[win->_cury].text[win->_curx]) | - AttrOf(win->_line[win->_cury].text[win->_curx])); + returnChtype(CharOf(win->_line[win->_cury].text[win->_curx]) | + AttrOf(win->_line[win->_cury].text[win->_curx])); } else { - returnChar(0); + returnChtype(0); } } diff --git a/ncurses/base/tries.c b/ncurses/base/tries.c index c4263c7e..402bd2f7 100644 --- a/ncurses/base/tries.c +++ b/ncurses/base/tries.c @@ -39,7 +39,7 @@ #include -MODULE_ID("$Id: tries.c,v 1.27 2008/08/16 19:22:55 tom Exp $") +MODULE_ID("$Id: tries.c,v 1.28 2008/11/16 00:19:59 juergen Exp $") /* * Expand a keycode into the string that it corresponds to, returning null if @@ -72,7 +72,9 @@ _nc_expand_try(TRIES * tree, unsigned code, int *count, size_t len) *((unsigned char *) (result + len)) = 128; #ifdef TRACE if (len == 0 && USE_TRACEF(TRACE_MAXIMUM)) { - _tracef("expand_key %s %s", _nc_tracechar(SP, code), _nc_visbuf(result)); + _tracef("expand_key %s %s", + _nc_tracechar(CURRENT_SCREEN, code), + _nc_visbuf(result)); _nc_unlock_global(tracef); } #endif diff --git a/ncurses/curses.priv.h b/ncurses/curses.priv.h index 32c4fe4c..20ca3623 100644 --- a/ncurses/curses.priv.h +++ b/ncurses/curses.priv.h @@ -34,7 +34,7 @@ /* - * $Id: curses.priv.h,v 1.399 2009/02/15 01:05:47 tom Exp $ + * $Id: curses.priv.h,v 1.402 2009/02/21 22:54:34 tom Exp $ * * curses.priv.h * @@ -319,7 +319,7 @@ color_t; #if NCURSES_NO_PADDING #define GetNoPadding(sp) ((sp) ? (sp)->_no_padding : _nc_prescreen._no_padding) #define SetNoPadding(sp) _nc_set_no_padding(sp) -extern NCURSES_EXPORT(void) _nc_set_no_padding(SCREEN *); +extern NCURSES_EXPORT(void) _nc_set_no_padding(SCREEN *); #else #define GetNoPadding(sp) FALSE #define SetNoPadding(sp) /*nothing*/ @@ -496,13 +496,13 @@ typedef struct } slk_ent; typedef struct _SLK { - char dirty; /* all labels have changed */ - char hidden; /* soft labels are hidden */ - WINDOW *win; + bool dirty; /* all labels have changed */ + bool hidden; /* soft labels are hidden */ + WINDOW *win; slk_ent *ent; - short maxlab; /* number of available labels */ - short labcnt; /* number of allocated labels */ - short maxlen; /* length of labels */ + short maxlab; /* number of available labels */ + short labcnt; /* number of allocated labels */ + short maxlen; /* length of labels */ NCURSES_CH_T attr; /* soft label attribute */ } SLK; @@ -735,8 +735,8 @@ struct screen { char *_setbuf; /* buffered I/O for output */ bool _filtered; /* filter() was called */ bool _buffered; /* setvbuf uses _setbuf data */ - bool _prescreen; /* is in prescreen phase */ - bool _use_env; /* LINES & COLS from environment? */ + bool _prescreen; /* is in prescreen phase */ + bool _use_env; /* LINES & COLS from environment? */ int _checkfd; /* filedesc for typeahead check */ TERMINAL *_term; /* terminal type information */ TTY _saved_tty; /* savetty/resetty information */ @@ -1299,7 +1299,7 @@ extern NCURSES_EXPORT(void) _nc_locked_tracef (const char *, ...) GCC_PRINTFLIKE #define returnBool(code) TRACE_RETURN(code,bool) #define returnCPtr(code) TRACE_RETURN(code,cptr) #define returnCVoidPtr(code) TRACE_RETURN(code,cvoid_ptr) -#define returnChar(code) TRACE_RETURN(code,chtype) +#define returnChtype(code) TRACE_RETURN(code,chtype) #define returnCode(code) TRACE_RETURN(code,int) #define returnPtr(code) TRACE_RETURN(code,ptr) #define returnSP(code) TRACE_RETURN(code,sp) @@ -1358,7 +1358,7 @@ extern NCURSES_EXPORT(const char *) _nc_viscbuf (const NCURSES_CH_T *, int); #define returnBool(code) return code #define returnCPtr(code) return code #define returnCVoidPtr(code) return code -#define returnChar(code) return code +#define returnChtype(code) return code #define returnCode(code) return code #define returnPtr(code) return code #define returnSP(code) return code @@ -1753,6 +1753,66 @@ extern NCURSES_EXPORT(int) _nc_ripoffline (int line, int (*init)(WINDOW *,int)); #define MSG_NO_MEMORY "Out of memory" #define MSG_NO_INPUTS "Premature EOF" +/* timed_wait flag definitions */ +#define TW_NONE 0 +#define TW_INPUT 1 +#define TW_MOUSE 2 +#define TW_ANY (TW_INPUT | TW_MOUSE) +#define TW_EVENT 4 + +/* + * Exported entrypoints beyond the published API + */ +extern NCURSES_EXPORT(WINDOW *) _nc_curscr_of(SCREEN*); +extern NCURSES_EXPORT(WINDOW *) _nc_newscr_of(SCREEN*); +extern NCURSES_EXPORT(WINDOW *) _nc_stdscr_of(SCREEN*); +extern NCURSES_EXPORT(int) _nc_outc_wrapper(SCREEN*,int); + +extern NCURSES_EXPORT(TERMINAL*) NCURSES_SP_NAME(_nc_set_curterm)(SCREEN*,TERMINAL*); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_del_curterm)(SCREEN*,TERMINAL*); + +#if NCURSES_EXT_FUNCS +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_set_tabsize)(SCREEN*, int); +#endif + +extern NCURSES_EXPORT(chtype) NCURSES_SP_NAME(_nc_acs_char)(SCREEN*,int); + +/* + * We put the safe versions of various calls here as they are not published + * part of the API up to now + */ +extern NCURSES_EXPORT(SCREEN*) _nc_SP(void); + +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_vidputs)(SCREEN*,chtype,int(*) (SCREEN*, int)); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_vidattr)(SCREEN *, chtype); + +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_scr_restore)(SCREEN*, const char*); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_scr_init)(SCREEN*,const char*); + +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_restartterm)(SCREEN*,NCURSES_CONST char*,int,int*); +extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(_nc_is_term_resized)(SCREEN*,int,int); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_resize_term)(SCREEN*,int,int); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_resizeterm)(SCREEN*,int,int); + +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tgetent)(SCREEN*,char*,const char *); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tputs)(SCREEN*,const char*,int,int(*)(SCREEN*, int)); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_savetty)(SCREEN*); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_resetty)(SCREEN*); + +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_mcprint)(SCREEN*,char*, int); +extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(_nc_tgetstr)(SCREEN*,NCURSES_CONST char*,char**); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tgetflag)(SCREEN*,NCURSES_CONST char*); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tgetnum)(SCREEN*,NCURSES_CONST char*); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tigetflag)(SCREEN*,NCURSES_CONST char*); +extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tigetnum)(SCREEN*,NCURSES_CONST char*); +extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(_nc_tigetstr)(SCREEN*, NCURSES_CONST char*); +extern NCURSES_EXPORT(void) _nc_cookie_init(SCREEN *sp); +extern NCURSES_EXPORT(int) _nc_tinfo_doupdate(SCREEN *sp); +extern NCURSES_EXPORT(int) _nc_tinfo_mcprint(SCREEN*,char*,int); +#if USE_WIDEC_SUPPORT +extern NCURSES_EXPORT(wchar_t *) NCURSES_SP_NAME(_nc_wunctrl)(SCREEN*, cchar_t *); +#endif + #ifdef __cplusplus } #endif diff --git a/ncurses/tinfo/MKnames.awk b/ncurses/tinfo/MKnames.awk index 7e507448..fd9b9d64 100644 --- a/ncurses/tinfo/MKnames.awk +++ b/ncurses/tinfo/MKnames.awk @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: MKnames.awk,v 1.20 2008/10/11 21:07:56 tom Exp $ +# $Id: MKnames.awk,v 1.21 2008/11/16 00:19:59 juergen Exp $ function large_item(value) { result = sprintf("%d,", offset); offset = offset + length(value) + 1; @@ -107,8 +107,6 @@ END { print "" print "#if BROKEN_LINKER || USE_REENTRANT" print "" - print "#include " - print "" if (bigstrings) { printf "static const char _nc_name_blob[] = \n" printf "%s;\n", bigstr; diff --git a/ncurses/tinfo/lib_termname.c b/ncurses/tinfo/lib_termname.c index 8964875a..9163c7cd 100644 --- a/ncurses/tinfo/lib_termname.c +++ b/ncurses/tinfo/lib_termname.c @@ -28,14 +28,14 @@ #include -MODULE_ID("$Id: lib_termname.c,v 1.10 2009/02/15 01:07:06 tom Exp $") +MODULE_ID("$Id: lib_termname.c,v 1.11 2009/02/21 16:37:12 tom Exp $") NCURSES_EXPORT(char *) NCURSES_SP_NAME(termname) (NCURSES_SP_DCL0) { char *name = 0; - T((T_CALLED("termname()"))); + T((T_CALLED("termname(%p)"), SP_PARM)); #if NCURSES_SP_FUNCS if (TerminalOf(SP_PARM) != 0) { diff --git a/ncurses/tinfo/lib_tparm.c b/ncurses/tinfo/lib_tparm.c index ba2a8404..806b21c1 100644 --- a/ncurses/tinfo/lib_tparm.c +++ b/ncurses/tinfo/lib_tparm.c @@ -40,10 +40,9 @@ #include #include -#include #include -MODULE_ID("$Id: lib_tparm.c,v 1.76 2008/08/16 19:22:55 tom Exp $") +MODULE_ID("$Id: lib_tparm.c,v 1.77 2008/11/16 00:19:59 juergen Exp $") /* * char * diff --git a/ncurses/tinfo/make_keys.c b/ncurses/tinfo/make_keys.c index c084f87f..8eb4a9af 100644 --- a/ncurses/tinfo/make_keys.c +++ b/ncurses/tinfo/make_keys.c @@ -39,16 +39,16 @@ #define USE_TERMLIB 1 #include -MODULE_ID("$Id: make_keys.c,v 1.14 2008/08/03 21:57:22 tom Exp $") +MODULE_ID("$Id: make_keys.c,v 1.15 2008/11/16 00:19:59 juergen Exp $") #include #define UNKNOWN (SIZEOF(strnames) + SIZEOF(strfnames)) -static size_t +static unsigned lookup(const char *name) { - size_t n; + unsigned n; bool found = FALSE; for (n = 0; strnames[n] != 0; n++) { if (!strcmp(name, strnames[n])) { @@ -73,7 +73,7 @@ make_keys(FILE *ifp, FILE *ofp) char buffer[BUFSIZ]; char from[256]; char to[256]; - int maxlen = 16; + unsigned maxlen = 16; int scanned; while (fgets(buffer, sizeof(buffer), ifp) != 0) { @@ -85,10 +85,10 @@ make_keys(FILE *ifp, FILE *ofp) scanned = sscanf(buffer, "%255s %255s", to, from); if (scanned == 2) { - int code = lookup(from); + unsigned code = lookup(from); if (code == UNKNOWN) continue; - if ((int) strlen(from) > maxlen) + if (strlen(from) > maxlen) maxlen = strlen(from); fprintf(ofp, "\t{ %4d, %-*.*s },\t/* %s */\n", code, diff --git a/ncurses/tinfo/name_match.c b/ncurses/tinfo/name_match.c index d576901f..a9ac6427 100644 --- a/ncurses/tinfo/name_match.c +++ b/ncurses/tinfo/name_match.c @@ -31,10 +31,9 @@ ****************************************************************************/ #include -#include #include -MODULE_ID("$Id: name_match.c,v 1.17 2008/08/03 19:49:33 tom Exp $") +MODULE_ID("$Id: name_match.c,v 1.18 2008/11/16 00:19:59 juergen Exp $") /* * _nc_first_name(char *names) diff --git a/ncurses/tinfo/use_screen.c b/ncurses/tinfo/use_screen.c index 6c3b12fb..3b3f7361 100644 --- a/ncurses/tinfo/use_screen.c +++ b/ncurses/tinfo/use_screen.c @@ -32,7 +32,7 @@ #include -MODULE_ID("$Id: use_screen.c,v 1.6 2008/06/07 19:16:56 tom Exp $") +MODULE_ID("$Id: use_screen.c,v 1.7 2008/11/16 00:19:59 juergen Exp $") NCURSES_EXPORT(int) use_screen(SCREEN *screen, NCURSES_SCREEN_CB func, void *data) @@ -47,7 +47,7 @@ use_screen(SCREEN *screen, NCURSES_SCREEN_CB func, void *data) * recurred through this point, return an error if so. */ _nc_lock_global(curses); - save_SP = SP; + save_SP = CURRENT_SCREEN; set_term(screen); code = func(screen, data); diff --git a/ncurses/trace/lib_tracebits.c b/ncurses/trace/lib_tracebits.c index cc441b39..f8798fdb 100644 --- a/ncurses/trace/lib_tracebits.c +++ b/ncurses/trace/lib_tracebits.c @@ -33,9 +33,8 @@ ****************************************************************************/ #include -#include /* cur_term */ -MODULE_ID("$Id: lib_tracebits.c,v 1.17 2008/08/03 16:09:26 tom Exp $") +MODULE_ID("$Id: lib_tracebits.c,v 1.18 2008/11/16 00:19:59 juergen Exp $") #if SVR4_TERMIO && !defined(_POSIX_SOURCE) #define _POSIX_SOURCE diff --git a/ncurses/trace/lib_tracemse.c b/ncurses/trace/lib_tracemse.c index 74cc177d..cf7539e8 100644 --- a/ncurses/trace/lib_tracemse.c +++ b/ncurses/trace/lib_tracemse.c @@ -38,7 +38,7 @@ #include -MODULE_ID("$Id: lib_tracemse.c,v 1.15 2008/08/03 15:39:29 tom Exp $") +MODULE_ID("$Id: lib_tracemse.c,v 1.16 2008/11/16 00:19:59 juergen Exp $") #ifdef TRACE @@ -117,7 +117,7 @@ _nc_tracemouse(SCREEN *sp, MEVENT const *ep) NCURSES_EXPORT(char *) _tracemouse(MEVENT const *ep) { - return _nc_tracemouse(SP, ep); + return _nc_tracemouse(CURRENT_SCREEN, ep); } #else /* !TRACE */ diff --git a/ncurses/trace/varargs.c b/ncurses/trace/varargs.c index f4ee4671..541173d2 100644 --- a/ncurses/trace/varargs.c +++ b/ncurses/trace/varargs.c @@ -34,7 +34,7 @@ #include -MODULE_ID("$Id: varargs.c,v 1.7 2008/08/03 15:42:49 tom Exp $") +MODULE_ID("$Id: varargs.c,v 1.8 2008/11/16 00:19:59 juergen Exp $") #ifdef TRACE @@ -44,7 +44,7 @@ typedef enum { atUnknown = 0, atInteger, atFloat, atPoint, atString } ARGTYPE; -#define VA_INT(type) ival = va_arg(ap, type) +#define VA_INT(type) ival = (int) va_arg(ap, type) #define VA_FLT(type) fval = va_arg(ap, type) #define VA_PTR(type) pval = (char *)va_arg(ap, type) #define VA_STR(type) sval = va_arg(ap, type) diff --git a/ncurses/tty/lib_vidattr.c b/ncurses/tty/lib_vidattr.c index ab7a165a..6c4f9e2f 100644 --- a/ncurses/tty/lib_vidattr.c +++ b/ncurses/tty/lib_vidattr.c @@ -66,7 +66,7 @@ #include #include -MODULE_ID("$Id: lib_vidattr.c,v 1.50 2009/02/15 00:51:03 tom Exp $") +MODULE_ID("$Id: lib_vidattr.c,v 1.51 2009/02/21 21:43:40 tom Exp $") #define doPut(mode) TPUTS_TRACE(#mode); tputs(mode, 1, outc) @@ -335,7 +335,7 @@ NCURSES_SP_NAME(termattrs) (NCURSES_SP_DCL0) if (SP_PARM->_coloron) attrs |= A_COLOR; - returnChar(attrs); + returnChtype(attrs); } #if NCURSES_SP_FUNCS diff --git a/ncurses/widechar/lib_cchar.c b/ncurses/widechar/lib_cchar.c index b4a0c37a..8f373eba 100644 --- a/ncurses/widechar/lib_cchar.c +++ b/ncurses/widechar/lib_cchar.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2001-2005,2007 Free Software Foundation, Inc. * + * Copyright (c) 2001-2007,2008 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 * @@ -35,7 +35,7 @@ #include -MODULE_ID("$Id: lib_cchar.c,v 1.12 2007/05/12 19:03:06 tom Exp $") +MODULE_ID("$Id: lib_cchar.c,v 1.13 2008/11/16 00:19:59 juergen Exp $") /* * The SuSv2 description leaves some room for interpretation. We'll assume wch @@ -50,8 +50,8 @@ setcchar(cchar_t *wcval, short color_pair, const void *opts) { - int i; - int len; + unsigned i; + unsigned len; int code = OK; TR(TRACE_CCALLS, (T_CALLED("setcchar(%p,%s,%lu,%d,%p)"), diff --git a/ncurses/widechar/lib_get_wstr.c b/ncurses/widechar/lib_get_wstr.c index baa70a5a..bbfbbbd2 100644 --- a/ncurses/widechar/lib_get_wstr.c +++ b/ncurses/widechar/lib_get_wstr.c @@ -38,9 +38,8 @@ */ #include -#include -MODULE_ID("$Id: lib_get_wstr.c,v 1.10 2008/08/16 19:25:33 tom Exp $") +MODULE_ID("$Id: lib_get_wstr.c,v 1.11 2008/11/16 00:19:59 juergen Exp $") static int wadd_wint(WINDOW *win, wint_t *src) diff --git a/ncurses/widechar/lib_wacs.c b/ncurses/widechar/lib_wacs.c index fe893b4d..5e2c9fdf 100644 --- a/ncurses/widechar/lib_wacs.c +++ b/ncurses/widechar/lib_wacs.c @@ -31,9 +31,8 @@ ****************************************************************************/ #include -#include -MODULE_ID("$Id: lib_wacs.c,v 1.7 2006/12/17 15:16:17 tom Exp $") +MODULE_ID("$Id: lib_wacs.c,v 1.8 2008/11/16 00:19:59 juergen Exp $") NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0; -- 2.44.0