aboutsummaryrefslogtreecommitdiff
path: root/ncurses
diff options
context:
space:
mode:
Diffstat (limited to 'ncurses')
-rw-r--r--ncurses/Makefile.in54
-rw-r--r--ncurses/README23
-rw-r--r--ncurses/base/MKkeyname.awk21
-rwxr-xr-xncurses/base/MKlib_gen.sh75
-rw-r--r--ncurses/base/MKunctrl.awk26
-rw-r--r--ncurses/base/define_key.c39
-rw-r--r--ncurses/base/key_defined.c20
-rw-r--r--ncurses/base/keybound.c23
-rw-r--r--ncurses/base/keyok.c39
-rw-r--r--ncurses/base/legacy_coding.c25
-rw-r--r--ncurses/base/lib_addch.c80
-rw-r--r--ncurses/base/lib_addstr.c19
-rw-r--r--ncurses/base/lib_beep.c27
-rw-r--r--ncurses/base/lib_bkgd.c16
-rw-r--r--ncurses/base/lib_box.c9
-rw-r--r--ncurses/base/lib_chgat.c8
-rw-r--r--ncurses/base/lib_clear.c6
-rw-r--r--ncurses/base/lib_clearok.c6
-rw-r--r--ncurses/base/lib_clrbot.c6
-rw-r--r--ncurses/base/lib_clreol.c6
-rw-r--r--ncurses/base/lib_color.c544
-rw-r--r--ncurses/base/lib_colorset.c19
-rw-r--r--ncurses/base/lib_delch.c6
-rw-r--r--ncurses/base/lib_delwin.c21
-rw-r--r--ncurses/base/lib_dft_fgbg.c70
-rw-r--r--ncurses/base/lib_driver.c143
-rw-r--r--ncurses/base/lib_echo.c36
-rw-r--r--ncurses/base/lib_endwin.c39
-rw-r--r--ncurses/base/lib_erase.c6
-rw-r--r--ncurses/base/lib_flash.c30
-rw-r--r--ncurses/base/lib_freeall.c62
-rw-r--r--ncurses/base/lib_getch.c181
-rw-r--r--ncurses/base/lib_getstr.c25
-rw-r--r--ncurses/base/lib_hline.c10
-rw-r--r--ncurses/base/lib_immedok.c6
-rw-r--r--ncurses/base/lib_inchstr.c11
-rw-r--r--ncurses/base/lib_initscr.c8
-rw-r--r--ncurses/base/lib_insch.c48
-rw-r--r--ncurses/base/lib_insdel.c6
-rw-r--r--ncurses/base/lib_insnstr.c10
-rw-r--r--ncurses/base/lib_instr.c30
-rw-r--r--ncurses/base/lib_isendwin.c20
-rw-r--r--ncurses/base/lib_leaveok.c6
-rw-r--r--ncurses/base/lib_mouse.c277
-rw-r--r--ncurses/base/lib_move.c6
-rw-r--r--ncurses/base/lib_mvwin.c20
-rw-r--r--ncurses/base/lib_newterm.c234
-rw-r--r--ncurses/base/lib_newwin.c154
-rw-r--r--ncurses/base/lib_nl.c46
-rw-r--r--ncurses/base/lib_overlay.c16
-rw-r--r--ncurses/base/lib_pad.c82
-rw-r--r--ncurses/base/lib_printw.c16
-rw-r--r--ncurses/base/lib_redrawln.c27
-rw-r--r--ncurses/base/lib_refresh.c69
-rw-r--r--ncurses/base/lib_restart.c78
-rw-r--r--ncurses/base/lib_scanw.c6
-rw-r--r--ncurses/base/lib_screen.c126
-rw-r--r--ncurses/base/lib_scroll.c10
-rw-r--r--ncurses/base/lib_scrollok.c6
-rw-r--r--ncurses/base/lib_scrreg.c6
-rw-r--r--ncurses/base/lib_set_term.c472
-rw-r--r--ncurses/base/lib_slk.c242
-rw-r--r--ncurses/base/lib_slkatr_set.c48
-rw-r--r--ncurses/base/lib_slkatrof.c26
-rw-r--r--ncurses/base/lib_slkatron.c26
-rw-r--r--ncurses/base/lib_slkatrset.c20
-rw-r--r--ncurses/base/lib_slkattr.c24
-rw-r--r--ncurses/base/lib_slkclear.c30
-rw-r--r--ncurses/base/lib_slkcolor.c40
-rw-r--r--ncurses/base/lib_slkinit.c39
-rw-r--r--ncurses/base/lib_slklab.c22
-rw-r--r--ncurses/base/lib_slkrefr.c91
-rw-r--r--ncurses/base/lib_slkset.c28
-rw-r--r--ncurses/base/lib_slktouch.c24
-rw-r--r--ncurses/base/lib_touch.c14
-rw-r--r--ncurses/base/lib_ungetch.c14
-rw-r--r--ncurses/base/lib_vline.c10
-rw-r--r--ncurses/base/lib_wattroff.c6
-rw-r--r--ncurses/base/lib_wattron.c8
-rw-r--r--ncurses/base/lib_winch.c12
-rw-r--r--ncurses/base/lib_window.c66
-rw-r--r--ncurses/base/nc_panel.c18
-rw-r--r--ncurses/base/resizeterm.c198
-rw-r--r--ncurses/base/safe_sprintf.c37
-rw-r--r--ncurses/base/tries.c12
-rw-r--r--ncurses/base/use_window.c6
-rw-r--r--ncurses/base/wresize.c33
-rw-r--r--ncurses/build.priv.h108
-rw-r--r--ncurses/curses.priv.h878
-rw-r--r--ncurses/llib-lncurses1026
-rw-r--r--ncurses/llib-lncursest1055
-rw-r--r--ncurses/llib-lncursestw5270
-rw-r--r--ncurses/llib-lncursesw1071
-rw-r--r--ncurses/modules370
-rw-r--r--ncurses/tinfo/MKcaptab.sh136
-rw-r--r--ncurses/tinfo/MKcodes.awk23
-rwxr-xr-xncurses/tinfo/MKfallback.sh18
-rw-r--r--ncurses/tinfo/MKnames.awk26
-rw-r--r--ncurses/tinfo/access.c7
-rw-r--r--ncurses/tinfo/add_tries.c11
-rw-r--r--ncurses/tinfo/alloc_entry.c19
-rw-r--r--ncurses/tinfo/alloc_ttype.c90
-rw-r--r--ncurses/tinfo/captoinfo.c49
-rw-r--r--ncurses/tinfo/comp_expand.c6
-rw-r--r--ncurses/tinfo/comp_hash.c334
-rw-r--r--ncurses/tinfo/comp_parse.c18
-rw-r--r--ncurses/tinfo/comp_scan.c94
-rw-r--r--ncurses/tinfo/db_iterator.c11
-rw-r--r--ncurses/tinfo/entries.c18
-rw-r--r--ncurses/tinfo/free_ttype.c6
-rw-r--r--ncurses/tinfo/hashed_db.c58
-rw-r--r--ncurses/tinfo/home_terminfo.c6
-rw-r--r--ncurses/tinfo/init_keytry.c20
-rw-r--r--ncurses/tinfo/lib_acs.c82
-rw-r--r--ncurses/tinfo/lib_baudrate.c32
-rw-r--r--ncurses/tinfo/lib_cur_term.c112
-rw-r--r--ncurses/tinfo/lib_data.c50
-rw-r--r--ncurses/tinfo/lib_has_cap.c53
-rw-r--r--ncurses/tinfo/lib_kernel.c82
-rw-r--r--ncurses/tinfo/lib_longname.c42
-rw-r--r--ncurses/tinfo/lib_napms.c21
-rw-r--r--ncurses/tinfo/lib_options.c277
-rw-r--r--ncurses/tinfo/lib_print.c39
-rw-r--r--ncurses/tinfo/lib_raw.c202
-rw-r--r--ncurses/tinfo/lib_setup.c401
-rw-r--r--ncurses/tinfo/lib_termcap.c227
-rw-r--r--ncurses/tinfo/lib_termname.c22
-rw-r--r--ncurses/tinfo/lib_ti.c162
-rw-r--r--ncurses/tinfo/lib_tparm.c49
-rw-r--r--ncurses/tinfo/lib_tputs.c168
-rw-r--r--ncurses/tinfo/lib_ttyflags.c207
-rw-r--r--ncurses/tinfo/make_hash.c294
-rw-r--r--ncurses/tinfo/make_keys.c24
-rw-r--r--ncurses/tinfo/name_match.c3
-rw-r--r--ncurses/tinfo/parse_entry.c55
-rw-r--r--ncurses/tinfo/read_entry.c71
-rw-r--r--ncurses/tinfo/read_termcap.c20
-rw-r--r--ncurses/tinfo/setbuf.c35
-rw-r--r--ncurses/tinfo/tinfo_driver.c1337
-rw-r--r--ncurses/tinfo/trim_sgr0.c38
-rw-r--r--ncurses/tinfo/use_screen.c8
-rw-r--r--ncurses/tinfo/write_entry.c82
-rw-r--r--ncurses/trace/lib_trace.c37
-rw-r--r--ncurses/trace/lib_traceatr.c55
-rw-r--r--ncurses/trace/lib_tracebits.c7
-rw-r--r--ncurses/trace/lib_tracechr.c10
-rw-r--r--ncurses/trace/lib_tracedmp.c12
-rw-r--r--ncurses/trace/lib_tracemse.c42
-rw-r--r--ncurses/trace/trace_buf.c11
-rw-r--r--ncurses/trace/trace_tries.c14
-rw-r--r--ncurses/trace/trace_xnames.c7
-rw-r--r--ncurses/trace/varargs.c4
-rw-r--r--ncurses/trace/visbuf.c57
-rwxr-xr-xncurses/tty/MKexpanded.sh61
-rw-r--r--ncurses/tty/hardscroll.c113
-rw-r--r--ncurses/tty/hashmap.c259
-rw-r--r--ncurses/tty/lib_mvcur.c504
-rw-r--r--ncurses/tty/lib_tstp.c45
-rw-r--r--ncurses/tty/lib_twait.c82
-rw-r--r--ncurses/tty/lib_vidattr.c133
-rw-r--r--ncurses/tty/tty_update.c1228
-rw-r--r--ncurses/wcwidth.h309
-rw-r--r--ncurses/widechar/lib_add_wch.c438
-rw-r--r--ncurses/widechar/lib_box_set.c6
-rw-r--r--ncurses/widechar/lib_cchar.c34
-rw-r--r--ncurses/widechar/lib_erasewchar.c8
-rw-r--r--ncurses/widechar/lib_get_wch.c33
-rw-r--r--ncurses/widechar/lib_get_wstr.c7
-rw-r--r--ncurses/widechar/lib_hline_set.c12
-rw-r--r--ncurses/widechar/lib_in_wch.c6
-rw-r--r--ncurses/widechar/lib_in_wchnstr.c6
-rw-r--r--ncurses/widechar/lib_ins_wch.c62
-rw-r--r--ncurses/widechar/lib_inwstr.c8
-rw-r--r--ncurses/widechar/lib_pecho_wchar.c8
-rw-r--r--ncurses/widechar/lib_unget_wch.c28
-rw-r--r--ncurses/widechar/lib_vid_attr.c124
-rw-r--r--ncurses/widechar/lib_vline_set.c12
-rw-r--r--ncurses/widechar/lib_wacs.c31
-rw-r--r--ncurses/widechar/lib_wunctrl.c26
-rw-r--r--ncurses/win32con/gettimeofday.c51
-rw-r--r--ncurses/win32con/wcwidth.c50
-rw-r--r--ncurses/win32con/win_driver.c1241
182 files changed, 4531 insertions, 20183 deletions
diff --git a/ncurses/Makefile.in b/ncurses/Makefile.in
index 45a26b9d7eaa..558f79f0bbf3 100644
--- a/ncurses/Makefile.in
+++ b/ncurses/Makefile.in
@@ -1,6 +1,6 @@
-# $Id: Makefile.in,v 1.130 2010/11/27 21:45:27 tom Exp $
+# $Id: Makefile.in,v 1.113 2008/10/18 14:11:54 tom Exp $
##############################################################################
-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
+# Copyright (c) 1998-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 "Software"), #
@@ -46,7 +46,6 @@
.SUFFIXES:
SHELL = /bin/sh
-VPATH = @srcdir@
THIS = Makefile
CF_MFLAGS = @cf_cv_makeflags@
@@ -72,7 +71,6 @@ LIBTOOL_COMPILE = @LIB_COMPILE@
LIBTOOL_LINK = @LIB_LINK@
LIBTOOL_INSTALL = @LIB_INSTALL@
LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
-LT_UNDEF = @LT_UNDEF@
INSTALL = @INSTALL@
INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
@@ -80,14 +78,11 @@ INSTALL_PROG = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
AR = @AR@
-ARFLAGS = @ARFLAGS@
+AR_OPTS = @AR_OPTS@
AWK = @AWK@
LD = @LD@
LN_S = @LN_S@
-CTAGS = @CTAGS@
-ETAGS = @ETAGS@
-
CC = @CC@
CPP = @CPP@
CFLAGS = @CFLAGS@
@@ -97,7 +92,7 @@ CPPFLAGS = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) @CPPFLAGS@
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
-BUILD_CPPFLAGS = -I../include -DUSE_BUILD_CC @BUILD_CPPFLAGS@
+BUILD_CPPFLAGS = -I../include @BUILD_CPPFLAGS@
BUILD_CC = @BUILD_CC@
BUILD_CCFLAGS = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) -I$(INCDIR) $(BUILD_CPPFLAGS) @BUILD_CFLAGS@
BUILD_LDFLAGS = @BUILD_LDFLAGS@
@@ -145,10 +140,6 @@ FALLBACK_LIST = @FALLBACK_LIST@
USE_BIG_STRINGS = @USE_BIG_STRINGS@
TERMINFO_CAPS = $(top_srcdir)/include/@TERMINFO_CAPS@
-TERMINFO = @TERMINFO@
-TERMINFO_SRC = @TERMINFO_SRC@
-TIC_PATH = @TIC_PATH@
-
AUTO_SRC = \
./codes.c \
./comp_captab.c \
@@ -162,18 +153,6 @@ AUTO_SRC = \
init_keytry.h \
keys.list
-HEADER_DEPS = \
- $(srcdir)/curses.priv.h \
- ../include/ncurses_dll.h \
- ../include/ncurses_cfg.h \
- ../include/curses.h \
- $(INCDIR)/nc_panel.h \
- ../include/term.h \
- $(INCDIR)/term_entry.h \
- $(INCDIR)/nc_tparm.h \
- $(INCDIR)/nc_alloc.h \
- $(INCDIR)/nc_mingw.h
-
TEST_DEPS = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@
TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
TEST_LDFLAGS = @LD_MODEL@ $(TEST_ARGS) @LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
@@ -185,12 +164,11 @@ TEST_PROGS = \
hashmap$x \
lib_mvcur$x
-base = $(srcdir)/base
-serial = $(srcdir)/tty
-tinfo = $(srcdir)/tinfo
-trace = $(srcdir)/trace
-wide = $(srcdir)/widechar
-win32con = $(srcdir)/win32con
+base = $(srcdir)/base
+serial = $(srcdir)/tty
+tinfo = $(srcdir)/tinfo
+trace = $(srcdir)/trace
+wide = $(srcdir)/widechar
################################################################################
all \
@@ -200,12 +178,12 @@ sources: $(AUTO_SRC)
$(DESTDIR)$(bindir) \
$(DESTDIR)$(libdir) :
- mkdir -p $@
+ sh $(srcdir)/../mkdirs.sh $@
../lib : ; mkdir $@
./fallback.c : $(tinfo)/MKfallback.sh
- sh -e $(tinfo)/MKfallback.sh $(TERMINFO) $(TERMINFO_SRC) $(TIC_PATH) $(FALLBACK_LIST) >$@
+ sh -e $(tinfo)/MKfallback.sh @TERMINFO@ @TERMINFO_SRC@ $(FALLBACK_LIST) >$@
./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
sh -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@
@@ -222,11 +200,11 @@ make_keys$(BUILD_EXEEXT) : \
$(BUILD_CC) -o $@ $(BUILD_CCFLAGS) $(tinfo)/make_keys.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
make_hash$(BUILD_EXEEXT) : \
- $(tinfo)/make_hash.c \
+ $(tinfo)/comp_hash.c \
../include/hashsize.h
- $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) $(tinfo)/make_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
+ $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
-./expanded.c : $(srcdir)/curses.priv.h $(serial)/MKexpanded.sh
+./expanded.c : $(serial)/MKexpanded.sh
sh -e $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
./comp_captab.c: \
@@ -249,10 +227,10 @@ make_hash$(BUILD_EXEEXT) : \
echo | $(AWK) -f $(base)/MKunctrl.awk bigstrings=$(USE_BIG_STRINGS) >$@
tags:
- $(CTAGS) *.[ch] */*.[ch]
+ ctags *.[ch] */*.[ch]
@MAKE_UPPER_TAGS@TAGS:
-@MAKE_UPPER_TAGS@ $(ETAGS) *.[ch] */*.[ch]
+@MAKE_UPPER_TAGS@ etags *.[ch] */*.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
diff --git a/ncurses/README b/ncurses/README
index cbde3354a6a3..120aa5b82c1d 100644
--- a/ncurses/README
+++ b/ncurses/README
@@ -1,5 +1,5 @@
-------------------------------------------------------------------------------
--- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. --
+-- Copyright (c) 1998-2000,2006 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 --
@@ -25,26 +25,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: README,v 1.10 2009/06/27 14:44:30 tom Exp $
+-- $Id: README,v 1.9 2006/04/22 22:19:37 tom Exp $
-------------------------------------------------------------------------------
For discussion of the package internals, see hackguide.html in the doc/html
directory.
-
--------------------------------------------------------------------------------
-The llib-lXXXX files could be used as lint-library sources (and were, at one
-time). However, they are actually used as a documentation aid to keep track
-of changes to the public/private interfaces in ncurses. Most of the text in
-these files is generated using cproto; some manual cleanup and adjustment of
-types (to reflect #define's in curses.h) is needed. The functions listed in
-the llib-lXXXX files do not correspond to the default configure options; some
-additional ones are added to include "all" of the entrypoints for each of the
-major configurations (normal, wide-character, threaded):
-
- --disable-macros
- --disable-root-environ
- --enable-expanded
- --enable-getcap
- --enable-getcap-cache
- --enable-sp-funcs
- --enable-termcap
- --with-develop
diff --git a/ncurses/base/MKkeyname.awk b/ncurses/base/MKkeyname.awk
index bb2599acb558..b35ba2a98027 100644
--- a/ncurses/base/MKkeyname.awk
+++ b/ncurses/base/MKkeyname.awk
@@ -1,6 +1,6 @@
-# $Id: MKkeyname.awk,v 1.45 2010/12/19 01:36:14 tom Exp $
+# $Id: MKkeyname.awk,v 1.40 2008/07/12 18:40:00 tom Exp $
##############################################################################
-# Copyright (c) 1999-2009,2010 Free Software Foundation, Inc. #
+# Copyright (c) 1999-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 "Software"), #
@@ -31,6 +31,7 @@ BEGIN {
print ""
print "#include <curses.priv.h>"
print "#include <tic.h>"
+ print "#include <term_entry.h>"
print ""
first = 1;
}
@@ -66,8 +67,7 @@ END {
print "#define SIZEOF_TABLE 256"
print "#define MyTable _nc_globals.keyname_table"
print ""
- print "NCURSES_EXPORT(NCURSES_CONST char *)"
- print "safe_keyname (SCREEN *sp, int c)"
+ print "NCURSES_EXPORT(NCURSES_CONST char *) _nc_keyname (SCREEN *sp, int c)"
print "{"
print " int i;"
print " char name[20];"
@@ -116,14 +116,14 @@ END {
print " result = MyTable[c];"
print " }"
print "#if NCURSES_EXT_FUNCS && NCURSES_XNAMES"
- print " } else if (result == 0 && HasTerminal(sp)) {"
+ print " } else if (result == 0 && cur_term != 0) {"
print " int j, k;"
print " char * bound;"
- print " TERMTYPE *tp = &(TerminalOf(sp)->type);"
- print " unsigned save_trace = _nc_tracing;"
+ print " TERMTYPE *tp = &(cur_term->type);"
+ print " int save_trace = _nc_tracing;"
print ""
print " _nc_tracing = 0; /* prevent recursion via keybound() */"
- print " for (j = 0; (bound = NCURSES_SP_NAME(keybound)(NCURSES_SP_ARGx c, j)) != 0; ++j) {"
+ print " for (j = 0; (bound = keybound(c, j)) != 0; ++j) {"
print " for(k = STRCOUNT; k < (int) NUM_STRINGS(tp); k++) {"
print " if (tp->Strings[k] != 0 && !strcmp(bound, tp->Strings[k])) {"
print " result = ExtStrname(tp, k, strnames);"
@@ -141,10 +141,9 @@ END {
print " return result;"
print "}"
print ""
- print "NCURSES_EXPORT(NCURSES_CONST char *)"
- print "keyname (int c)"
+ print "NCURSES_EXPORT(NCURSES_CONST char *) keyname (int c)"
print "{"
- print " return safe_keyname (CURRENT_SCREEN, c);"
+ print "\treturn _nc_keyname(SP, c);"
print "}"
print ""
print "#if NO_LEAKS"
diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh
index 66ae295c607c..a984e8545eff 100755
--- a/ncurses/base/MKlib_gen.sh
+++ b/ncurses/base/MKlib_gen.sh
@@ -2,10 +2,10 @@
#
# MKlib_gen.sh -- generate sources from curses.h macro definitions
#
-# ($Id: MKlib_gen.sh,v 1.43 2011/01/22 19:47:29 tom Exp $)
+# ($Id: MKlib_gen.sh,v 1.34 2008/08/30 19:20:50 tom Exp $)
#
##############################################################################
-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
+# Copyright (c) 1998-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 "Software"), #
@@ -51,7 +51,7 @@
# them.
# 5. cpp: macro-expand the file so the macro calls turn into C calls
# 6. awk: strip the expansion junk off the front and add the new header
-# 7. sed: squeeze spaces, strip off gen_ prefix.
+# 7. sed: squeeze spaces, strip off gen_ prefix, create needed #undef
#
# keep the editing independent of locale:
@@ -82,8 +82,6 @@ if test "$USE" = implemented ; then
cat >$ED1 <<EOF1
/^extern.*implemented/{
h
- s/NCURSES_SP_NAME(\([^)]*\))/NCURSES_SP_NAME___\1/
- h
s/^.*implemented:\([^ *]*\).*/P_POUNDCif_USE_\1_SUPPORT/p
g
s/^extern \([^;]*\);.*/\1/p
@@ -153,13 +151,14 @@ cat >$ED3 <<EOF3
s/( /(/g
s/ )/)/g
s/ gen_/ /
+ s/^M_/#undef /
s/^[ ]*@[ ]*@[ ]*/ /
:done
EOF3
if test "$USE" = generated ; then
cat >$ED4 <<EOF
- s/^\(.*\) \(.*\) (\(.*\))\$/NCURSES_EXPORT(\1) (\2) (\3)/
+ s/^\(.*\) \(.*\) (\(.*\))\$/NCURSES_EXPORT(\1) \2 (\3)/
EOF
else
cat >$ED4 <<EOF
@@ -170,7 +169,6 @@ cat >$ED4 <<EOF
g
s/^\(.*\) \(.*\) (\(.*\))\$/\1 call_\2 (\3)/
}
-s/\([^_]\)NCURSES_SP_NAME___\([a-zA-Z][a-zA-Z_]*\)/\1NCURSES_SP_NAME(\2)/g
EOF
fi
@@ -200,16 +198,14 @@ $0 !~ /^P_/ {
}
}
second = first + 1;
- returnCast = "";
if ( $first == "chtype" ) {
- returnType = "Chtype";
+ returnType = "Char";
} else if ( $first == "SCREEN" ) {
returnType = "SP";
} else if ( $first == "WINDOW" ) {
returnType = "Win";
} else if ( $first == "attr_t" || $second == "attrset" || $second == "standout" || $second == "standend" || $second == "wattrset" || $second == "wstandout" || $second == "wstandend" ) {
- returnType = "IntAttr";
- returnCast = "(attr_t)";
+ returnType = "Attr";
} else if ( $first == "bool" || $first == "NCURSES_BOOL" ) {
returnType = "Bool";
} else if ( $second == "*" ) {
@@ -224,6 +220,9 @@ $0 !~ /^P_/ {
break;
}
}
+ if (using == "generated") {
+ print "M_" $myfunc
+ }
print $0;
print "{";
argcount = 1;
@@ -248,9 +247,6 @@ $0 !~ /^P_/ {
if ($myfunc ~ /ripoffline/) {
dotrace = 0;
argcount = 2;
- if ($myfunc ~ /NCURSES_SP_NAME/) {
- argcount = 3;
- }
}
if ($myfunc ~ /wunctrl/) {
dotrace = 0;
@@ -266,26 +262,24 @@ $0 !~ /^P_/ {
argtype = ""
for (i = myfunc; i <= NF; i++) {
ch = $i;
- if ( ch == "*" ) {
+ if ( ch == "*" )
pointer = 1;
- } else if ( ch == "va_list" ) {
+ else if ( ch == "va_list" )
va_list = 1;
- } else if ( ch == "..." ) {
+ else if ( ch == "..." )
varargs = 1;
- } else if ( ch == "char" ) {
+ else if ( ch == "char" )
argtype = "char";
- } else if ( ch == "int" ) {
+ else if ( ch == "int" )
argtype = "int";
- } else if ( ch == "short" ) {
+ else if ( ch == "short" )
argtype = "short";
- } else if ( ch == "chtype" ) {
+ else if ( ch == "chtype" )
argtype = "chtype";
- } else if ( ch == "attr_t" || ch == "NCURSES_ATTR_T" ) {
+ else if ( ch == "attr_t" || ch == "NCURSES_ATTR_T" )
argtype = "attr";
- }
if ( ch == "," || ch == ")" ) {
- argcast = "";
if (va_list) {
call = call "%s"
} else if (varargs) {
@@ -295,10 +289,8 @@ $0 !~ /^P_/ {
call = call "%s"
comma = comma "_nc_visbuf2(" num ","
pointer = 0;
- } else {
+ } else
call = call "%p"
- comma = comma "(const void *)"
- }
} else if (argcount != 0) {
if ( argtype == "int" || argtype == "short" ) {
call = call "%d"
@@ -306,9 +298,6 @@ $0 !~ /^P_/ {
} else if ( argtype != "" ) {
call = call "%s"
comma = comma "_trace" argtype "2(" num ","
- if (argtype == "attr") {
- argcast = "(chtype)";
- }
} else {
call = call "%#lx"
comma = comma "(long)"
@@ -322,7 +311,7 @@ $0 !~ /^P_/ {
} else if ( varargs ) {
args = args comma "\"...\""
} else {
- args = args comma argcast "z"
+ args = args comma "z"
}
}
call = call ch
@@ -333,7 +322,7 @@ $0 !~ /^P_/ {
pointer = 0;
argtype = ""
}
- if ( i == myfunc || ch == "(" )
+ if ( i == 2 || ch == "(" )
call = call ch
}
call = call "\")"
@@ -344,16 +333,12 @@ $0 !~ /^P_/ {
if (dotrace)
printf "%s", call
- if (match($0, "^void")) {
+ if (match($0, "^void"))
call = ""
- } else if (dotrace) {
+ else if (dotrace)
call = sprintf("return%s( ", returnType);
- if (returnCast != "") {
- call = call returnCast;
- }
- } else {
+ else
call = "@@return ";
- }
call = call $myfunc "(";
for (i = 1; i < argcount; i++) {
@@ -368,9 +353,8 @@ $0 !~ /^P_/ {
}
if (!match($0, "^void"))
call = call ") ";
- if (dotrace) {
+ if (dotrace)
call = call ")";
- }
print call ";"
if (match($0, "^void"))
@@ -397,17 +381,8 @@ BEGIN {
}
print " */"
print "#define NCURSES_ATTR_T int"
- print "#include <ncurses_cfg.h>"
- print ""
- print "#undef NCURSES_NOMACROS /* _this_ file uses macros */"
- print ""
print "#include <curses.priv.h>"
print ""
- print "#undef vw_scanw"
- print "#undef vwscanw"
- print ""
- print "#undef vw_printw"
- print "#undef vwprintw"
}
/^DECLARATIONS/ {start = 1; next;}
{if (start) print \$0;}
diff --git a/ncurses/base/MKunctrl.awk b/ncurses/base/MKunctrl.awk
index 2140900e8c3b..36fbeecb2e76 100644
--- a/ncurses/base/MKunctrl.awk
+++ b/ncurses/base/MKunctrl.awk
@@ -1,6 +1,6 @@
-# $Id: MKunctrl.awk,v 1.26 2009/07/04 22:05:15 Clemens.Ladisch Exp $
+# $Id: MKunctrl.awk,v 1.23 2008/10/04 21:40:24 tom Exp $
##############################################################################
-# Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. #
+# Copyright (c) 1998-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 "Software"), #
@@ -36,12 +36,19 @@ BEGIN {
print "#include <curses.priv.h>"
print "#include <ctype.h>"
print ""
+ print "#if USE_WIDEC_SUPPORT"
+ print "#if HAVE_WCTYPE_H"
+ print "#include <wctype.h>"
+ print "#endif"
+ print "#endif"
+ print ""
print "#undef unctrl"
print ""
}
END {
- print "NCURSES_EXPORT(NCURSES_CONST char *) safe_unctrl(SCREEN *sp, chtype ch)"
+ print "NCURSES_EXPORT(NCURSES_CONST char *) _nc_unctrl (SCREEN *sp, chtype ch)"
print "{"
+
blob=""
offset=0
if (bigstrings) {
@@ -151,6 +158,16 @@ END {
print "\t\t && (check < 160))"
printf "\t\t\tresult = %s_c1[check - 128];\n", stringname;
print "\t\telse"
+ print "#if USE_WIDEC_SUPPORT"
+ print "\t\tif ((check >= 160)"
+ print "\t\t && (check < 256)"
+ print "\t\t && ((sp != 0)"
+ print "\t\t && ((sp->_legacy_coding > 0)"
+ print "\t\t || (sp->_legacy_coding == 0"
+ print "\t\t && (isprint(check) || iswprint(check))))))"
+ printf "\t\t\tresult = %s_c1[check - 128];\n", stringname;
+ print "\t\telse"
+ print "#else"
print "\t\tif ((check >= 160)"
print "\t\t && (check < 256)"
print "\t\t && ((sp != 0)"
@@ -159,6 +176,7 @@ END {
print "\t\t && isprint(check)))))"
printf "\t\t\tresult = %s_c1[check - 128];\n", stringname;
print "\t\telse"
+ print "#endif /* USE_WIDEC_SUPPORT */"
print "#endif /* NCURSES_EXT_FUNCS */"
printf "\t\t\tresult = %s_table[check];\n", stringname;
print "\t} else {"
@@ -169,6 +187,6 @@ END {
print ""
print "NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype ch)"
print "{"
- print "\treturn safe_unctrl(CURRENT_SCREEN, ch);"
+ print "\treturn _nc_unctrl(SP, ch);"
print "}"
}
diff --git a/ncurses/base/define_key.c b/ncurses/base/define_key.c
index a49b094279c8..3d5815f906d6 100644
--- a/ncurses/base/define_key.c
+++ b/ncurses/base/define_key.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2006 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 *
@@ -27,40 +27,33 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1997-on *
- * and: Juergen Pfeifer 2009 *
+ * Author: Thomas E. Dickey 1997-on *
****************************************************************************/
#include <curses.priv.h>
-MODULE_ID("$Id: define_key.c,v 1.20 2009/11/28 22:53:17 tom Exp $")
+MODULE_ID("$Id: define_key.c,v 1.13 2006/12/30 23:23:31 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(define_key) (NCURSES_SP_DCLx const char *str, int keycode)
+define_key(const char *str, int keycode)
{
int code = ERR;
- T((T_CALLED("define_key(%p, %s,%d)"), (void *) SP_PARM, _nc_visbuf(str), keycode));
- if (SP_PARM == 0 || !HasTInfoTerminal(SP_PARM)) {
+ T((T_CALLED("define_key(%s,%d)"), _nc_visbuf(str), keycode));
+ if (SP == 0) {
code = ERR;
} else if (keycode > 0) {
unsigned ukey = (unsigned) keycode;
-#ifdef USE_TERM_DRIVER
-#define CallHasKey(keycode) CallDriver_1(SP_PARM, kyExist, keycode)
-#else
-#define CallHasKey(keycode) NCURSES_SP_NAME(has_key)(NCURSES_SP_ARGx keycode)
-#endif
-
if (str != 0) {
- NCURSES_SP_NAME(define_key) (NCURSES_SP_ARGx str, 0);
- } else if (CallHasKey(keycode)) {
- while (_nc_remove_key(&(SP_PARM->_keytry), ukey))
+ define_key(str, 0);
+ } else if (has_key(keycode)) {
+ while (_nc_remove_key(&(SP->_keytry), ukey))
code = OK;
}
if (str != 0) {
- if (NCURSES_SP_NAME(key_defined) (NCURSES_SP_ARGx str) == 0) {
- if (_nc_add_to_try(&(SP_PARM->_keytry), str, ukey) == OK) {
+ if (key_defined(str) == 0) {
+ if (_nc_add_to_try(&(SP->_keytry), str, ukey) == OK) {
code = OK;
} else {
code = ERR;
@@ -70,16 +63,8 @@ NCURSES_SP_NAME(define_key) (NCURSES_SP_DCLx const char *str, int keycode)
}
}
} else {
- while (_nc_remove_string(&(SP_PARM->_keytry), str))
+ while (_nc_remove_string(&(SP->_keytry), str))
code = OK;
}
returnCode(code);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-define_key(const char *str, int keycode)
-{
- return NCURSES_SP_NAME(define_key) (CURRENT_SCREEN, str, keycode);
-}
-#endif
diff --git a/ncurses/base/key_defined.c b/ncurses/base/key_defined.c
index ef987a5484d5..759ad824318d 100644
--- a/ncurses/base/key_defined.c
+++ b/ncurses/base/key_defined.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2003-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2003,2006 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 *
@@ -32,7 +32,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: key_defined.c,v 1.9 2009/10/24 22:15:47 tom Exp $")
+MODULE_ID("$Id: key_defined.c,v 1.6 2006/12/30 23:22:55 tom Exp $")
static int
find_definition(TRIES * tree, const char *str)
@@ -65,22 +65,14 @@ find_definition(TRIES * tree, const char *str)
* Otherwise, return the keycode's value (neither OK/ERR).
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(key_defined) (NCURSES_SP_DCLx const char *str)
+key_defined(const char *str)
{
int code = ERR;
- T((T_CALLED("key_defined(%p, %s)"), (void *) SP_PARM, _nc_visbuf(str)));
- if (SP_PARM != 0 && str != 0) {
- code = find_definition(SP_PARM->_keytry, str);
+ T((T_CALLED("key_defined(%s)"), _nc_visbuf(str)));
+ if (SP != 0 && str != 0) {
+ code = find_definition(SP->_keytry, str);
}
returnCode(code);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-key_defined(const char *str)
-{
- return NCURSES_SP_NAME(key_defined) (CURRENT_SCREEN, str);
-}
-#endif
diff --git a/ncurses/base/keybound.c b/ncurses/base/keybound.c
index 65e6bfc63620..2995714ba936 100644
--- a/ncurses/base/keybound.c
+++ b/ncurses/base/keybound.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1999-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2005,2006 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 *
@@ -27,34 +27,25 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1999-on *
- * and: Juergen Pfeifer 2009 *
+ * Author: Thomas E. Dickey 1999-on *
****************************************************************************/
#include <curses.priv.h>
-MODULE_ID("$Id: keybound.c,v 1.10 2009/10/24 22:15:47 tom Exp $")
+MODULE_ID("$Id: keybound.c,v 1.7 2006/06/17 18:19:24 tom Exp $")
/*
* Returns the count'th string definition which is associated with the
* given keycode. The result is malloc'd, must be freed by the caller.
*/
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(keybound) (NCURSES_SP_DCLx int code, int count)
+keybound(int code, int count)
{
char *result = 0;
- T((T_CALLED("keybound(%p, %d,%d)"), (void *) SP_PARM, code, count));
- if (SP_PARM != 0 && code >= 0) {
- result = _nc_expand_try(SP_PARM->_keytry, (unsigned) code, &count, 0);
+ T((T_CALLED("keybound(%d,%d)"), code, count));
+ if (SP != 0 && code >= 0) {
+ result = _nc_expand_try(SP->_keytry, (unsigned) code, &count, 0);
}
returnPtr(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char *)
-keybound(int code, int count)
-{
- return NCURSES_SP_NAME(keybound) (CURRENT_SCREEN, code, count);
-}
-#endif
diff --git a/ncurses/base/keyok.c b/ncurses/base/keyok.c
index 0eacf4926300..ad8988cded3b 100644
--- a/ncurses/base/keyok.c
+++ b/ncurses/base/keyok.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2006 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 *
@@ -27,13 +27,12 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1997-on *
- * and: Juergen Pfeifer 2009 *
+ * Author: Thomas E. Dickey 1997-on *
****************************************************************************/
#include <curses.priv.h>
-MODULE_ID("$Id: keyok.c,v 1.10 2009/10/24 22:15:47 tom Exp $")
+MODULE_ID("$Id: keyok.c,v 1.7 2006/12/30 16:22:33 tom Exp $")
/*
* Enable (or disable) ncurses' interpretation of a keycode by adding (or
@@ -46,33 +45,28 @@ MODULE_ID("$Id: keyok.c,v 1.10 2009/10/24 22:15:47 tom Exp $")
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(keyok) (NCURSES_SP_DCLx int c, bool flag)
+keyok(int c, bool flag)
{
int code = ERR;
+ int count = 0;
+ char *s;
- T((T_CALLED("keyok(%p, %d,%d)"), (void *) SP_PARM, c, flag));
-#ifdef USE_TERM_DRIVER
- code = CallDriver_2(sp, kyOk, c, flag);
-#else
T((T_CALLED("keyok(%d,%d)"), c, flag));
if (c >= 0) {
- int count = 0;
- char *s;
unsigned ch = (unsigned) c;
-
if (flag) {
- while ((s = _nc_expand_try(SP_PARM->_key_ok, ch, &count, 0)) != 0
- && _nc_remove_key(&(SP_PARM->_key_ok), ch)) {
- code = _nc_add_to_try(&(SP_PARM->_keytry), s, ch);
+ while ((s = _nc_expand_try(SP->_key_ok, ch, &count, 0)) != 0
+ && _nc_remove_key(&(SP->_key_ok), ch)) {
+ code = _nc_add_to_try(&(SP->_keytry), s, ch);
free(s);
count = 0;
if (code != OK)
break;
}
} else {
- while ((s = _nc_expand_try(SP_PARM->_keytry, ch, &count, 0)) != 0
- && _nc_remove_key(&(SP_PARM->_keytry), ch)) {
- code = _nc_add_to_try(&(SP_PARM->_key_ok), s, ch);
+ while ((s = _nc_expand_try(SP->_keytry, ch, &count, 0)) != 0
+ && _nc_remove_key(&(SP->_keytry), ch)) {
+ code = _nc_add_to_try(&(SP->_key_ok), s, ch);
free(s);
count = 0;
if (code != OK)
@@ -80,14 +74,5 @@ NCURSES_SP_NAME(keyok) (NCURSES_SP_DCLx int c, bool flag)
}
}
}
-#endif
returnCode(code);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-keyok(int c, bool flag)
-{
- return NCURSES_SP_NAME(keyok) (CURRENT_SCREEN, c, flag);
-}
-#endif
diff --git a/ncurses/base/legacy_coding.c b/ncurses/base/legacy_coding.c
index d8c80208c6a9..1c2f160a605d 100644
--- a/ncurses/base/legacy_coding.c
+++ b/ncurses/base/legacy_coding.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2005 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 *
@@ -27,31 +27,22 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2005 *
- * Juergen Pfeifer 2009 *
+ * Author: Thomas E. Dickey *
****************************************************************************/
#include <curses.priv.h>
-MODULE_ID("$Id: legacy_coding.c,v 1.5 2009/10/24 22:15:00 tom Exp $")
+MODULE_ID("$Id: legacy_coding.c,v 1.2 2005/12/17 23:38:17 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(use_legacy_coding) (NCURSES_SP_DCLx int level)
+use_legacy_coding(int level)
{
int result = ERR;
- T((T_CALLED("use_legacy_coding(%p,%d)"), (void *) SP_PARM, level));
- if (level >= 0 && level <= 2 && SP_PARM != 0) {
- result = SP_PARM->_legacy_coding;
- SP_PARM->_legacy_coding = level;
+ T((T_CALLED("use_legacy_coding(%d)"), level));
+ if (level >= 0 && level <= 2 && SP != 0) {
+ result = SP->_legacy_coding;
+ SP->_legacy_coding = level;
}
returnCode(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-use_legacy_coding(int level)
-{
- return NCURSES_SP_NAME(use_legacy_coding) (CURRENT_SCREEN, level);
-}
-#endif
diff --git a/ncurses/base/lib_addch.c b/ncurses/base/lib_addch.c
index 515ebaf0b8fc..20a97a01a011 100644
--- a/ncurses/base/lib_addch.c
+++ b/ncurses/base/lib_addch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,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 *
@@ -36,7 +36,7 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_addch.c,v 1.124 2010/04/24 22:41:05 tom Exp $")
+MODULE_ID("$Id: lib_addch.c,v 1.113 2008/08/16 19:20:04 tom Exp $")
static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
@@ -77,6 +77,12 @@ render_char(WINDOW *win, NCURSES_CH_T ch)
if ((pair = GET_WINDOW_PAIR(win)) == 0)
pair = GetPair(win->_nc_bkgd);
}
+#if 0
+ if (pair > 255) {
+ NCURSES_CH_T fixme = ch;
+ SetPair(fixme, pair);
+ }
+#endif
AddAttr(ch, (a & COLOR_MASK(AttrOf(ch))));
SetPair(ch, pair);
}
@@ -125,7 +131,7 @@ newline_forces_scroll(WINDOW *win, NCURSES_SIZE_T * ypos)
*ypos = win->_regbottom;
result = TRUE;
} else {
- *ypos = (NCURSES_SIZE_T) (*ypos + 1);
+ *ypos += 1;
}
return result;
}
@@ -170,8 +176,8 @@ fill_cells(WINDOW *win, int count)
if (waddch_literal(win, blank) == ERR)
break;
}
- win->_curx = (NCURSES_SIZE_T) save_x;
- win->_cury = (NCURSES_SIZE_T) save_y;
+ win->_curx = save_x;
+ win->_cury = save_y;
}
#endif
@@ -207,9 +213,9 @@ _nc_build_wch(WINDOW *win, ARG_CH_T ch)
buffer[WINDOW_EXT(win, addch_used)] = (char) CharOf(CHDEREF(ch));
WINDOW_EXT(win, addch_used) += 1;
buffer[WINDOW_EXT(win, addch_used)] = '\0';
- if ((len = (int) mbrtowc(&result,
- buffer,
- WINDOW_EXT(win, addch_used), &state)) > 0) {
+ if ((len = mbrtowc(&result,
+ buffer,
+ WINDOW_EXT(win, addch_used), &state)) > 0) {
attr_t attrs = AttrOf(CHDEREF(ch));
if_EXT_COLORS(int pair = GetPair(CHDEREF(ch)));
SetChar(CHDEREF(ch), result, attrs);
@@ -254,37 +260,20 @@ waddch_literal(WINDOW *win, NCURSES_CH_T ch)
/*
* Build up multibyte characters until we have a wide-character.
*/
-#if NCURSES_SP_FUNCS
-#define DeriveSP() SCREEN *sp = _nc_screen_of(win);
-#else
-#define DeriveSP() /*nothing */
-#endif
if_WIDEC({
- DeriveSP();
if (WINDOW_EXT(win, addch_used) != 0 || !Charable(ch)) {
int len = _nc_build_wch(win, CHREF(ch));
if (len >= -1) {
- attr_t attr = AttrOf(ch);
-
- /* handle EILSEQ (i.e., when len >= -1) */
- if (len == -1 && is8bits(CharOf(ch))) {
- int rc = OK;
- const char *s = NCURSES_SP_NAME(unctrl)
- (NCURSES_SP_ARGx (chtype) CharOf(ch));
-
- if (s[1] != '\0') {
- while (*s != '\0') {
- rc = waddch(win, UChar(*s) | attr);
- if (rc != OK)
- break;
- ++s;
- }
- return rc;
+ /* handle EILSEQ */
+ if (is8bits(CharOf(ch))) {
+ const char *s = unctrl((chtype) CharOf(ch));
+ if (s[1] != 0) {
+ return waddstr(win, s);
}
}
if (len == -1)
- return waddch(win, ' ' | attr);
+ return waddch(win, ' ');
} else {
return OK;
}
@@ -338,7 +327,6 @@ waddch_literal(WINDOW *win, NCURSES_CH_T ch)
return ERR;
x = win->_curx;
y = win->_cury;
- line = win->_line + y;
}
/*
* Check for cells which are orphaned by adding this character, set
@@ -396,7 +384,7 @@ waddch_literal(WINDOW *win, NCURSES_CH_T ch)
if (x > win->_maxx) {
return wrap_to_next_line(win);
}
- win->_curx = (NCURSES_SIZE_T) x;
+ win->_curx = x;
return OK;
}
@@ -405,12 +393,9 @@ waddch_nosync(WINDOW *win, const NCURSES_CH_T ch)
/* the workhorse function -- add a character to the given window */
{
NCURSES_SIZE_T x, y;
- chtype t = (chtype) CharOf(ch);
-#if USE_WIDEC_SUPPORT || NCURSES_SP_FUNCS || USE_REENTRANT
- SCREEN *sp = _nc_screen_of(win);
-#endif
- const char *s = NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx t);
- int tabsize = 8;
+ chtype t = CharOf(ch);
+ const char *s = unctrl(t);
+
/*
* If we are using the alternate character set, forget about locale.
* Otherwise, if unctrl() returns a single-character or the locale
@@ -419,14 +404,14 @@ waddch_nosync(WINDOW *win, const NCURSES_CH_T ch)
if ((AttrOf(ch) & A_ALTCHARSET)
|| (
#if USE_WIDEC_SUPPORT
- (sp != 0 && sp->_legacy_coding) &&
+ (SP != 0 && SP->_legacy_coding) &&
#endif
s[1] == 0
)
|| (
isprint(t)
#if USE_WIDEC_SUPPORT
- || ((sp == 0 || !sp->_legacy_coding) &&
+ || ((SP == 0 || !SP->_legacy_coding) &&
(WINDOW_EXT(win, addch_used)
|| !_nc_is_charable(CharOf(ch))))
#endif
@@ -442,12 +427,8 @@ waddch_nosync(WINDOW *win, const NCURSES_CH_T ch)
switch (t) {
case '\t':
-#if USE_REENTRANT
- tabsize = *ptrTabsize(sp);
-#else
- tabsize = TABSIZE;
-#endif
- x = (NCURSES_SIZE_T) (x + (tabsize - (x % tabsize)));
+ x += (TABSIZE - (x % TABSIZE));
+
/*
* Space-fill the tab on the bottom line so that we'll get the
* "correct" cursor position.
@@ -533,7 +514,7 @@ waddch(WINDOW *win, const chtype ch)
NCURSES_CH_T wch;
SetChar2(wch, ch);
- TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("waddch(%p, %s)"), (void *) win,
+ TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("waddch(%p, %s)"), win,
_tracechtype(ch)));
if (win && (waddch_nosync(win, wch) != ERR)) {
@@ -552,8 +533,7 @@ wechochar(WINDOW *win, const chtype ch)
NCURSES_CH_T wch;
SetChar2(wch, ch);
- TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wechochar(%p, %s)"),
- (void *) win,
+ TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wechochar(%p, %s)"), win,
_tracechtype(ch)));
if (win && (waddch_nosync(win, wch) != ERR)) {
diff --git a/ncurses/base/lib_addstr.c b/ncurses/base/lib_addstr.c
index d73ce00a4519..4e3a040cf032 100644
--- a/ncurses/base/lib_addstr.c
+++ b/ncurses/base/lib_addstr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -44,7 +44,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_addstr.c,v 1.51 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_addstr.c,v 1.48 2007/10/13 19:56:57 tom Exp $")
NCURSES_EXPORT(int)
waddnstr(WINDOW *win, const char *astr, int n)
@@ -52,7 +52,7 @@ waddnstr(WINDOW *win, const char *astr, int n)
const char *str = astr;
int code = ERR;
- T((T_CALLED("waddnstr(%p,%s,%d)"), (void *) win, _nc_visbufn(astr, n), n));
+ T((T_CALLED("waddnstr(%p,%s,%d)"), win, _nc_visbufn(astr, n), n));
if (win && (str != 0)) {
TR(TRACE_VIRTPUT | TRACE_ATTRS,
@@ -85,7 +85,7 @@ waddchnstr(WINDOW *win, const chtype *astr, int n)
int i;
struct ldat *line;
- T((T_CALLED("waddchnstr(%p,%p,%d)"), (void *) win, (const void *) astr, n));
+ T((T_CALLED("waddchnstr(%p,%p,%d)"), win, astr, n));
if (!win)
returnCode(ERR);
@@ -107,7 +107,7 @@ waddchnstr(WINDOW *win, const chtype *astr, int n)
for (i = 0; i < n && ChCharOf(astr[i]) != '\0'; ++i) {
SetChar2(line->text[i + x], astr[i]);
}
- CHANGED_RANGE(line, x, (NCURSES_SIZE_T) (x + n - 1));
+ CHANGED_RANGE(line, x, x + n - 1);
_nc_synchook(win);
returnCode(code);
@@ -135,10 +135,7 @@ wadd_wchnstr(WINDOW *win, const cchar_t *astr, int n)
struct ldat *line;
int i, j, start, len, end;
- T((T_CALLED("wadd_wchnstr(%p,%s,%d)"),
- (void *) win,
- _nc_viscbuf(astr, n),
- n));
+ T((T_CALLED("wadd_wchnstr(%p,%s,%d)"), win, _nc_viscbuf(astr, n), n));
if (!win)
returnCode(ERR);
@@ -193,7 +190,7 @@ wadd_wchnstr(WINDOW *win, const cchar_t *astr, int n)
SetWidecExt(line->text[x + j], j);
}
}
- x = (NCURSES_SIZE_T) (x + len);
+ x += len;
end += len - 1;
} else {
break;
@@ -220,7 +217,7 @@ waddnwstr(WINDOW *win, const wchar_t *str, int n)
{
int code = ERR;
- T((T_CALLED("waddnwstr(%p,%s,%d)"), (void *) win, _nc_viswbufn(str, n), n));
+ T((T_CALLED("waddnwstr(%p,%s,%d)"), win, _nc_viswbufn(str, n), n));
if (win && (str != 0)) {
TR(TRACE_VIRTPUT | TRACE_ATTRS,
diff --git a/ncurses/base/lib_beep.c b/ncurses/base/lib_beep.c
index 9d7f7fd96f01..b478f251a1bb 100644
--- a/ncurses/base/lib_beep.c
+++ b/ncurses/base/lib_beep.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2005 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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -41,12 +40,9 @@
*/
#include <curses.priv.h>
+#include <term.h> /* beep, flash */
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_beep.c,v 1.15 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_beep.c,v 1.10 2005/04/09 15:20:04 tom Exp $")
/*
* beep()
@@ -57,16 +53,12 @@ MODULE_ID("$Id: lib_beep.c,v 1.15 2009/10/24 22:02:14 tom Exp $")
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(beep) (NCURSES_SP_DCL0)
+beep(void)
{
int res = ERR;
- T((T_CALLED("beep(%p)"), (void *) SP_PARM));
+ T((T_CALLED("beep()")));
-#ifdef USE_TERM_DRIVER
- if (SP_PARM != 0)
- res = CallDriver_1(SP_PARM, doBeepOrFlash, TRUE);
-#else
/* FIXME: should make sure that we are not in altchar mode */
if (cur_term == 0) {
res = ERR;
@@ -79,15 +71,6 @@ NCURSES_SP_NAME(beep) (NCURSES_SP_DCL0)
res = putp(flash_screen);
_nc_flush();
}
-#endif
returnCode(res);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-beep(void)
-{
- return NCURSES_SP_NAME(beep) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/base/lib_bkgd.c b/ncurses/base/lib_bkgd.c
index 0396ba8f47a8..c99e0c5fc3a8 100644
--- a/ncurses/base/lib_bkgd.c
+++ b/ncurses/base/lib_bkgd.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,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 *
@@ -36,7 +36,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_bkgd.c,v 1.43 2011/01/22 19:47:37 tom Exp $")
+MODULE_ID("$Id: lib_bkgd.c,v 1.36 2008/03/23 00:09:14 tom Exp $")
/*
* Set the window's background information.
@@ -48,7 +48,7 @@ static NCURSES_INLINE void
#endif
wbkgrndset(WINDOW *win, const ARG_CH_T ch)
{
- T((T_CALLED("wbkgdset(%p,%s)"), (void *) win, _tracech_t(ch)));
+ T((T_CALLED("wbkgdset(%p,%s)"), win, _tracech_t(ch)));
if (win) {
attr_t off = AttrOf(win->_nc_bkgd);
@@ -85,12 +85,12 @@ wbkgrndset(WINDOW *win, const ARG_CH_T ch)
cchar_t wch;
int tmp;
- (void) wgetbkgrnd(win, &wch);
+ wgetbkgrnd(win, &wch);
tmp = _nc_to_char((wint_t) CharOf(wch));
win->_bkgd = (((tmp == EOF) ? ' ' : (chtype) tmp)
| (AttrOf(wch) & ALL_BUT_COLOR)
- | (chtype) ColorPair(GET_WINDOW_PAIR(win)));
+ | COLOR_PAIR(GET_WINDOW_PAIR(win)));
}
#endif
}
@@ -120,14 +120,14 @@ wbkgrnd(WINDOW *win, const ARG_CH_T ch)
int x, y;
NCURSES_CH_T new_bkgd = CHDEREF(ch);
- T((T_CALLED("wbkgd(%p,%s)"), (void *) win, _tracech_t(ch)));
+ T((T_CALLED("wbkgd(%p,%s)"), win, _tracech_t(ch)));
if (win) {
NCURSES_CH_T old_bkgrnd;
wgetbkgrnd(win, &old_bkgrnd);
- (void) wbkgrndset(win, CHREF(new_bkgd));
- (void) wattrset(win, AttrOf(win->_nc_bkgd));
+ wbkgrndset(win, CHREF(new_bkgd));
+ wattrset(win, AttrOf(win->_nc_bkgd));
for (y = 0; y <= win->_maxy; y++) {
for (x = 0; x <= win->_maxx; x++) {
diff --git a/ncurses/base/lib_box.c b/ncurses/base/lib_box.c
index 6f17c97a5b07..d6cfc6cfe09c 100644
--- a/ncurses/base/lib_box.c
+++ b/ncurses/base/lib_box.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2002,2005 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 *
@@ -42,7 +42,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_box.c,v 1.24 2010/04/24 23:51:57 tom Exp $")
+MODULE_ID("$Id: lib_box.c,v 1.22 2005/11/26 15:39:42 tom Exp $")
#if USE_WIDEC_SUPPORT
static NCURSES_INLINE chtype
@@ -51,9 +51,8 @@ _my_render(WINDOW *win, chtype ch)
NCURSES_CH_T wch;
SetChar2(wch, ch);
wch = _nc_render(win, wch);
- return ((attr_t) CharOf(wch)) | AttrOf(wch);
+ return CharOf(wch) | AttrOf(wch);
}
-
#define RENDER_WITH_DEFAULT(ch,def) w ## ch = _my_render(win, (ch == 0) ? def : ch)
#else
#define RENDER_WITH_DEFAULT(ch,def) w ## ch = _nc_render(win, (ch == 0) ? def : ch)
@@ -71,7 +70,7 @@ wborder(WINDOW *win,
chtype wls, wrs, wts, wbs, wtl, wtr, wbl, wbr;
T((T_CALLED("wborder(%p,%s,%s,%s,%s,%s,%s,%s,%s)"),
- (void *) win,
+ win,
_tracechtype2(1, ls),
_tracechtype2(2, rs),
_tracechtype2(3, ts),
diff --git a/ncurses/base/lib_chgat.c b/ncurses/base/lib_chgat.c
index cdddaeae995c..89eefa7e82fe 100644
--- a/ncurses/base/lib_chgat.c
+++ b/ncurses/base/lib_chgat.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2006 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 *
@@ -42,19 +42,19 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_chgat.c,v 1.9 2010/03/31 23:38:02 tom Exp $")
+MODULE_ID("$Id: lib_chgat.c,v 1.7 2006/07/15 22:07:11 tom Exp $")
NCURSES_EXPORT(int)
wchgat(WINDOW *win, int n, attr_t attr, short color, const void *opts GCC_UNUSED)
{
int i;
- T((T_CALLED("wchgat(%p,%d,%s,%d)"), (void *) win, n, _traceattr(attr), color));
+ T((T_CALLED("wchgat(%p,%d,%s,%d)"), win, n, _traceattr(attr), color));
if (win) {
struct ldat *line = &(win->_line[win->_cury]);
- toggle_attr_on(attr, ColorPair(color));
+ toggle_attr_on(attr, COLOR_PAIR(color));
for (i = win->_curx; i <= win->_maxx && (n == -1 || (n-- > 0)); i++) {
SetAttr(line->text[i], attr);
diff --git a/ncurses/base/lib_clear.c b/ncurses/base/lib_clear.c
index 008744ccbabb..e0b4edf9e224 100644
--- a/ncurses/base/lib_clear.c
+++ b/ncurses/base/lib_clear.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,14 +40,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_clear.c,v 1.8 2009/10/24 22:33:29 tom Exp $")
+MODULE_ID("$Id: lib_clear.c,v 1.7 2000/12/10 02:43:26 tom Exp $")
NCURSES_EXPORT(int)
wclear(WINDOW *win)
{
int code = ERR;
- T((T_CALLED("wclear(%p)"), (void *) win));
+ T((T_CALLED("wclear(%p)"), win));
if ((code = werase(win)) != ERR)
win->_clear = TRUE;
diff --git a/ncurses/base/lib_clearok.c b/ncurses/base/lib_clearok.c
index ffc7d02dc0ff..9b56bd1ec63a 100644
--- a/ncurses/base/lib_clearok.c
+++ b/ncurses/base/lib_clearok.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,12 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_clearok.c,v 1.5 2009/10/24 22:34:53 tom Exp $")
+MODULE_ID("$Id: lib_clearok.c,v 1.4 2000/12/10 02:43:26 tom Exp $")
NCURSES_EXPORT(int)
clearok(WINDOW *win, bool flag)
{
- T((T_CALLED("clearok(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("clearok(%p,%d)"), win, flag));
if (win) {
win->_clear = flag;
diff --git a/ncurses/base/lib_clrbot.c b/ncurses/base/lib_clrbot.c
index cbf2206d5581..df196e815f82 100644
--- a/ncurses/base/lib_clrbot.c
+++ b/ncurses/base/lib_clrbot.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,14 +40,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_clrbot.c,v 1.21 2009/10/24 22:33:19 tom Exp $")
+MODULE_ID("$Id: lib_clrbot.c,v 1.20 2006/10/14 20:43:31 tom Exp $")
NCURSES_EXPORT(int)
wclrtobot(WINDOW *win)
{
int code = ERR;
- T((T_CALLED("wclrtobot(%p)"), (void *) win));
+ T((T_CALLED("wclrtobot(%p)"), win));
if (win) {
NCURSES_SIZE_T y;
diff --git a/ncurses/base/lib_clreol.c b/ncurses/base/lib_clreol.c
index 7aff84b35a42..c46ebd93a332 100644
--- a/ncurses/base/lib_clreol.c
+++ b/ncurses/base/lib_clreol.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2001,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,14 +40,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_clreol.c,v 1.22 2009/10/24 22:33:06 tom Exp $")
+MODULE_ID("$Id: lib_clreol.c,v 1.21 2001/12/19 01:06:04 tom Exp $")
NCURSES_EXPORT(int)
wclrtoeol(WINDOW *win)
{
int code = ERR;
- T((T_CALLED("wclrtoeol(%p)"), (void *) win));
+ T((T_CALLED("wclrtoeol(%p)"), win));
if (win) {
NCURSES_CH_T blank;
diff --git a/ncurses/base/lib_color.c b/ncurses/base/lib_color.c
index a5c181c8b4b1..9cae495436fe 100644
--- a/ncurses/base/lib_color.c
+++ b/ncurses/base/lib_color.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/* lib_color.c
@@ -39,33 +38,12 @@
*/
#include <curses.priv.h>
-#include <tic.h>
-
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-MODULE_ID("$Id: lib_color.c,v 1.98 2010/04/24 22:57:53 tom Exp $")
+#include <term.h>
+#include <tic.h>
-#ifdef USE_TERM_DRIVER
-#define CanChange InfoOf(SP_PARM).canchange
-#define DefaultPalette InfoOf(SP_PARM).defaultPalette
-#define HasColor InfoOf(SP_PARM).hascolor
-#define InitColor InfoOf(SP_PARM).initcolor
-#define MaxColors InfoOf(SP_PARM).maxcolors
-#define MaxPairs InfoOf(SP_PARM).maxpairs
-#define UseHlsPalette (DefaultPalette == _nc_hls_palette)
-#else
-#define CanChange can_change
-#define DefaultPalette (hue_lightness_saturation ? hls_palette : cga_palette)
-#define HasColor has_color
-#define InitColor initialize_color
-#define MaxColors max_colors
-#define MaxPairs max_pairs
-#define UseHlsPalette (hue_lightness_saturation)
-#endif
+MODULE_ID("$Id: lib_color.c,v 1.85 2007/04/07 17:07:28 tom Exp $")
-#ifndef USE_TERM_DRIVER
/*
* These should be screen structure members. They need to be globals for
* historical reasons. So we assign them in start_color() and also in
@@ -86,7 +64,6 @@ NCURSES_PUBLIC_VAR(COLORS) (void)
NCURSES_EXPORT_VAR(int) COLOR_PAIRS = 0;
NCURSES_EXPORT_VAR(int) COLORS = 0;
#endif
-#endif /* !USE_TERM_DRIVER */
#define DATA(r,g,b) {r,g,b, 0,0,0, 0}
@@ -94,7 +71,7 @@ NCURSES_EXPORT_VAR(int) COLORS = 0;
#define MAX_PALETTE 8
-#define OkColorHi(n) (((n) < COLORS) && ((n) < maxcolors))
+#define OkColorHi(n) (((n) < COLORS) && ((n) < max_colors))
#define InPalette(n) ((n) >= 0 && (n) < MAX_PALETTE)
/*
@@ -129,43 +106,29 @@ static const color_t hls_palette[] =
DATA( 300, 50, 100), /* COLOR_CYAN */
DATA( 0, 50, 100), /* COLOR_WHITE */
};
-
-#ifdef USE_TERM_DRIVER
-NCURSES_EXPORT_VAR(const color_t*) _nc_cga_palette = cga_palette;
-NCURSES_EXPORT_VAR(const color_t*) _nc_hls_palette = hls_palette;
-#endif
-
/* *INDENT-ON* */
-/*
- * Ensure that we use color pairs only when colors have been started, and also
- * that the index is within the limits of the table which we allocated.
- */
-#define ValidPair(pair) \
- ((SP_PARM != 0) && (pair >= 0) && (pair < SP_PARM->_pair_limit) && SP_PARM->_coloron)
-
#if NCURSES_EXT_FUNCS
/*
* These are called from _nc_do_color(), which in turn is called from
- * vidattr - so we have to assume that sp may be null.
+ * vidattr - so we have to assume that SP may be null.
*/
static int
-default_fg(NCURSES_SP_DCL0)
+default_fg(void)
{
- return (SP_PARM != 0) ? SP_PARM->_default_fg : COLOR_WHITE;
+ return (SP != 0) ? SP->_default_fg : COLOR_WHITE;
}
static int
-default_bg(NCURSES_SP_DCL0)
+default_bg(void)
{
- return SP_PARM != 0 ? SP_PARM->_default_bg : COLOR_BLACK;
+ return SP != 0 ? SP->_default_bg : COLOR_BLACK;
}
#else
-#define default_fg(sp) COLOR_WHITE
-#define default_bg(sp) COLOR_BLACK
+#define default_fg() COLOR_WHITE
+#define default_bg() COLOR_BLACK
#endif
-#ifndef USE_TERM_DRIVER
/*
* SVr4 curses is known to interchange color codes (1,4) and (3,6), possibly
* to maintain compatibility with a pre-ANSI scheme. The same scheme is
@@ -182,70 +145,52 @@ toggled_colors(int c)
}
return c;
}
-#endif
static void
-set_background_color(NCURSES_SP_DCLx int bg, NCURSES_SP_OUTC outc)
+set_background_color(int bg, int (*outc) (int))
{
-#ifdef USE_TERM_DRIVER
- CallDriver_3(SP_PARM, color, FALSE, bg, outc);
-#else
if (set_a_background) {
TPUTS_TRACE("set_a_background");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_a_background, bg),
- 1, outc);
+ tputs(TPARM_1(set_a_background, bg), 1, outc);
} else {
TPUTS_TRACE("set_background");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_background, toggled_colors(bg)),
- 1, outc);
+ tputs(TPARM_1(set_background, toggled_colors(bg)), 1, outc);
}
-#endif
}
static void
-set_foreground_color(NCURSES_SP_DCLx int fg, NCURSES_SP_OUTC outc)
+set_foreground_color(int fg, int (*outc) (int))
{
-#ifdef USE_TERM_DRIVER
- CallDriver_3(SP_PARM, color, TRUE, fg, outc);
-#else
if (set_a_foreground) {
TPUTS_TRACE("set_a_foreground");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_a_foreground, fg),
- 1, outc);
+ tputs(TPARM_1(set_a_foreground, fg), 1, outc);
} else {
TPUTS_TRACE("set_foreground");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_foreground, toggled_colors(fg)),
- 1, outc);
+ tputs(TPARM_1(set_foreground, toggled_colors(fg)), 1, outc);
}
-#endif
}
static void
-init_color_table(NCURSES_SP_DCL0)
+init_color_table(void)
{
- const color_t *tp = DefaultPalette;
+ const color_t *tp;
int n;
- assert(tp != 0);
-
+ tp = (hue_lightness_saturation) ? hls_palette : cga_palette;
for (n = 0; n < COLORS; n++) {
if (InPalette(n)) {
- SP_PARM->_color_table[n] = tp[n];
+ SP->_color_table[n] = tp[n];
} else {
- SP_PARM->_color_table[n] = tp[n % MAX_PALETTE];
- if (UseHlsPalette) {
- SP_PARM->_color_table[n].green = 100;
+ SP->_color_table[n] = tp[n % MAX_PALETTE];
+ if (hue_lightness_saturation) {
+ SP->_color_table[n].green = 100;
} else {
- if (SP_PARM->_color_table[n].red)
- SP_PARM->_color_table[n].red = 1000;
- if (SP_PARM->_color_table[n].green)
- SP_PARM->_color_table[n].green = 1000;
- if (SP_PARM->_color_table[n].blue)
- SP_PARM->_color_table[n].blue = 1000;
+ if (SP->_color_table[n].red)
+ SP->_color_table[n].red = 1000;
+ if (SP->_color_table[n].green)
+ SP->_color_table[n].green = 1000;
+ if (SP->_color_table[n].blue)
+ SP->_color_table[n].blue = 1000;
}
}
}
@@ -255,21 +200,16 @@ init_color_table(NCURSES_SP_DCL0)
* Reset the color pair, e.g., to whatever color pair 0 is.
*/
static bool
-reset_color_pair(NCURSES_SP_DCL0)
+reset_color_pair(void)
{
-#ifdef USE_TERM_DRIVER
- return CallDriver(SP_PARM, rescol);
-#else
bool result = FALSE;
- (void) SP_PARM;
if (orig_pair != 0) {
TPUTS_TRACE("orig_pair");
putp(orig_pair);
result = TRUE;
}
return result;
-#endif
}
/*
@@ -277,93 +217,65 @@ reset_color_pair(NCURSES_SP_DCL0)
* badly-written terminal descriptions than for the relatively rare case where
* someone has changed the color definitions.
*/
-NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(_nc_reset_colors) (NCURSES_SP_DCL0)
+bool
+_nc_reset_colors(void)
{
int result = FALSE;
- T((T_CALLED("_nc_reset_colors(%p)"), (void *) SP_PARM));
- if (SP_PARM->_color_defs > 0)
- SP_PARM->_color_defs = -(SP_PARM->_color_defs);
- if (reset_color_pair(NCURSES_SP_ARG))
- result = TRUE;
+ T((T_CALLED("_nc_reset_colors()")));
+ if (SP->_color_defs > 0)
+ SP->_color_defs = -(SP->_color_defs);
-#ifdef USE_TERM_DRIVER
- result = CallDriver(SP_PARM, rescolors);
-#else
+ if (reset_color_pair())
+ result = TRUE;
if (orig_colors != 0) {
TPUTS_TRACE("orig_colors");
putp(orig_colors);
result = TRUE;
}
-#endif
returnBool(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(bool)
-_nc_reset_colors(void)
-{
- return NCURSES_SP_NAME(_nc_reset_colors) (CURRENT_SCREEN);
-}
-#endif
-
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(start_color) (NCURSES_SP_DCL0)
+start_color(void)
{
int result = ERR;
- int maxpairs = 0, maxcolors = 0;
- T((T_CALLED("start_color(%p)"), (void *) SP_PARM));
+ T((T_CALLED("start_color()")));
- if (SP_PARM == 0) {
+ if (SP == 0) {
result = ERR;
- } else if (SP_PARM->_coloron) {
+ } else if (SP->_coloron) {
result = OK;
} else {
- maxpairs = MaxPairs;
- maxcolors = MaxColors;
- if (reset_color_pair(NCURSES_SP_ARG) != TRUE) {
- set_foreground_color(NCURSES_SP_ARGx
- default_fg(NCURSES_SP_ARG),
- NCURSES_SP_NAME(_nc_outch));
- set_background_color(NCURSES_SP_ARGx
- default_bg(NCURSES_SP_ARG),
- NCURSES_SP_NAME(_nc_outch));
- }
- if (maxpairs > 0 && maxcolors > 0) {
- SP_PARM->_pair_limit = maxpairs;
+ if (reset_color_pair() != TRUE) {
+ set_foreground_color(default_fg(), _nc_outch);
+ set_background_color(default_bg(), _nc_outch);
+ }
-#if NCURSES_EXT_FUNCS
- /*
- * If using default colors, allocate extra space in table to
- * allow for default-color as a component of a color-pair.
- */
- SP_PARM->_pair_limit += (1 + (2 * maxcolors));
-#endif
- SP_PARM->_pair_count = maxpairs;
- SP_PARM->_color_count = maxcolors;
+ if (max_pairs > 0 && max_colors > 0) {
+ SP->_pair_count = max_pairs;
+ SP->_color_count = max_colors;
#if !USE_REENTRANT
- COLOR_PAIRS = maxpairs;
- COLORS = maxcolors;
+ COLOR_PAIRS = max_pairs;
+ COLORS = max_colors;
#endif
- SP_PARM->_color_pairs = TYPE_CALLOC(colorpair_t, SP_PARM->_pair_limit);
- if (SP_PARM->_color_pairs != 0) {
- SP_PARM->_color_table = TYPE_CALLOC(color_t, maxcolors);
- if (SP_PARM->_color_table != 0) {
- SP_PARM->_color_pairs[0] = PAIR_OF(default_fg(NCURSES_SP_ARG),
- default_bg(NCURSES_SP_ARG));
- init_color_table(NCURSES_SP_ARG);
+ if ((SP->_color_pairs = TYPE_CALLOC(colorpair_t,
+ max_pairs)) != 0) {
+ if ((SP->_color_table = TYPE_CALLOC(color_t,
+ max_colors)) != 0) {
+ SP->_color_pairs[0] = PAIR_OF(default_fg(), default_bg());
+ init_color_table();
T(("started color: COLORS = %d, COLOR_PAIRS = %d",
COLORS, COLOR_PAIRS));
- SP_PARM->_coloron = 1;
+ SP->_coloron = 1;
result = OK;
- } else if (SP_PARM->_color_pairs != 0) {
- FreeAndNull(SP_PARM->_color_pairs);
+ } else if (SP->_color_pairs != 0) {
+ FreeAndNull(SP->_color_pairs);
}
}
} else {
@@ -373,14 +285,6 @@ NCURSES_SP_NAME(start_color) (NCURSES_SP_DCL0)
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-start_color(void)
-{
- return NCURSES_SP_NAME(start_color) (CURRENT_SCREEN);
-}
-#endif
-
/* This function was originally written by Daniel Weaver <danw@znyx.com> */
static void
rgb2hls(short r, short g, short b, short *h, short *l, short *s)
@@ -394,7 +298,7 @@ rgb2hls(short r, short g, short b, short *h, short *l, short *s)
max = b;
/* calculate lightness */
- *l = (short) ((min + max) / 20);
+ *l = (min + max) / 20;
if (min == max) { /* black, white and all shades of gray */
*h = 0;
@@ -404,17 +308,17 @@ rgb2hls(short r, short g, short b, short *h, short *l, short *s)
/* calculate saturation */
if (*l < 50)
- *s = (short) (((max - min) * 100) / (max + min));
+ *s = ((max - min) * 100) / (max + min);
else
- *s = (short) (((max - min) * 100) / (2000 - max - min));
+ *s = ((max - min) * 100) / (2000 - max - min);
/* calculate hue */
if (r == max)
- t = (short) (120 + ((g - b) * 60) / (max - min));
+ t = 120 + ((g - b) * 60) / (max - min);
else if (g == max)
- t = (short) (240 + ((b - r) * 60) / (max - min));
+ t = 240 + ((b - r) * 60) / (max - min);
else
- t = (short) (360 + ((r - g) * 60) / (max - min));
+ t = 360 + ((r - g) * 60) / (max - min);
*h = t % 360;
}
@@ -424,75 +328,24 @@ rgb2hls(short r, short g, short b, short *h, short *l, short *s)
* values.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(init_pair) (NCURSES_SP_DCLx short pair, short f, short b)
+init_pair(short pair, short f, short b)
{
colorpair_t result;
- colorpair_t previous;
- int maxcolors;
- T((T_CALLED("init_pair(%p,%d,%d,%d)"), (void *) SP_PARM, pair, f, b));
+ T((T_CALLED("init_pair(%d,%d,%d)"), pair, f, b));
- if (!ValidPair(pair))
+ if ((pair < 0) || (pair >= COLOR_PAIRS) || SP == 0 || !SP->_coloron)
returnCode(ERR);
-
- maxcolors = MaxColors;
-
- previous = SP_PARM->_color_pairs[pair];
#if NCURSES_EXT_FUNCS
- if (SP_PARM->_default_color) {
- bool isDefault = FALSE;
- bool wasDefault = FALSE;
- int default_pairs = SP_PARM->_default_pairs;
-
- /*
- * Map caller's color number, e.g., -1, 0, 1, .., 7, etc., into
- * internal unsigned values which we will store in the _color_pairs[]
- * table.
- */
- if (isDefaultColor(f)) {
+ if (SP->_default_color) {
+ if (f < 0)
f = COLOR_DEFAULT;
- isDefault = TRUE;
- } else if (!OkColorHi(f)) {
- returnCode(ERR);
- }
-
- if (isDefaultColor(b)) {
+ if (b < 0)
b = COLOR_DEFAULT;
- isDefault = TRUE;
- } else if (!OkColorHi(b)) {
+ if (!OkColorHi(f) && !isDefaultColor(f))
returnCode(ERR);
- }
-
- /*
- * Check if the table entry that we are going to init/update used
- * default colors.
- */
- if ((FORE_OF(previous) == COLOR_DEFAULT)
- || (BACK_OF(previous) == COLOR_DEFAULT))
- wasDefault = TRUE;
-
- /*
- * Keep track of the number of entries in the color pair table which
- * used a default color.
- */
- if (isDefault && !wasDefault) {
- ++default_pairs;
- } else if (wasDefault && !isDefault) {
- --default_pairs;
- }
-
- /*
- * As an extension, ncurses allows the pair number to exceed the
- * terminal's color_pairs value for pairs using a default color.
- *
- * Note that updating a pair which used a default color with one
- * that does not will decrement the count - and possibly interfere
- * with sequentially adding new pairs.
- */
- if (pair > (SP_PARM->_pair_count + default_pairs)) {
+ if (!OkColorHi(b) && !isDefaultColor(b))
returnCode(ERR);
- }
- SP_PARM->_default_pairs = default_pairs;
} else
#endif
{
@@ -508,14 +361,14 @@ NCURSES_SP_NAME(init_pair) (NCURSES_SP_DCLx short pair, short f, short b)
* pair colors with the new ones).
*/
result = PAIR_OF(f, b);
- if (previous != 0
- && previous != result) {
+ if (SP->_color_pairs[pair] != 0
+ && SP->_color_pairs[pair] != result) {
int y, x;
- for (y = 0; y <= CurScreen(SP_PARM)->_maxy; y++) {
- struct ldat *ptr = &(CurScreen(SP_PARM)->_line[y]);
+ for (y = 0; y <= curscr->_maxy; y++) {
+ struct ldat *ptr = &(curscr->_line[y]);
bool changed = FALSE;
- for (x = 0; x <= CurScreen(SP_PARM)->_maxx; x++) {
+ for (x = 0; x <= curscr->_maxx; x++) {
if (GetPair(ptr->text[x]) == pair) {
/* Set the old cell to zero to ensure it will be
updated on the next doupdate() */
@@ -525,19 +378,15 @@ NCURSES_SP_NAME(init_pair) (NCURSES_SP_DCLx short pair, short f, short b)
}
}
if (changed)
- NCURSES_SP_NAME(_nc_make_oldhash) (NCURSES_SP_ARGx y);
+ _nc_make_oldhash(y);
}
}
+ SP->_color_pairs[pair] = result;
+ if (GET_SCREEN_PAIR(SP) == pair)
+ SET_SCREEN_PAIR(SP, (chtype) (~0)); /* force attribute update */
- SP_PARM->_color_pairs[pair] = result;
- if (GET_SCREEN_PAIR(SP_PARM) == pair)
- SET_SCREEN_PAIR(SP_PARM, (chtype) (~0)); /* force attribute update */
-
-#ifdef USE_TERM_DRIVER
- CallDriver_3(SP_PARM, initpair, pair, f, b);
-#else
if (initialize_pair && InPalette(f) && InPalette(b)) {
- const color_t *tp = DefaultPalette;
+ const color_t *tp = hue_lightness_saturation ? hls_palette : cga_palette;
TR(TRACE_ATTRS,
("initializing pair: pair = %d, fg=(%d,%d,%d), bg=(%d,%d,%d)",
@@ -551,148 +400,80 @@ NCURSES_SP_NAME(init_pair) (NCURSES_SP_DCLx short pair, short f, short b)
tp[f].red, tp[f].green, tp[f].blue,
tp[b].red, tp[b].green, tp[b].blue));
}
-#endif
returnCode(OK);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-init_pair(short pair, short f, short b)
-{
- return NCURSES_SP_NAME(init_pair) (CURRENT_SCREEN, pair, f, b);
-}
-#endif
-
#define okRGB(n) ((n) >= 0 && (n) <= 1000)
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(init_color) (NCURSES_SP_DCLx
- short color, short r, short g, short b)
+init_color(short color, short r, short g, short b)
{
int result = ERR;
- int maxcolors;
-
- T((T_CALLED("init_color(%p,%d,%d,%d,%d)"),
- (void *) SP_PARM,
- color,
- r, g, b));
- if (SP_PARM == 0)
- returnCode(result);
+ T((T_CALLED("init_color(%d,%d,%d,%d)"), color, r, g, b));
- maxcolors = MaxColors;
-
- if (InitColor
- && SP_PARM->_coloron
+ if (initialize_color != NULL
+ && SP != 0
+ && SP->_coloron
&& (color >= 0 && OkColorHi(color))
&& (okRGB(r) && okRGB(g) && okRGB(b))) {
- SP_PARM->_color_table[color].init = 1;
- SP_PARM->_color_table[color].r = r;
- SP_PARM->_color_table[color].g = g;
- SP_PARM->_color_table[color].b = b;
+ SP->_color_table[color].init = 1;
+ SP->_color_table[color].r = r;
+ SP->_color_table[color].g = g;
+ SP->_color_table[color].b = b;
- if (UseHlsPalette) {
+ if (hue_lightness_saturation) {
rgb2hls(r, g, b,
- &SP_PARM->_color_table[color].red,
- &SP_PARM->_color_table[color].green,
- &SP_PARM->_color_table[color].blue);
+ &SP->_color_table[color].red,
+ &SP->_color_table[color].green,
+ &SP->_color_table[color].blue);
} else {
- SP_PARM->_color_table[color].red = r;
- SP_PARM->_color_table[color].green = g;
- SP_PARM->_color_table[color].blue = b;
+ SP->_color_table[color].red = r;
+ SP->_color_table[color].green = g;
+ SP->_color_table[color].blue = b;
}
-#ifdef USE_TERM_DRIVER
- CallDriver_4(SP_PARM, initcolor, color, r, g, b);
-#else
TPUTS_TRACE("initialize_color");
putp(TPARM_4(initialize_color, color, r, g, b));
-#endif
- SP_PARM->_color_defs = max(color + 1, SP_PARM->_color_defs);
-
+ SP->_color_defs = max(color + 1, SP->_color_defs);
result = OK;
}
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-init_color(short color, short r, short g, short b)
-{
- return NCURSES_SP_NAME(init_color) (CURRENT_SCREEN, color, r, g, b);
-}
-#endif
-
-NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(can_change_color) (NCURSES_SP_DCL)
-{
- T((T_CALLED("can_change_color(%p)"), (void *) SP_PARM));
- returnCode((CanChange != 0) ? TRUE : FALSE);
-}
-
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(bool)
can_change_color(void)
{
- return NCURSES_SP_NAME(can_change_color) (CURRENT_SCREEN);
+ T((T_CALLED("can_change_color()")));
+ returnCode((can_change != 0) ? TRUE : FALSE);
}
-#endif
NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(has_colors) (NCURSES_SP_DCL0)
-{
- int code;
-
- (void) SP_PARM;
- T((T_CALLED("has_colors()")));
-#ifdef USE_TERM_DRIVER
- code = HasColor;
-#else
- code = ((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs)
- && (((set_foreground != NULL)
- && (set_background != NULL))
- || ((set_a_foreground != NULL)
- && (set_a_background != NULL))
- || set_color_pair)) ? TRUE : FALSE);
-#endif
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(bool)
has_colors(void)
{
- return NCURSES_SP_NAME(has_colors) (CURRENT_SCREEN);
+ T((T_CALLED("has_colors()")));
+ returnCode((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs)
+ && (((set_foreground != NULL)
+ && (set_background != NULL))
+ || ((set_a_foreground != NULL)
+ && (set_a_background != NULL))
+ || set_color_pair)) ? TRUE : FALSE);
}
-#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(color_content) (NCURSES_SP_DCLx
- short color, short *r, short *g, short *b)
+color_content(short color, short *r, short *g, short *b)
{
- int result = ERR;
- int maxcolors;
-
- T((T_CALLED("color_content(%p,%d,%p,%p,%p)"),
- (void *) SP_PARM,
- color,
- (void *) r,
- (void *) g,
- (void *) b));
-
- if (SP_PARM == 0)
- returnCode(result);
-
- maxcolors = MaxColors;
+ int result;
- if (color < 0 || !OkColorHi(color) || !SP_PARM->_coloron) {
+ T((T_CALLED("color_content(%d,%p,%p,%p)"), color, r, g, b));
+ if (color < 0 || !OkColorHi(color) || SP == 0 || !SP->_coloron) {
result = ERR;
} else {
- NCURSES_COLOR_T c_r = SP_PARM->_color_table[color].red;
- NCURSES_COLOR_T c_g = SP_PARM->_color_table[color].green;
- NCURSES_COLOR_T c_b = SP_PARM->_color_table[color].blue;
+ NCURSES_COLOR_T c_r = SP->_color_table[color].red;
+ NCURSES_COLOR_T c_g = SP->_color_table[color].green;
+ NCURSES_COLOR_T c_b = SP->_color_table[color].blue;
if (r)
*r = c_r;
@@ -708,31 +489,18 @@ NCURSES_SP_NAME(color_content) (NCURSES_SP_DCLx
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-color_content(short color, short *r, short *g, short *b)
-{
- return NCURSES_SP_NAME(color_content) (CURRENT_SCREEN, color, r, g, b);
-}
-#endif
-
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(pair_content) (NCURSES_SP_DCLx
- short pair, short *f, short *b)
+pair_content(short pair, short *f, short *b)
{
int result;
- T((T_CALLED("pair_content(%p,%d,%p,%p)"),
- (void *) SP_PARM,
- pair,
- (void *) f,
- (void *) b));
+ T((T_CALLED("pair_content(%d,%p,%p)"), pair, f, b));
- if (!ValidPair(pair)) {
+ if ((pair < 0) || (pair >= COLOR_PAIRS) || SP == 0 || !SP->_coloron) {
result = ERR;
} else {
- NCURSES_COLOR_T fg = FORE_OF(SP_PARM->_color_pairs[pair]);
- NCURSES_COLOR_T bg = BACK_OF(SP_PARM->_color_pairs[pair]);
+ NCURSES_COLOR_T fg = ((SP->_color_pairs[pair] >> C_SHIFT) & C_MASK);
+ NCURSES_COLOR_T bg = (SP->_color_pairs[pair] & C_MASK);
#if NCURSES_EXT_FUNCS
if (fg == COLOR_DEFAULT)
@@ -746,53 +514,33 @@ NCURSES_SP_NAME(pair_content) (NCURSES_SP_DCLx
if (b)
*b = bg;
- TR(TRACE_ATTRS, ("...pair_content(%p,%d,%d,%d)",
- (void *) SP_PARM,
- pair,
- fg, bg));
+ TR(TRACE_ATTRS, ("...pair_content(%d,%d,%d)", pair, fg, bg));
result = OK;
}
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-pair_content(short pair, short *f, short *b)
-{
- return NCURSES_SP_NAME(pair_content) (CURRENT_SCREEN, pair, f, b);
-}
-#endif
-
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_DCLx
- short old_pair,
- short pair,
- bool reverse,
- NCURSES_SP_OUTC outc)
+_nc_do_color(short old_pair, short pair, bool reverse, int (*outc) (int))
{
-#ifdef USE_TERM_DRIVER
- CallDriver_4(SP_PARM, docolor, old_pair, pair, reverse, outc);
-#else
NCURSES_COLOR_T fg = COLOR_DEFAULT;
NCURSES_COLOR_T bg = COLOR_DEFAULT;
NCURSES_COLOR_T old_fg, old_bg;
- if (!ValidPair(pair)) {
+ if (pair < 0 || pair >= COLOR_PAIRS) {
return;
} else if (pair != 0) {
if (set_color_pair) {
TPUTS_TRACE("set_color_pair");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_color_pair, pair),
- 1, outc);
+ tputs(TPARM_1(set_color_pair, pair), 1, outc);
return;
- } else if (SP_PARM != 0) {
+ } else if (SP != 0) {
pair_content((short) pair, &fg, &bg);
}
}
if (old_pair >= 0
- && SP_PARM != 0
+ && SP != 0
&& pair_content(old_pair, &old_fg, &old_bg) != ERR) {
if ((isDefaultColor(fg) && !isDefaultColor(old_fg))
|| (isDefaultColor(bg) && !isDefaultColor(old_bg))) {
@@ -802,29 +550,29 @@ NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_DCLx
* the terminal description, treat it as screen's indicator of ECMA
* SGR 39 and SGR 49, and assume the two sequences are independent.
*/
- if (SP_PARM->_has_sgr_39_49
+ if (SP->_has_sgr_39_49
&& isDefaultColor(old_bg)
&& !isDefaultColor(old_fg)) {
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx "\033[39m", 1, outc);
- } else if (SP_PARM->_has_sgr_39_49
+ tputs("\033[39m", 1, outc);
+ } else if (SP->_has_sgr_39_49
&& isDefaultColor(old_fg)
&& !isDefaultColor(old_bg)) {
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx "\033[49m", 1, outc);
+ tputs("\033[49m", 1, outc);
} else
#endif
- reset_color_pair(NCURSES_SP_ARG);
+ reset_color_pair();
}
} else {
- reset_color_pair(NCURSES_SP_ARG);
+ reset_color_pair();
if (old_pair < 0)
return;
}
#if NCURSES_EXT_FUNCS
if (isDefaultColor(fg))
- fg = (short) default_fg(NCURSES_SP_ARG);
+ fg = default_fg();
if (isDefaultColor(bg))
- bg = (short) default_bg(NCURSES_SP_ARG);
+ bg = default_bg();
#endif
if (reverse) {
@@ -837,23 +585,9 @@ NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_DCLx
fg, bg));
if (!isDefaultColor(fg)) {
- set_foreground_color(NCURSES_SP_ARGx fg, outc);
+ set_foreground_color(fg, outc);
}
if (!isDefaultColor(bg)) {
- set_background_color(NCURSES_SP_ARGx bg, outc);
+ set_background_color(bg, outc);
}
-#endif
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_do_color(short old_pair, short pair, bool reverse, NCURSES_OUTC outc)
-{
- SetSafeOutcWrapper(outc);
- NCURSES_SP_NAME(_nc_do_color) (CURRENT_SCREEN,
- old_pair,
- pair,
- reverse,
- _nc_outc_wrapper);
-}
-#endif
diff --git a/ncurses/base/lib_colorset.c b/ncurses/base/lib_colorset.c
index 6210a0e8a8f9..a973c5350c8f 100644
--- a/ncurses/base/lib_colorset.c
+++ b/ncurses/base/lib_colorset.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2005 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 *
@@ -28,7 +28,7 @@
/****************************************************************************
* Author: Juergen Pfeifer, 1998 *
- * and: Thomas E. Dickey, 2005-on *
+ * and: Thomas E. Dickey, 2005 *
****************************************************************************/
/*
@@ -41,23 +41,20 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_colorset.c,v 1.13 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_colorset.c,v 1.11 2005/01/29 21:40:51 tom Exp $")
NCURSES_EXPORT(int)
wcolor_set(WINDOW *win, short color_pair_number, void *opts)
{
- int code = ERR;
-
- T((T_CALLED("wcolor_set(%p,%d)"), (void *) win, color_pair_number));
+ T((T_CALLED("wcolor_set(%p,%d)"), win, color_pair_number));
if (win
&& !opts
- && (SP != 0)
&& (color_pair_number >= 0)
- && (color_pair_number < SP->_pair_limit)) {
+ && (color_pair_number < COLOR_PAIRS)) {
TR(TRACE_ATTRS, ("... current %ld", (long) GET_WINDOW_PAIR(win)));
SET_WINDOW_PAIR(win, color_pair_number);
if_EXT_COLORS(win->_color = color_pair_number);
- code = OK;
- }
- returnCode(code);
+ returnCode(OK);
+ } else
+ returnCode(ERR);
}
diff --git a/ncurses/base/lib_delch.c b/ncurses/base/lib_delch.c
index 64c9da73edf8..0c30f2d93c1b 100644
--- a/ncurses/base/lib_delch.c
+++ b/ncurses/base/lib_delch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2001,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,14 +40,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_delch.c,v 1.13 2009/10/24 22:32:47 tom Exp $")
+MODULE_ID("$Id: lib_delch.c,v 1.12 2001/12/19 01:06:09 tom Exp $")
NCURSES_EXPORT(int)
wdelch(WINDOW *win)
{
int code = ERR;
- T((T_CALLED("wdelch(%p)"), (void *) win));
+ T((T_CALLED("wdelch(%p)"), win));
if (win) {
NCURSES_CH_T blank = win->_nc_bkgd;
diff --git a/ncurses/base/lib_delwin.c b/ncurses/base/lib_delwin.c
index 4bb536ca86ad..b92c40335958 100644
--- a/ncurses/base/lib_delwin.c
+++ b/ncurses/base/lib_delwin.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2008 *
****************************************************************************/
/*
@@ -42,18 +40,15 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_delwin.c,v 1.20 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_delwin.c,v 1.17 2008/06/07 14:10:56 tom Exp $")
static bool
cannot_delete(WINDOW *win)
{
WINDOWLIST *p;
bool result = TRUE;
-#ifdef USE_SP_WINDOWLIST
- SCREEN *sp = _nc_screen_of(win);
-#endif
- for (each_window(SP_PARM, p)) {
+ for (each_window(p)) {
if (&(p->win) == win) {
result = FALSE;
} else if ((p->win._flags & _SUBWIN) != 0
@@ -70,20 +65,18 @@ delwin(WINDOW *win)
{
int result = ERR;
- T((T_CALLED("delwin(%p)"), (void *) win));
+ T((T_CALLED("delwin(%p)"), win));
if (_nc_try_global(curses) == 0) {
if (win == 0
|| cannot_delete(win)) {
result = ERR;
} else {
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(win);
-#endif
+
if (win->_flags & _SUBWIN)
touchwin(win->_parent);
- else if (CurScreen(SP_PARM) != 0)
- touchwin(CurScreen(SP_PARM));
+ else if (curscr != 0)
+ touchwin(curscr);
result = _nc_freewin(win);
}
diff --git a/ncurses/base/lib_dft_fgbg.c b/ncurses/base/lib_dft_fgbg.c
index 4bb9fc2774a9..8953c148b09e 100644
--- a/ncurses/base/lib_dft_fgbg.c
+++ b/ncurses/base/lib_dft_fgbg.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2004,2005 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 *
@@ -27,73 +27,49 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1998-on *
- * Juergen Pfeifer 2009 *
+ * Author: Thomas E. Dickey *
****************************************************************************/
#include <curses.priv.h>
+#include <term.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_dft_fgbg.c,v 1.25 2009/10/24 22:15:00 tom Exp $")
+MODULE_ID("$Id: lib_dft_fgbg.c,v 1.18 2005/11/26 20:03:38 tom Exp $")
/*
* Modify the behavior of color-pair 0 so that the library doesn't assume that
* it is white on black. This is an extension to XSI curses.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(use_default_colors) (NCURSES_SP_DCL0)
-{
- T((T_CALLED("use_default_colors(%p)"), (void *) SP_PARM));
- returnCode(NCURSES_SP_NAME(assume_default_colors) (NCURSES_SP_ARGx -1, -1));
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
use_default_colors(void)
{
- return NCURSES_SP_NAME(use_default_colors) (CURRENT_SCREEN);
+ T((T_CALLED("use_default_colors()")));
+ returnCode(assume_default_colors(-1, -1));
}
-#endif
/*
* Modify the behavior of color-pair 0 so that the library assumes that it
* is something specific, possibly not white on black.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(assume_default_colors) (NCURSES_SP_DCLx int fg, int bg)
+assume_default_colors(int fg, int bg)
{
- int code = ERR;
+ T((T_CALLED("assume_default_colors(%d,%d)"), fg, bg));
- T((T_CALLED("assume_default_colors(%p,%d,%d)"), (void *) SP_PARM, fg, bg));
-#ifdef USE_TERM_DRIVER
- if (sp != 0)
- code = CallDriver_2(sp, defaultcolors, fg, bg);
-#else
- if ((orig_pair || orig_colors) && !initialize_pair) {
+ if (!orig_pair && !orig_colors)
+ returnCode(ERR);
- SP_PARM->_default_color = isDefaultColor(fg) || isDefaultColor(bg);
- SP_PARM->_has_sgr_39_49 = (tigetflag("AX") == TRUE);
- SP_PARM->_default_fg = isDefaultColor(fg) ? COLOR_DEFAULT : (fg & C_MASK);
- SP_PARM->_default_bg = isDefaultColor(bg) ? COLOR_DEFAULT : (bg & C_MASK);
- if (SP_PARM->_color_pairs != 0) {
- bool save = SP_PARM->_default_color;
- SP_PARM->_default_color = TRUE;
- init_pair(0, (short) fg, (short) bg);
- SP_PARM->_default_color = save;
- }
- code = OK;
- }
-#endif
- returnCode(code);
-}
+ if (initialize_pair) /* don't know how to handle this */
+ returnCode(ERR);
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-assume_default_colors(int fg, int bg)
-{
- return NCURSES_SP_NAME(assume_default_colors) (CURRENT_SCREEN, fg, bg);
+ SP->_default_color = isDefaultColor(fg) || isDefaultColor(bg);
+ SP->_has_sgr_39_49 = (tigetflag("AX") == TRUE);
+ SP->_default_fg = isDefaultColor(fg) ? COLOR_DEFAULT : (fg & C_MASK);
+ SP->_default_bg = isDefaultColor(bg) ? COLOR_DEFAULT : (bg & C_MASK);
+ if (SP->_color_pairs != 0) {
+ bool save = SP->_default_color;
+ SP->_default_color = TRUE;
+ init_pair(0, (short) fg, (short) bg);
+ SP->_default_color = save;
+ }
+ returnCode(OK);
}
-#endif
diff --git a/ncurses/base/lib_driver.c b/ncurses/base/lib_driver.c
deleted file mode 100644
index 40487609be4d..000000000000
--- a/ncurses/base/lib_driver.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2008-2009,2010 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"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************/
-
-/****************************************************************************
- * Author: Juergen Pfeifer *
- * *
- ****************************************************************************/
-
-#include <curses.priv.h>
-
-MODULE_ID("$Id: lib_driver.c,v 1.3 2010/12/20 00:29:17 tom Exp $")
-
-typedef struct DriverEntry {
- const char *name;
- TERM_DRIVER *driver;
-} DRIVER_ENTRY;
-
-static DRIVER_ENTRY DriverTable[] =
-{
-#ifdef __MINGW32__
- {"win", &_nc_WIN_DRIVER},
-#endif
- {"tinfo", &_nc_TINFO_DRIVER}
-};
-
-NCURSES_EXPORT(int)
-_nc_get_driver(TERMINAL_CONTROL_BLOCK * TCB, const char *name, int *errret)
-{
- int code = ERR;
- size_t i;
- TERM_DRIVER *res = (TERM_DRIVER *) 0;
- TERM_DRIVER *use = 0;
-
- T((T_CALLED("_nc_get_driver(%p, %s, %p)"),
- (void *) TCB, NonNull(name), (void *) errret));
-
- assert(TCB != 0);
-
- for (i = 0; i < SIZEOF(DriverTable); i++) {
- res = DriverTable[i].driver;
- if (res->CanHandle(TCB, name, errret)) {
- use = res;
- break;
- }
- }
- if (use != 0) {
- TCB->drv = use;
- code = OK;
- }
- returnCode(code);
-}
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(has_key) (SCREEN *sp, int keycode)
-{
- T((T_CALLED("has_key(%p, %d)"), (void *) sp, keycode));
- returnCode(IsValidTIScreen(sp) ? CallDriver_1(sp, kyExist, keycode) : FALSE);
-}
-
-NCURSES_EXPORT(int)
-has_key(int keycode)
-{
- return NCURSES_SP_NAME(has_key) (CURRENT_SCREEN, keycode);
-}
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_mcprint) (SCREEN *sp, char *data, int len)
-{
- int code = ERR;
-
- if (0 != TerminalOf(sp))
- code = CallDriver_2(sp, print, data, len);
- return (code);
-}
-
-NCURSES_EXPORT(int)
-mcprint(char *data, int len)
-{
- return NCURSES_SP_NAME(_nc_mcprint) (CURRENT_SCREEN, data, len);
-}
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(doupdate) (SCREEN *sp)
-{
- int code = ERR;
-
- T((T_CALLED("doupdate(%p)"), (void *) sp));
-
- if (IsValidScreen(sp))
- code = CallDriver(sp, update);
-
- returnCode(code);
-}
-
-NCURSES_EXPORT(int)
-doupdate(void)
-{
- return NCURSES_SP_NAME(doupdate) (CURRENT_SCREEN);
-}
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(mvcur) (SCREEN *sp, int yold, int xold, int ynew, int xnew)
-{
- int code = ERR;
- TR(TRACE_CALLS | TRACE_MOVE, (T_CALLED("mvcur(%p,%d,%d,%d,%d)"),
- (void *) sp, yold, xold, ynew, xnew));
- if (HasTerminal(sp)) {
- code = CallDriver_4(sp, hwcur, yold, xold, ynew, xnew);
- }
- returnCode(code);
-}
-
-NCURSES_EXPORT(int)
-mvcur(int yold, int xold, int ynew, int xnew)
-/* optimized cursor move from (yold, xold) to (ynew, xnew) */
-{
- return NCURSES_SP_NAME(mvcur) (CURRENT_SCREEN, yold, xold, ynew, xnew);
-}
diff --git a/ncurses/base/lib_echo.c b/ncurses/base/lib_echo.c
index 9e1d3c265741..df44713d1a11 100644
--- a/ncurses/base/lib_echo.c
+++ b/ncurses/base/lib_echo.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 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 *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -44,40 +42,20 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_echo.c,v 1.8 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_echo.c,v 1.5 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(echo) (NCURSES_SP_DCL0)
-{
- T((T_CALLED("echo(%p)"), (void *) SP_PARM));
- if (0 == SP_PARM)
- returnCode(ERR);
- SP_PARM->_echo = TRUE;
- returnCode(OK);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
echo(void)
{
- return NCURSES_SP_NAME(echo) (CURRENT_SCREEN);
-}
-#endif
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(noecho) (NCURSES_SP_DCL0)
-{
- T((T_CALLED("noecho(%p)"), (void *) SP_PARM));
- if (0 == SP_PARM)
- returnCode(ERR);
- SP_PARM->_echo = FALSE;
+ T((T_CALLED("echo()")));
+ SP->_echo = TRUE;
returnCode(OK);
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
noecho(void)
{
- return NCURSES_SP_NAME(noecho) (CURRENT_SCREEN);
+ T((T_CALLED("noecho()")));
+ SP->_echo = FALSE;
+ returnCode(OK);
}
-#endif
diff --git a/ncurses/base/lib_endwin.c b/ncurses/base/lib_endwin.c
index 4596d0749633..66662871962b 100644
--- a/ncurses/base/lib_endwin.c
+++ b/ncurses/base/lib_endwin.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 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 *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -41,39 +39,22 @@
*/
#include <curses.priv.h>
+#include <term.h>
-MODULE_ID("$Id: lib_endwin.c,v 1.22 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_endwin.c,v 1.19 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(endwin) (NCURSES_SP_DCL0)
+endwin(void)
{
- int code = ERR;
-
- T((T_CALLED("endwin(%p)"), (void *) SP_PARM));
+ T((T_CALLED("endwin()")));
- if (SP_PARM) {
-#ifdef USE_TERM_DRIVER
- TERMINAL_CONTROL_BLOCK *TCB = TCBOf(SP_PARM);
-
- SP_PARM->_endwin = TRUE;
- if (TCB && TCB->drv && TCB->drv->scexit)
- TCB->drv->scexit(SP_PARM);
-#else
- SP_PARM->_endwin = TRUE;
- SP_PARM->_mouse_wrap(SP_PARM);
+ if (SP) {
+ SP->_endwin = TRUE;
+ SP->_mouse_wrap(SP);
_nc_screen_wrap();
_nc_mvcur_wrap(); /* wrap up cursor addressing */
-#endif
- code = NCURSES_SP_NAME(reset_shell_mode) (NCURSES_SP_ARG);
+ returnCode(reset_shell_mode());
}
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-endwin(void)
-{
- return NCURSES_SP_NAME(endwin) (CURRENT_SCREEN);
+ returnCode(ERR);
}
-#endif
diff --git a/ncurses/base/lib_erase.c b/ncurses/base/lib_erase.c
index bbf10ef81b92..2566e8b39820 100644
--- a/ncurses/base/lib_erase.c
+++ b/ncurses/base/lib_erase.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000,2001 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 *
@@ -41,7 +41,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_erase.c,v 1.17 2009/10/24 22:32:29 tom Exp $")
+MODULE_ID("$Id: lib_erase.c,v 1.16 2005/10/30 00:36:36 tom Exp $")
NCURSES_EXPORT(int)
werase(WINDOW *win)
@@ -51,7 +51,7 @@ werase(WINDOW *win)
NCURSES_CH_T blank;
NCURSES_CH_T *sp, *end, *start;
- T((T_CALLED("werase(%p)"), (void *) win));
+ T((T_CALLED("werase(%p)"), win));
if (win) {
blank = win->_nc_bkgd;
diff --git a/ncurses/base/lib_flash.c b/ncurses/base/lib_flash.c
index 03f11d923b6d..a6b022a8e816 100644
--- a/ncurses/base/lib_flash.c
+++ b/ncurses/base/lib_flash.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 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 *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -41,12 +39,9 @@
*/
#include <curses.priv.h>
+#include <term.h> /* beep, flash */
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_flash.c,v 1.11 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_flash.c,v 1.6 2000/12/10 02:43:27 tom Exp $")
/*
* flash()
@@ -57,15 +52,12 @@ MODULE_ID("$Id: lib_flash.c,v 1.11 2009/10/24 22:02:14 tom Exp $")
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(flash) (NCURSES_SP_DCL0)
+flash(void)
{
int res = ERR;
- T((T_CALLED("flash(%p)"), (void *) SP_PARM));
-#ifdef USE_TERM_DRIVER
- if (SP_PARM != 0)
- res = CallDriver_1(SP_PARM, doBeepOrFlash, FALSE);
-#else
+ T((T_CALLED("flash()")));
+
/* FIXME: should make sure that we are not in altchar mode */
if (flash_screen) {
TPUTS_TRACE("flash_screen");
@@ -76,14 +68,6 @@ NCURSES_SP_NAME(flash) (NCURSES_SP_DCL0)
res = putp(bell);
_nc_flush();
}
-#endif
- returnCode(res);
-}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-flash(void)
-{
- return NCURSES_SP_NAME(flash) (CURRENT_SCREEN);
+ returnCode(res);
}
-#endif
diff --git a/ncurses/base/lib_freeall.c b/ncurses/base/lib_freeall.c
index 5bcc974bc257..564026582911 100644
--- a/ncurses/base/lib_freeall.c
+++ b/ncurses/base/lib_freeall.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -31,6 +31,7 @@
****************************************************************************/
#include <curses.priv.h>
+#include <term_entry.h>
#include <tic.h>
#if HAVE_NC_FREEALL
@@ -39,40 +40,40 @@
extern int malloc_errfd; /* FIXME */
#endif
-MODULE_ID("$Id: lib_freeall.c,v 1.59 2010/01/23 17:57:43 tom Exp $")
+MODULE_ID("$Id: lib_freeall.c,v 1.54 2008/09/27 13:09:57 tom Exp $")
/*
* Free all ncurses data. This is used for testing only (there's no practical
* use for it as an extension).
*/
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_DCL0)
+_nc_freeall(void)
{
WINDOWLIST *p, *q;
static va_list empty_va;
T((T_CALLED("_nc_freeall()")));
#if NO_LEAKS
- if (SP_PARM != 0) {
- if (SP_PARM->_oldnum_list != 0) {
- FreeAndNull(SP_PARM->_oldnum_list);
+ if (SP != 0) {
+ if (SP->_oldnum_list != 0) {
+ FreeAndNull(SP->_oldnum_list);
}
- if (SP_PARM->_panelHook.destroy != 0) {
- SP_PARM->_panelHook.destroy(SP_PARM->_panelHook.stdscr_pseudo_panel);
+ if (SP->_panelHook.destroy != 0) {
+ SP->_panelHook.destroy(SP->_panelHook.stdscr_pseudo_panel);
}
}
#endif
- if (SP_PARM != 0) {
+ if (SP != 0) {
_nc_lock_global(curses);
- while (WindowList(SP_PARM) != 0) {
+ while (_nc_windows != 0) {
bool deleted = FALSE;
/* Delete only windows that're not a parent */
- for (each_window(SP_PARM, p)) {
+ for (each_window(p)) {
bool found = FALSE;
- for (each_window(SP_PARM, q)) {
+ for (each_window(q)) {
if ((p != q)
&& (q->win._flags & _SUBWIN)
&& (&(p->win) == q->win._parent)) {
@@ -94,9 +95,11 @@ NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_DCL0)
if (!deleted)
break;
}
- delscreen(SP_PARM);
+ delscreen(SP);
_nc_unlock_global(curses);
}
+ if (cur_term != 0)
+ del_curterm(cur_term);
(void) _nc_printf_string(0, empty_va);
#ifdef TRACE
@@ -118,20 +121,12 @@ NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_DCL0)
returnVoid;
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_freeall(void)
-{
- NCURSES_SP_NAME(_nc_freeall) (CURRENT_SCREEN);
-}
-#endif
-
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_free_and_exit) (NCURSES_SP_DCLx int code)
+_nc_free_and_exit(int code)
{
- char *last_setbuf = (SP_PARM != 0) ? SP_PARM->_setbuf : 0;
+ char *last_setbuf = (SP != 0) ? SP->_setbuf : 0;
- NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_ARG);
+ _nc_freeall();
#ifdef TRACE
trace(0); /* close trace file, freeing its setbuf */
{
@@ -151,21 +146,12 @@ _nc_freeall(void)
}
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_free_and_exit) (NCURSES_SP_DCLx int code)
-{
- if (SP_PARM) {
- delscreen(SP_PARM);
- if (SP_PARM->_term)
- NCURSES_SP_NAME(del_curterm) (NCURSES_SP_ARGx SP_PARM->_term);
- }
- exit(code);
-}
-#endif
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
_nc_free_and_exit(int code)
{
- NCURSES_SP_NAME(_nc_free_and_exit) (CURRENT_SCREEN, code);
+ if (SP)
+ delscreen(SP);
+ if (cur_term != 0)
+ del_curterm(cur_term);
+ exit(code);
}
#endif
diff --git a/ncurses/base/lib_getch.c b/ncurses/base/lib_getch.c
index 130c502431b3..e7ba0b210e34 100644
--- a/ncurses/base/lib_getch.c
+++ b/ncurses/base/lib_getch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,80 +41,40 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_getch.c,v 1.121 2010/12/25 23:24:04 tom Exp $")
+MODULE_ID("$Id: lib_getch.c,v 1.99 2008/09/20 19:46:13 tom Exp $")
#include <fifo_defs.h>
#if USE_REENTRANT
-#define GetEscdelay(sp) *_nc_ptr_Escdelay(sp)
+#define GetEscdelay(sp) (sp)->_ESCDELAY
NCURSES_EXPORT(int)
NCURSES_PUBLIC_VAR(ESCDELAY) (void)
{
- return *(_nc_ptr_Escdelay(CURRENT_SCREEN));
-}
-
-NCURSES_EXPORT(int *)
-_nc_ptr_Escdelay(SCREEN *sp)
-{
- return ptrEscdelay(sp);
+ return SP ? GetEscdelay(SP) : 1000;
}
#else
#define GetEscdelay(sp) ESCDELAY
-NCURSES_EXPORT_VAR(int) ESCDELAY = 1000;
+NCURSES_EXPORT_VAR(int)
+ESCDELAY = 1000; /* max interval betw. chars in funkeys, in millisecs */
#endif
#if NCURSES_EXT_FUNCS
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(set_escdelay) (NCURSES_SP_DCLx int value)
+set_escdelay(int value)
{
int code = OK;
#if USE_REENTRANT
- if (SP_PARM) {
- SET_ESCDELAY(value);
+ if (SP) {
+ SP->_ESCDELAY = value;
} else {
code = ERR;
}
#else
- (void) SP_PARM;
ESCDELAY = value;
#endif
return code;
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-set_escdelay(int value)
-{
- int code;
-#if USE_REENTRANT
- code = NCURSES_SP_NAME(set_escdelay) (CURRENT_SCREEN, value);
-#else
- ESCDELAY = value;
- code = OK;
-#endif
- return code;
-}
-#endif
-#endif /* NCURSES_EXT_FUNCS */
-
-#if NCURSES_EXT_FUNCS
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(get_escdelay) (NCURSES_SP_DCL0)
-{
-#if !USE_REENTRANT
- (void) SP_PARM;
-#endif
- return GetEscdelay(SP_PARM);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-get_escdelay(void)
-{
- return NCURSES_SP_NAME(get_escdelay) (CURRENT_SCREEN);
-}
#endif
-#endif /* NCURSES_EXT_FUNCS */
static int
_nc_use_meta(WINDOW *win)
@@ -124,6 +83,12 @@ _nc_use_meta(WINDOW *win)
return (sp ? sp->_use_meta : 0);
}
+#ifdef NCURSES_WGETCH_EVENTS
+#define TWAIT_MASK 7
+#else
+#define TWAIT_MASK 3
+#endif
+
/*
* Check for mouse activity, returning nonzero if we find any.
*/
@@ -132,29 +97,19 @@ check_mouse_activity(SCREEN *sp, int delay EVENTLIST_2nd(_nc_eventlist * evl))
{
int rc;
-#ifdef USE_TERM_DRIVER
- rc = TCBOf(sp)->drv->testmouse(TCBOf(sp), delay);
-#else
#if USE_SYSMOUSE
if ((sp->_mouse_type == M_SYSMOUSE)
&& (sp->_sysmouse_head < sp->_sysmouse_tail)) {
- rc = TW_MOUSE;
- } else
+ return 2;
+ }
#endif
- {
- rc = _nc_timed_wait(sp,
- TWAIT_MASK,
- delay,
- (int *) 0
- EVENTLIST_2nd(evl));
+ rc = _nc_timed_wait(sp, TWAIT_MASK, delay, (int *) 0 EVENTLIST_2nd(evl));
#if USE_SYSMOUSE
- if ((sp->_mouse_type == M_SYSMOUSE)
- && (sp->_sysmouse_head < sp->_sysmouse_tail)
- && (rc == 0)
- && (errno == EINTR)) {
- rc |= TW_MOUSE;
- }
-#endif
+ if ((sp->_mouse_type == M_SYSMOUSE)
+ && (sp->_sysmouse_head < sp->_sysmouse_tail)
+ && (rc == 0)
+ && (errno == EINTR)) {
+ rc |= 2;
}
#endif
return rc;
@@ -218,9 +173,9 @@ fifo_push(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
} else
mask = 0;
- if (mask & TW_EVENT) {
+ if (mask & 4) {
T(("fifo_push: ungetch KEY_EVENT"));
- safe_ungetch(sp, KEY_EVENT);
+ _nc_ungetch(sp, KEY_EVENT);
return KEY_EVENT;
}
#elif USE_GPM_SUPPORT || USE_EMX_MOUSE || USE_SYSMOUSE
@@ -230,7 +185,7 @@ fifo_push(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
#endif
#if USE_GPM_SUPPORT || USE_EMX_MOUSE
- if ((sp->_mouse_fd >= 0) && (mask & TW_MOUSE)) {
+ if ((sp->_mouse_fd >= 0) && (mask & 2)) {
sp->_mouse_event(sp);
ch = KEY_MOUSE;
n = 1;
@@ -249,33 +204,10 @@ fifo_push(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
n = 1;
} else
#endif
-#ifdef USE_TERM_DRIVER
- if ((sp->_mouse_type == M_TERM_DRIVER)
- && (sp->_drv_mouse_head < sp->_drv_mouse_tail)) {
- sp->_mouse_event(sp);
- ch = KEY_MOUSE;
- n = 1;
- } else
-#endif
{ /* Can block... */
-#ifdef USE_TERM_DRIVER
- int buf;
- n = CallDriver_1(sp, read, &buf);
- ch = buf;
-#else
unsigned char c2 = 0;
-# if USE_PTHREADS_EINTR
-# if USE_WEAK_SYMBOLS
- if ((pthread_self) && (pthread_kill) && (pthread_equal))
-# endif
- _nc_globals.read_thread = pthread_self();
-# endif
- n = (int) read(sp->_ifd, &c2, 1);
-#if USE_PTHREADS_EINTR
- _nc_globals.read_thread = 0;
-#endif
+ n = read(sp->_ifd, &c2, 1);
ch = c2;
-#endif
}
#ifdef HIDE_EINTR
@@ -288,11 +220,7 @@ fifo_push(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
* We don't want this difference to show. This piece of code
* tries to make it look like we always have restarting signals.
*/
- if (n <= 0 && errno == EINTR
-# if USE_PTHREADS_EINTR
- && (_nc_globals.have_sigwinch == 0)
-# endif
- )
+ if (n <= 0 && errno == EINTR)
goto again;
#endif
@@ -332,12 +260,12 @@ recur_wrefresh(WINDOW *win)
{
#ifdef USE_PTHREADS
SCREEN *sp = _nc_screen_of(win);
- if (_nc_use_pthreads && sp != CURRENT_SCREEN) {
+ if (_nc_use_pthreads && sp != SP) {
SCREEN *save_SP;
/* temporarily switch to the window's screen to check/refresh */
_nc_lock_global(curses);
- save_SP = CURRENT_SCREEN;
+ save_SP = SP;
_nc_set_screen(sp);
recur_wrefresh(win);
_nc_set_screen(save_SP);
@@ -358,12 +286,12 @@ recur_wgetnstr(WINDOW *win, char *buf)
if (sp != 0) {
#ifdef USE_PTHREADS
- if (_nc_use_pthreads && sp != CURRENT_SCREEN) {
+ if (_nc_use_pthreads && sp != SP) {
SCREEN *save_SP;
/* temporarily switch to the window's screen to get cooked input */
_nc_lock_global(curses);
- save_SP = CURRENT_SCREEN;
+ save_SP = SP;
_nc_set_screen(sp);
rc = recur_wgetnstr(win, buf);
_nc_set_screen(save_SP);
@@ -383,18 +311,17 @@ recur_wgetnstr(WINDOW *win, char *buf)
NCURSES_EXPORT(int)
_nc_wgetch(WINDOW *win,
- int *result,
+ unsigned long *result,
int use_meta
EVENTLIST_2nd(_nc_eventlist * evl))
{
SCREEN *sp;
int ch;
- int rc = 0;
#ifdef NCURSES_WGETCH_EVENTS
long event_delay = -1;
#endif
- T((T_CALLED("_nc_wgetch(%p)"), (void *) win));
+ T((T_CALLED("_nc_wgetch(%p)"), win));
*result = 0;
@@ -425,20 +352,19 @@ _nc_wgetch(WINDOW *win,
!sp->_cbreak &&
!sp->_called_wgetch) {
char buf[MAXCOLUMNS], *bufp;
+ int rc;
TR(TRACE_IEVENT, ("filling queue in cooked mode"));
+ rc = recur_wgetnstr(win, buf);
+
/* ungetch in reverse order */
#ifdef NCURSES_WGETCH_EVENTS
- rc = recur_wgetnstr(win, buf);
if (rc != KEY_EVENT)
- safe_ungetch(sp, '\n');
-#else
- (void) recur_wgetnstr(win, buf);
- safe_ungetch(sp, '\n');
#endif
+ _nc_ungetch(sp, '\n');
for (bufp = buf + strlen(buf); bufp > buf; bufp--)
- safe_ungetch(sp, bufp[-1]);
+ _nc_ungetch(sp, bufp[-1]);
#ifdef NCURSES_WGETCH_EVENTS
/* Return it first */
@@ -458,6 +384,7 @@ _nc_wgetch(WINDOW *win,
if (win->_notimeout || (win->_delay >= 0) || (sp->_cbreak > 1)) {
if (head == -1) { /* fifo is empty */
int delay;
+ int rc;
TR(TRACE_IEVENT, ("timed delay in wgetch()"));
if (sp->_cbreak > 1)
@@ -475,13 +402,13 @@ _nc_wgetch(WINDOW *win,
rc = check_mouse_activity(sp, delay EVENTLIST_2nd(evl));
#ifdef NCURSES_WGETCH_EVENTS
- if (rc & TW_EVENT) {
+ if (rc & 4) {
*result = KEY_EVENT;
returnCode(KEY_CODE_YES);
}
#endif
if (!rc) {
- goto check_sigwinch;
+ returnCode(ERR);
}
}
/* else go on to read data available */
@@ -500,6 +427,7 @@ _nc_wgetch(WINDOW *win,
* increase the wait with mouseinterval().
*/
int runcount = 0;
+ int rc;
do {
ch = kgetch(sp EVENTLIST_2nd(evl));
@@ -514,11 +442,11 @@ _nc_wgetch(WINDOW *win,
(ch == KEY_MOUSE
&& (((rc = check_mouse_activity(sp, sp->_maxclick
EVENTLIST_2nd(evl))) != 0
- && !(rc & TW_EVENT))
+ && !(rc & 4))
|| !sp->_mouse_parse(sp, runcount)));
#ifdef NCURSES_WGETCH_EVENTS
- if ((rc & TW_EVENT) && !(ch == KEY_EVENT)) {
- safe_ungetch(sp, ch);
+ if ((rc & 4) && !ch == KEY_EVENT) {
+ _nc_ungetch(sp, ch);
ch = KEY_EVENT;
}
#endif
@@ -526,12 +454,12 @@ _nc_wgetch(WINDOW *win,
#ifdef NCURSES_WGETCH_EVENTS
/* mouse event sequence ended by an event, report event */
if (ch == KEY_EVENT) {
- safe_ungetch(sp, KEY_MOUSE); /* FIXME This interrupts a gesture... */
+ _nc_ungetch(sp, KEY_MOUSE); /* FIXME This interrupts a gesture... */
} else
#endif
{
/* mouse event sequence ended by keystroke, store keystroke */
- safe_ungetch(sp, ch);
+ _nc_ungetch(sp, ch);
ch = KEY_MOUSE;
}
}
@@ -542,7 +470,6 @@ _nc_wgetch(WINDOW *win,
}
if (ch == ERR) {
- check_sigwinch:
#if USE_SIZECHANGE
if (_nc_handle_sigwinch(sp)) {
_nc_update_screensize(sp);
@@ -581,7 +508,7 @@ _nc_wgetch(WINDOW *win,
* cursor to the left.
*/
if (sp->_echo && !(win->_flags & _ISPAD)) {
- chtype backup = (chtype) ((ch == KEY_BACKSPACE) ? '\b' : ch);
+ chtype backup = (ch == KEY_BACKSPACE) ? '\b' : ch;
if (backup < KEY_MIN)
wechochar(win, backup);
}
@@ -612,7 +539,7 @@ NCURSES_EXPORT(int)
wgetch_events(WINDOW *win, _nc_eventlist * evl)
{
int code;
- int value;
+ unsigned long value;
T((T_CALLED("wgetch_events(%p,%p)"), win, evl));
code = _nc_wgetch(win,
@@ -629,9 +556,9 @@ NCURSES_EXPORT(int)
wgetch(WINDOW *win)
{
int code;
- int value;
+ unsigned long value;
- T((T_CALLED("wgetch(%p)"), (void *) win));
+ T((T_CALLED("wgetch(%p)"), win));
code = _nc_wgetch(win,
&value,
_nc_use_meta(win)
@@ -705,7 +632,7 @@ kgetch(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
break;
}
TR(TRACE_IEVENT, ("ptr=%p, ch=%d, value=%d",
- (void *) ptr, ptr->ch, ptr->value));
+ ptr, ptr->ch, ptr->value));
if (ptr->value != 0) { /* sequence terminated */
TR(TRACE_IEVENT, ("end of sequence"));
@@ -724,7 +651,7 @@ kgetch(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
TR(TRACE_IEVENT, ("waiting for rest of sequence"));
rc = check_mouse_activity(sp, timeleft EVENTLIST_2nd(evl));
#ifdef NCURSES_WGETCH_EVENTS
- if (rc & TW_EVENT) {
+ if (rc & 4) {
TR(TRACE_IEVENT, ("interrupted by a user event"));
/* FIXME Should have preserved remainder timeleft for reuse... */
peek = head; /* Restart interpreting later */
diff --git a/ncurses/base/lib_getstr.c b/ncurses/base/lib_getstr.c
index 21d8baa05c8b..b17df03d2a41 100644
--- a/ncurses/base/lib_getstr.c
+++ b/ncurses/base/lib_getstr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,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 *
@@ -39,8 +39,9 @@
*/
#include <curses.priv.h>
+#include <term.h>
-MODULE_ID("$Id: lib_getstr.c,v 1.29 2009/10/24 21:59:02 tom Exp $")
+MODULE_ID("$Id: lib_getstr.c,v 1.27 2008/08/16 19:20:04 tom Exp $")
/*
* This wipes out the last character, no matter whether it was a tab, control
@@ -83,24 +84,24 @@ wgetnstr_events(WINDOW *win,
int ch;
int y, x;
- T((T_CALLED("wgetnstr(%p,%p,%d)"), (void *) win, (void *) str, maxlen));
+ T((T_CALLED("wgetnstr(%p,%p, %d)"), win, str, maxlen));
if (!win)
returnCode(ERR);
- NCURSES_SP_NAME(_nc_get_tty_mode) (NCURSES_SP_ARGx &buf);
+ _nc_get_tty_mode(&buf);
oldnl = sp->_nl;
oldecho = sp->_echo;
oldraw = sp->_raw;
oldcbreak = sp->_cbreak;
- NCURSES_SP_NAME(nl) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(noecho) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(noraw) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(cbreak) (NCURSES_SP_ARG);
+ nl();
+ noecho();
+ noraw();
+ cbreak();
- erasec = NCURSES_SP_NAME(erasechar) (NCURSES_SP_ARG);
- killc = NCURSES_SP_NAME(killchar) (NCURSES_SP_ARG);
+ erasec = erasechar();
+ killc = killchar();
oldstr = str;
getyx(win, y, x);
@@ -143,7 +144,7 @@ wgetnstr_events(WINDOW *win,
}
} else if (ch >= KEY_MIN
|| (maxlen >= 0 && str - oldstr >= maxlen)) {
- NCURSES_SP_NAME(beep) (NCURSES_SP_ARG);
+ beep();
} else {
*str++ = (char) ch;
if (oldecho == TRUE) {
@@ -192,7 +193,7 @@ wgetnstr_events(WINDOW *win,
sp->_raw = oldraw;
sp->_cbreak = oldcbreak;
- NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
+ _nc_set_tty_mode(&buf);
*str = '\0';
if (ch == ERR)
diff --git a/ncurses/base/lib_hline.c b/ncurses/base/lib_hline.c
index 1f0380830ddc..2ef2cc585e10 100644
--- a/ncurses/base/lib_hline.c
+++ b/ncurses/base/lib_hline.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,16 +40,16 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_hline.c,v 1.13 2010/12/19 01:48:39 tom Exp $")
+MODULE_ID("$Id: lib_hline.c,v 1.11 2006/03/11 21:52:27 tom Exp $")
NCURSES_EXPORT(int)
whline(WINDOW *win, chtype ch, int n)
{
int code = ERR;
- int start;
- int end;
+ NCURSES_SIZE_T start;
+ NCURSES_SIZE_T end;
- T((T_CALLED("whline(%p,%s,%d)"), (void *) win, _tracechtype(ch), n));
+ T((T_CALLED("whline(%p,%s,%d)"), win, _tracechtype(ch), n));
if (win) {
struct ldat *line = &(win->_line[win->_cury]);
diff --git a/ncurses/base/lib_immedok.c b/ncurses/base/lib_immedok.c
index d51b60a30857..87988b66f1a3 100644
--- a/ncurses/base/lib_immedok.c
+++ b/ncurses/base/lib_immedok.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,12 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_immedok.c,v 1.5 2009/10/24 22:32:11 tom Exp $")
+MODULE_ID("$Id: lib_immedok.c,v 1.4 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(void)
immedok(WINDOW *win, bool flag)
{
- T((T_CALLED("immedok(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("immedok(%p,%d)"), win, flag));
if (win)
win->_immed = flag;
diff --git a/ncurses/base/lib_inchstr.c b/ncurses/base/lib_inchstr.c
index aebb6d625d5c..6ff01687826e 100644
--- a/ncurses/base/lib_inchstr.c
+++ b/ncurses/base/lib_inchstr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000,2001 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 *
@@ -29,7 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
****************************************************************************/
/*
@@ -41,14 +40,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_inchstr.c,v 1.12 2010/12/20 01:37:41 tom Exp $")
+MODULE_ID("$Id: lib_inchstr.c,v 1.10 2001/06/02 23:37:58 skimo Exp $")
NCURSES_EXPORT(int)
-winchnstr(WINDOW *win, chtype *str, int n)
+winchnstr(WINDOW *win, chtype * str, int n)
{
int i = 0;
- T((T_CALLED("winchnstr(%p,%p,%d)"), (void *) win, (void *) str, n));
+ T((T_CALLED("winchnstr(%p,%p,%d)"), win, str, n));
if (!str)
returnCode(0);
@@ -56,7 +55,7 @@ winchnstr(WINDOW *win, chtype *str, int n)
if (win) {
for (; (n < 0 || (i < n)) && (win->_curx + i <= win->_maxx); i++)
str[i] =
- (chtype) CharOf(win->_line[win->_cury].text[win->_curx + i]) |
+ CharOf(win->_line[win->_cury].text[win->_curx + i]) |
AttrOf(win->_line[win->_cury].text[win->_curx + i]);
}
str[i] = (chtype) 0;
diff --git a/ncurses/base/lib_initscr.c b/ncurses/base/lib_initscr.c
index 334682fab71d..b2fef0c1d085 100644
--- a/ncurses/base/lib_initscr.c
+++ b/ncurses/base/lib_initscr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -45,7 +45,7 @@
#include <sys/termio.h> /* needed for ISC */
#endif
-MODULE_ID("$Id: lib_initscr.c,v 1.39 2009/02/14 20:55:49 tom Exp $")
+MODULE_ID("$Id: lib_initscr.c,v 1.38 2008/08/16 21:20:48 Werner.Fink Exp $")
NCURSES_EXPORT(WINDOW *)
initscr(void)
@@ -90,11 +90,7 @@ initscr(void)
}
/* def_shell_mode - done in newterm/_nc_setupscreen */
-#if NCURSES_SP_FUNCS
- NCURSES_SP_NAME(def_prog_mode) (CURRENT_SCREEN);
-#else
def_prog_mode();
-#endif
}
result = stdscr;
_nc_unlock_global(curses);
diff --git a/ncurses/base/lib_insch.c b/ncurses/base/lib_insch.c
index e21ec02bc84f..9166ea5240e7 100644
--- a/ncurses/base/lib_insch.c
+++ b/ncurses/base/lib_insch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,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 *
@@ -43,31 +43,24 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_insch.c,v 1.32 2009/10/24 22:04:35 tom Exp $")
+MODULE_ID("$Id: lib_insch.c,v 1.25 2008/02/03 00:14:37 tom Exp $")
/*
* Insert the given character, updating the current location to simplify
* inserting a string.
*/
NCURSES_EXPORT(int)
-_nc_insert_ch(SCREEN *sp, WINDOW *win, chtype ch)
+_nc_insert_ch(WINDOW *win, chtype ch)
{
int code = OK;
NCURSES_CH_T wch;
int count;
NCURSES_CONST char *s;
- int tabsize = (
-#if USE_REENTRANT
- sp->_TABSIZE
-#else
- TABSIZE
-#endif
- );
switch (ch) {
case '\t':
- for (count = (tabsize - (win->_curx % tabsize)); count > 0; count--) {
- if ((code = _nc_insert_ch(sp, win, ' ')) != OK)
+ for (count = (TABSIZE - (win->_curx % TABSIZE)); count > 0; count--) {
+ if ((code = _nc_insert_ch(win, ' ')) != OK)
break;
}
break;
@@ -83,9 +76,7 @@ _nc_insert_ch(SCREEN *sp, WINDOW *win, chtype ch)
WINDOW_EXT(win, addch_used) == 0 &&
#endif
is8bits(ChCharOf(ch)) &&
- (isprint(ChCharOf(ch)) ||
- (ChAttrOf(ch) & A_ALTCHARSET) ||
- (sp != 0 && sp->_legacy_coding && !iscntrl(ChCharOf(ch))))) {
+ isprint(ChCharOf(ch))) {
if (win->_curx <= win->_maxx) {
struct ldat *line = &(win->_line[win->_cury]);
NCURSES_CH_T *end = &(line->text[win->_curx]);
@@ -102,9 +93,9 @@ _nc_insert_ch(SCREEN *sp, WINDOW *win, chtype ch)
win->_curx++;
}
} else if (is8bits(ChCharOf(ch)) && iscntrl(ChCharOf(ch))) {
- s = NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx ChCharOf(ch));
+ s = unctrl(ChCharOf(ch));
while (*s != '\0') {
- code = _nc_insert_ch(sp, win, ChAttrOf(ch) | UChar(*s));
+ code = _nc_insert_ch(win, ChAttrOf(ch) | UChar(*s));
if (code != OK)
break;
++s;
@@ -119,21 +110,16 @@ _nc_insert_ch(SCREEN *sp, WINDOW *win, chtype ch)
wch = _nc_render(win, wch);
count = _nc_build_wch(win, &wch);
if (count > 0) {
- code = _nc_insert_wch(win, &wch);
+ code = wins_wch(win, &wch);
} else if (count == -1) {
/* handle EILSEQ */
if (is8bits(ch)) {
- s = NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx ChCharOf(ch));
- if (strlen(s) > 1) {
- while (*s != '\0') {
- code = _nc_insert_ch(sp, win,
- ChAttrOf(ch) | UChar(*s));
- if (code != OK)
- break;
- ++s;
- }
- } else {
- code = ERR;
+ s = unctrl(ChCharOf(ch));
+ while (*s != '\0') {
+ code = _nc_insert_ch(win, ChAttrOf(ch) | UChar(*s));
+ if (code != OK)
+ break;
+ ++s;
}
} else {
code = ERR;
@@ -153,13 +139,13 @@ winsch(WINDOW *win, chtype c)
NCURSES_SIZE_T ox;
int code = ERR;
- T((T_CALLED("winsch(%p, %s)"), (void *) win, _tracechtype(c)));
+ T((T_CALLED("winsch(%p, %s)"), win, _tracechtype(c)));
if (win != 0) {
oy = win->_cury;
ox = win->_curx;
- code = _nc_insert_ch(_nc_screen_of(win), win, c);
+ code = _nc_insert_ch(win, c);
win->_curx = ox;
win->_cury = oy;
diff --git a/ncurses/base/lib_insdel.c b/ncurses/base/lib_insdel.c
index 8f51bbed4844..342c6541f95f 100644
--- a/ncurses/base/lib_insdel.c
+++ b/ncurses/base/lib_insdel.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2003 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 *
@@ -42,14 +42,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_insdel.c,v 1.13 2009/10/24 22:34:41 tom Exp $")
+MODULE_ID("$Id: lib_insdel.c,v 1.12 2003/07/26 22:40:06 tom Exp $")
NCURSES_EXPORT(int)
winsdelln(WINDOW *win, int n)
{
int code = ERR;
- T((T_CALLED("winsdelln(%p,%d)"), (void *) win, n));
+ T((T_CALLED("winsdelln(%p,%d)"), win, n));
if (win) {
if (n != 0) {
diff --git a/ncurses/base/lib_insnstr.c b/ncurses/base/lib_insnstr.c
index ce03e64be002..b6ddfde3c52b 100644
--- a/ncurses/base/lib_insnstr.c
+++ b/ncurses/base/lib_insnstr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2004,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2004 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,7 +40,7 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_insnstr.c,v 1.3 2009/10/24 22:04:35 tom Exp $")
+MODULE_ID("$Id: lib_insnstr.c,v 1.1 2004/02/28 23:44:56 tom Exp $")
NCURSES_EXPORT(int)
winsnstr(WINDOW *win, const char *s, int n)
@@ -51,15 +51,13 @@ winsnstr(WINDOW *win, const char *s, int n)
const unsigned char *str = (const unsigned char *) s;
const unsigned char *cp;
- T((T_CALLED("winsnstr(%p,%s,%d)"), (void *) win, _nc_visbufn(s, n), n));
+ T((T_CALLED("winsnstr(%p,%s,%d)"), win, _nc_visbufn(s, n), n));
if (win != 0 && str != 0) {
- SCREEN *sp = _nc_screen_of(win);
-
oy = win->_cury;
ox = win->_curx;
for (cp = str; *cp && (n <= 0 || (cp - str) < n); cp++) {
- _nc_insert_ch(sp, win, (chtype) UChar(*cp));
+ _nc_insert_ch(win, (chtype) UChar(*cp));
}
win->_curx = ox;
win->_cury = oy;
diff --git a/ncurses/base/lib_instr.c b/ncurses/base/lib_instr.c
index e6d1a739c94f..3fb29490ad06 100644
--- a/ncurses/base/lib_instr.c
+++ b/ncurses/base/lib_instr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -41,14 +41,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_instr.c,v 1.17 2009/10/24 22:55:45 tom Exp $")
+MODULE_ID("$Id: lib_instr.c,v 1.16 2007/07/21 20:18:10 tom Exp $")
NCURSES_EXPORT(int)
winnstr(WINDOW *win, char *str, int n)
{
int i = 0, row, col;
- T((T_CALLED("winnstr(%p,%p,%d)"), (void *) win, str, n));
+ T((T_CALLED("winnstr(%p,%p,%d)"), win, str, n));
if (!str)
returnCode(0);
@@ -79,18 +79,18 @@ winnstr(WINDOW *win, char *str, int n)
init_mb(state);
n3 = wcstombs(0, wch, 0);
- if (!isEILSEQ(n3) && (n3 != 0)) {
- if (((int) n3 + i) > n) {
- done = TRUE;
- } else if ((tmp = typeCalloc(char, n3 + 10)) == 0) {
- done = TRUE;
- } else {
- init_mb(state);
- wcstombs(tmp, wch, n3);
- for (i3 = 0; i3 < n3; ++i3)
- str[i++] = tmp[i3];
- free(tmp);
- }
+ if (isEILSEQ(n3) || (n3 == 0)) {
+ ;
+ } else if ((int) (n3 + i) > n) {
+ done = TRUE;
+ } else if ((tmp = typeCalloc(char, n3 + 10)) == 0) {
+ done = TRUE;
+ } else {
+ init_mb(state);
+ wcstombs(tmp, wch, n3);
+ for (i3 = 0; i3 < n3; ++i3)
+ str[i++] = tmp[i3];
+ free(tmp);
}
}
free(wch);
diff --git a/ncurses/base/lib_isendwin.c b/ncurses/base/lib_isendwin.c
index 923e35bf122f..b337d97a94c3 100644
--- a/ncurses/base/lib_isendwin.c
+++ b/ncurses/base/lib_isendwin.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 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 *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,20 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_isendwin.c,v 1.7 2009/02/15 00:36:24 tom Exp $")
+MODULE_ID("$Id: lib_isendwin.c,v 1.6 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(isendwin) (NCURSES_SP_DCL0)
-{
- if (SP_PARM == NULL)
- return FALSE;
- return SP_PARM->_endwin;
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(bool)
isendwin(void)
{
- return NCURSES_SP_NAME(isendwin) (CURRENT_SCREEN);
+ if (SP == NULL)
+ return FALSE;
+ return SP->_endwin;
}
-#endif
diff --git a/ncurses/base/lib_leaveok.c b/ncurses/base/lib_leaveok.c
index e6995f85cb4d..17d095d0f8c8 100644
--- a/ncurses/base/lib_leaveok.c
+++ b/ncurses/base/lib_leaveok.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,12 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_leaveok.c,v 1.6 2009/10/24 22:34:23 tom Exp $")
+MODULE_ID("$Id: lib_leaveok.c,v 1.5 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
leaveok(WINDOW *win, bool flag)
{
- T((T_CALLED("leaveok(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("leaveok(%p,%d)"), win, flag));
if (win) {
win->_leaveok = flag;
diff --git a/ncurses/base/lib_mouse.c b/ncurses/base/lib_mouse.c
index dac039551165..95f29aa69111 100644
--- a/ncurses/base/lib_mouse.c
+++ b/ncurses/base/lib_mouse.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2008 *
****************************************************************************/
/*
@@ -80,12 +79,9 @@
#include <curses.priv.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_mouse.c,v 1.121 2011/01/22 19:47:47 tom Exp $")
+MODULE_ID("$Id: lib_mouse.c,v 1.102 2008/10/18 21:48:55 tom Exp $")
+#include <term.h>
#include <tic.h>
#if USE_GPM_SUPPORT
@@ -122,12 +118,12 @@ make an error
#define MY_TRACE TRACE_ICALLS|TRACE_IEVENT
-#define MASK_RELEASE(x) (mmask_t) NCURSES_MOUSE_MASK(x, 001)
-#define MASK_PRESS(x) (mmask_t) NCURSES_MOUSE_MASK(x, 002)
-#define MASK_CLICK(x) (mmask_t) NCURSES_MOUSE_MASK(x, 004)
-#define MASK_DOUBLE_CLICK(x) (mmask_t) NCURSES_MOUSE_MASK(x, 010)
-#define MASK_TRIPLE_CLICK(x) (mmask_t) NCURSES_MOUSE_MASK(x, 020)
-#define MASK_RESERVED_EVENT(x) (mmask_t) NCURSES_MOUSE_MASK(x, 040)
+#define MASK_RELEASE(x) NCURSES_MOUSE_MASK(x, 001)
+#define MASK_PRESS(x) NCURSES_MOUSE_MASK(x, 002)
+#define MASK_CLICK(x) NCURSES_MOUSE_MASK(x, 004)
+#define MASK_DOUBLE_CLICK(x) NCURSES_MOUSE_MASK(x, 010)
+#define MASK_TRIPLE_CLICK(x) NCURSES_MOUSE_MASK(x, 020)
+#define MASK_RESERVED_EVENT(x) NCURSES_MOUSE_MASK(x, 040)
#if NCURSES_MOUSE_VERSION == 1
#define BUTTON_CLICKED (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED | BUTTON4_CLICKED)
@@ -154,7 +150,7 @@ make an error
#define LIBGPM_SONAME "libgpm.so"
#endif
-#define GET_DLSYM(name) (my_##name = (TYPE_##name) dlsym(sp->_dlopen_gpm, #name))
+#define GET_DLSYM(name) (my_##name = (TYPE_##name) dlsym(SP->_dlopen_gpm, #name))
#endif /* USE_GPM_SUPPORT */
@@ -168,13 +164,13 @@ static void _nc_mouse_wrap(SCREEN *);
#define LastEV(sp) ((sp)->_mouse_events + EV_MAX - 1)
#undef NEXT
-#define NEXT(ep) ((ep >= LastEV(SP_PARM)) \
- ? FirstEV(SP_PARM) \
+#define NEXT(ep) ((ep >= LastEV(sp)) \
+ ? FirstEV(sp) \
: ep + 1)
#undef PREV
-#define PREV(ep) ((ep <= FirstEV(SP_PARM)) \
- ? LastEV(SP_PARM) \
+#define PREV(ep) ((ep <= FirstEV(sp)) \
+ ? LastEV(sp) \
: ep - 1)
#define IndexEV(sp, ep) (ep - FirstEV(sp))
@@ -189,7 +185,7 @@ _trace_slot(SCREEN *sp, const char *tag)
{
MEVENT *ep;
- _tracef("%s", tag);
+ _tracef(tag);
for (ep = FirstEV(sp); ep <= LastEV(sp); ep++)
_tracef("mouse event queue slot %ld = %s",
@@ -344,13 +340,10 @@ sysmouse_server(SCREEN *sp)
static void
handle_sysmouse(int sig GCC_UNUSED)
{
- sysmouse_server(CURRENT_SCREEN);
+ sysmouse_server(SP);
}
#endif /* USE_SYSMOUSE */
-#ifndef USE_TERM_DRIVER
-#define xterm_kmous "\033[M"
-
static void
init_xterm_mouse(SCREEN *sp)
{
@@ -359,7 +352,6 @@ init_xterm_mouse(SCREEN *sp)
if (!VALID_STRING(sp->_mouse_xtermcap))
sp->_mouse_xtermcap = "\033[?1000%?%p1%{1}%=%th%el%;";
}
-#endif
static void
enable_xterm_mouse(SCREEN *sp, int enable)
@@ -367,9 +359,7 @@ enable_xterm_mouse(SCREEN *sp, int enable)
#if USE_EMX_MOUSE
sp->_emxmouse_activated = enable;
#else
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "xterm-mouse",
- TPARM_1(sp->_mouse_xtermcap, enable));
+ putp(TPARM_1(sp->_mouse_xtermcap, enable));
#endif
sp->_mouse_active = enable;
}
@@ -408,7 +398,7 @@ allow_gpm_mouse(void)
static void
unload_gpm_library(SCREEN *sp)
{
- if (sp->_dlopen_gpm != 0) {
+ if (SP->_dlopen_gpm != 0) {
T(("unload GPM library"));
sp->_mouse_gpm_loaded = FALSE;
sp->_mouse_fd = -1;
@@ -450,8 +440,6 @@ enable_gpm_mouse(SCREEN *sp, bool enable)
}
#endif
if (sp->_mouse_gpm_loaded) {
- int code;
-
/* GPM: initialize connection to gpm server */
sp->_mouse_gpm_connect.eventMask = GPM_DOWN | GPM_UP;
sp->_mouse_gpm_connect.defaultMask =
@@ -466,16 +454,7 @@ enable_gpm_mouse(SCREEN *sp, bool enable)
* The former is recognized by wscons (SunOS), and the latter by
* xterm. Those will not show up in ncurses' traces.
*/
- code = my_Gpm_Open(&sp->_mouse_gpm_connect, 0);
- result = (code >= 0);
-
- /*
- * GPM can return a -2 if it is trying to do something with xterm.
- * Ignore that, since it conflicts with our use of stdin.
- */
- if (code == -2) {
- my_Gpm_Close();
- }
+ result = (my_Gpm_Open(&sp->_mouse_gpm_connect, 0) >= 0);
} else {
result = FALSE;
}
@@ -499,6 +478,8 @@ enable_gpm_mouse(SCREEN *sp, bool enable)
}
#endif /* USE_GPM_SUPPORT */
+#define xterm_kmous "\033[M"
+
static void
initialize_mousetype(SCREEN *sp)
{
@@ -533,7 +514,7 @@ initialize_mousetype(SCREEN *sp)
/* OS/2 VIO */
#if USE_EMX_MOUSE
if (!sp->_emxmouse_thread
- && strstr(TerminalOf(sp)->type.term_names, "xterm") == 0
+ && strstr(cur_term->type.term_names, "xterm") == 0
&& key_mouse) {
int handles[2];
@@ -640,21 +621,16 @@ initialize_mousetype(SCREEN *sp)
}
#endif /* USE_SYSMOUSE */
-#ifdef USE_TERM_DRIVER
- CallDriver(sp, initmouse);
-#else
/* we know how to recognize mouse events under "xterm" */
if (key_mouse != 0) {
if (!strcmp(key_mouse, xterm_kmous)
- || strstr(TerminalOf(sp)->type.term_names, "xterm") != 0) {
+ || strstr(cur_term->type.term_names, "xterm") != 0) {
init_xterm_mouse(sp);
}
- } else if (strstr(TerminalOf(sp)->type.term_names, "xterm") != 0) {
+ } else if (strstr(cur_term->type.term_names, "xterm") != 0) {
if (_nc_add_to_try(&(sp->_keytry), xterm_kmous, KEY_MOUSE) == OK)
init_xterm_mouse(sp);
}
-#endif
-
returnVoid;
}
@@ -689,7 +665,7 @@ _nc_mouse_init(SCREEN *sp)
* fifo_push() in lib_getch.c
*/
static bool
-_nc_mouse_event(SCREEN *sp)
+_nc_mouse_event(SCREEN *sp GCC_UNUSED)
{
MEVENT *eventp = sp->_mouse_eventp;
bool result = FALSE;
@@ -718,16 +694,11 @@ _nc_mouse_event(SCREEN *sp)
#if USE_GPM_SUPPORT
case M_GPM:
- if (sp->_mouse_fd >= 0) {
+ {
/* query server for event, return TRUE if we find one */
Gpm_Event ev;
- switch (my_Gpm_GetEvent(&ev)) {
- case 0:
- /* Connection closed, drop the mouse. */
- sp->_mouse_fd = -1;
- break;
- case 1:
+ if (my_Gpm_GetEvent(&ev) == 1) {
/* there's only one mouse... */
eventp->id = NORMAL_EVENT;
@@ -758,9 +729,8 @@ _nc_mouse_event(SCREEN *sp)
eventp->z = 0;
/* bump the next-free pointer into the circular list */
- sp->_mouse_eventp = NEXT(eventp);
+ sp->_mouse_eventp = eventp = NEXT(eventp);
result = TRUE;
- break;
}
}
break;
@@ -789,28 +759,6 @@ _nc_mouse_event(SCREEN *sp)
break;
#endif /* USE_SYSMOUSE */
-#ifdef USE_TERM_DRIVER
- case M_TERM_DRIVER:
- while (sp->_drv_mouse_head < sp->_drv_mouse_tail) {
- *eventp = sp->_drv_mouse_fifo[sp->_drv_mouse_head];
-
- /*
- * Point the fifo-head to the next possible location. If there
- * are none, reset the indices.
- */
- sp->_drv_mouse_head += 1;
- if (sp->_drv_mouse_head == sp->_drv_mouse_tail) {
- sp->_drv_mouse_tail = 0;
- sp->_drv_mouse_head = 0;
- }
-
- /* bump the next-free pointer into the circular list */
- sp->_mouse_eventp = eventp = NEXT(eventp);
- result = TRUE;
- }
- break;
-#endif
-
case M_NONE:
break;
}
@@ -866,26 +814,17 @@ _nc_mouse_inline(SCREEN *sp)
* Wheel mice may return buttons 4 and 5 when the wheel is turned.
* We encode those as button presses.
*/
-# if USE_PTHREADS_EINTR
-# if USE_WEAK_SYMBOLS
- if ((pthread_self) && (pthread_kill) && (pthread_equal))
-# endif
- _nc_globals.read_thread = pthread_self();
-# endif
for (grabbed = 0; grabbed < 3; grabbed += (size_t) res) {
/* For VIO mouse we add extra bit 64 to disambiguate button-up. */
#if USE_EMX_MOUSE
- res = (int) read(M_FD(sp) >= 0 ? M_FD(sp) : sp->_ifd, &kbuf, 3);
+ res = read(M_FD(sp) >= 0 ? M_FD(sp) : sp->_ifd, &kbuf, 3);
#else
- res = (int) read(sp->_ifd, kbuf + grabbed, 3 - grabbed);
+ res = read(sp->_ifd, kbuf + grabbed, 3 - grabbed);
#endif
if (res == -1)
break;
}
-#if USE_PTHREADS_EINTR
- _nc_globals.read_thread = 0;
-#endif
kbuf[3] = '\0';
TR(TRACE_IEVENT,
@@ -998,7 +937,7 @@ mouse_activate(SCREEN *sp, bool on)
switch (sp->_mouse_type) {
case M_XTERM:
#if NCURSES_EXT_FUNCS
- NCURSES_SP_NAME(keyok) (NCURSES_SP_ARGx KEY_MOUSE, on);
+ keyok(KEY_MOUSE, on);
#endif
TPUTS_TRACE("xterm mouse initialization");
enable_xterm_mouse(sp, 1);
@@ -1017,11 +956,6 @@ mouse_activate(SCREEN *sp, bool on)
sp->_mouse_active = TRUE;
break;
#endif
-#ifdef USE_TERM_DRIVER
- case M_TERM_DRIVER:
- sp->_mouse_active = TRUE;
- break;
-#endif
case M_NONE:
return;
}
@@ -1051,16 +985,11 @@ mouse_activate(SCREEN *sp, bool on)
sp->_mouse_active = FALSE;
break;
#endif
-#ifdef USE_TERM_DRIVER
- case M_TERM_DRIVER:
- sp->_mouse_active = FALSE;
- break;
-#endif
case M_NONE:
return;
}
}
- NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ _nc_flush();
}
/**************************************************************************
@@ -1293,11 +1222,6 @@ _nc_mouse_wrap(SCREEN *sp)
mouse_activate(sp, FALSE);
break;
#endif
-#ifdef USE_TERM_DRIVER
- case M_TERM_DRIVER:
- mouse_activate(sp, FALSE);
- break;
-#endif
case M_NONE:
break;
}
@@ -1329,13 +1253,6 @@ _nc_mouse_resume(SCREEN *sp)
mouse_activate(sp, TRUE);
break;
#endif
-
-#ifdef USE_TERM_DRIVER
- case M_TERM_DRIVER:
- mouse_activate(sp, TRUE);
- break;
-#endif
-
case M_NONE:
break;
}
@@ -1347,92 +1264,80 @@ _nc_mouse_resume(SCREEN *sp)
*
**************************************************************************/
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(getmouse) (NCURSES_SP_DCLx MEVENT * aevent)
+static int
+_nc_getmouse(SCREEN *sp, MEVENT * aevent)
{
- int result = ERR;
+ T((T_CALLED("getmouse(%p)"), aevent));
- T((T_CALLED("getmouse(%p,%p)"), (void *) SP_PARM, (void *) aevent));
-
- if ((aevent != 0) && (SP_PARM != 0) && (SP_PARM->_mouse_type != M_NONE)) {
- MEVENT *eventp = SP_PARM->_mouse_eventp;
+ if ((aevent != 0) && (sp != 0) && (sp->_mouse_type != M_NONE)) {
+ MEVENT *eventp = sp->_mouse_eventp;
/* compute the current-event pointer */
MEVENT *prev = PREV(eventp);
- if (prev->id != INVALID_EVENT) {
- /* copy the event we find there */
- *aevent = *prev;
+ /* copy the event we find there */
+ *aevent = *prev;
- TR(TRACE_IEVENT, ("getmouse: returning event %s from slot %ld",
- _nc_tracemouse(SP_PARM, prev),
- (long) IndexEV(SP_PARM, prev)));
+ TR(TRACE_IEVENT, ("getmouse: returning event %s from slot %ld",
+ _nc_tracemouse(sp, prev),
+ (long) IndexEV(sp, prev)));
- prev->id = INVALID_EVENT; /* so the queue slot becomes free */
- SP_PARM->_mouse_eventp = PREV(prev);
- result = OK;
- }
+ prev->id = INVALID_EVENT; /* so the queue slot becomes free */
+ returnCode(OK);
}
- returnCode(result);
+ returnCode(ERR);
}
-#if NCURSES_SP_FUNCS
/* grab a copy of the current mouse event */
NCURSES_EXPORT(int)
getmouse(MEVENT * aevent)
{
- return NCURSES_SP_NAME(getmouse) (CURRENT_SCREEN, aevent);
+ return _nc_getmouse(SP, aevent);
}
-#endif
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(ungetmouse) (NCURSES_SP_DCLx MEVENT * aevent)
+static int
+_nc_ungetmouse(SCREEN *sp, MEVENT * aevent)
{
int result = ERR;
- T((T_CALLED("ungetmouse(%p,%p)"), (void *) SP_PARM, (void *) aevent));
+ T((T_CALLED("ungetmouse(%p)"), aevent));
- if (aevent != 0 && SP_PARM != 0) {
- MEVENT *eventp = SP_PARM->_mouse_eventp;
+ if (aevent != 0 && sp != 0) {
+ MEVENT *eventp = sp->_mouse_eventp;
/* stick the given event in the next-free slot */
*eventp = *aevent;
/* bump the next-free pointer into the circular list */
- SP_PARM->_mouse_eventp = NEXT(eventp);
+ sp->_mouse_eventp = NEXT(eventp);
/* push back the notification event on the keyboard queue */
- result = NCURSES_SP_NAME(ungetch) (NCURSES_SP_ARGx KEY_MOUSE);
+ result = _nc_ungetch(sp, KEY_MOUSE);
}
returnCode(result);
}
-#if NCURSES_SP_FUNCS
/* enqueue a synthesized mouse event to be seen by the next wgetch() */
NCURSES_EXPORT(int)
ungetmouse(MEVENT * aevent)
{
- return NCURSES_SP_NAME(ungetmouse) (CURRENT_SCREEN, aevent);
+ return _nc_ungetmouse(SP, aevent);
}
-#endif
NCURSES_EXPORT(mmask_t)
-NCURSES_SP_NAME(mousemask) (NCURSES_SP_DCLx mmask_t newmask, mmask_t * oldmask)
+mousemask(mmask_t newmask, mmask_t * oldmask)
/* set the mouse event mask */
{
mmask_t result = 0;
- T((T_CALLED("mousemask(%p,%#lx,%p)"),
- (void *) SP_PARM,
- (unsigned long) newmask,
- (void *) oldmask));
+ T((T_CALLED("mousemask(%#lx,%p)"), (unsigned long) newmask, oldmask));
- if (SP_PARM != 0) {
+ if (SP != 0) {
if (oldmask)
- *oldmask = SP_PARM->_mouse_mask;
+ *oldmask = SP->_mouse_mask;
- if (newmask || SP_PARM->_mouse_initialized) {
- _nc_mouse_init(SP_PARM);
- if (SP_PARM->_mouse_type != M_NONE) {
+ if (newmask || SP->_mouse_initialized) {
+ _nc_mouse_init(SP);
+ if (SP->_mouse_type != M_NONE) {
result = newmask &
(REPORT_MOUSE_POSITION
| BUTTON_ALT
@@ -1444,22 +1349,14 @@ NCURSES_SP_NAME(mousemask) (NCURSES_SP_DCLx mmask_t newmask, mmask_t * oldmask)
| BUTTON_DOUBLE_CLICKED
| BUTTON_TRIPLE_CLICKED);
- mouse_activate(SP_PARM, (bool) (result != 0));
+ mouse_activate(SP, (bool) (result != 0));
- SP_PARM->_mouse_mask = result;
+ SP->_mouse_mask = result;
}
}
}
- returnMMask(result);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(mmask_t)
-mousemask(mmask_t newmask, mmask_t * oldmask)
-{
- return NCURSES_SP_NAME(mousemask) (CURRENT_SCREEN, newmask, oldmask);
+ returnBits(result);
}
-#endif
NCURSES_EXPORT(bool)
wenclose(const WINDOW *win, int y, int x)
@@ -1467,7 +1364,7 @@ wenclose(const WINDOW *win, int y, int x)
{
bool result = FALSE;
- T((T_CALLED("wenclose(%p,%d,%d)"), (const void *) win, y, x));
+ T((T_CALLED("wenclose(%p,%d,%d)"), win, y, x));
if (win != 0) {
y -= win->_yoffset;
@@ -1480,17 +1377,17 @@ wenclose(const WINDOW *win, int y, int x)
}
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(mouseinterval) (NCURSES_SP_DCLx int maxclick)
+mouseinterval(int maxclick)
/* set the maximum mouse interval within which to recognize a click */
{
int oldval;
- T((T_CALLED("mouseinterval(%p,%d)"), (void *) SP_PARM, maxclick));
+ T((T_CALLED("mouseinterval(%d)"), maxclick));
- if (SP_PARM != 0) {
- oldval = SP_PARM->_maxclick;
+ if (SP != 0) {
+ oldval = SP->_maxclick;
if (maxclick >= 0)
- SP_PARM->_maxclick = maxclick;
+ SP->_maxclick = maxclick;
} else {
oldval = DEFAULT_MAXCLICK;
}
@@ -1498,46 +1395,20 @@ NCURSES_SP_NAME(mouseinterval) (NCURSES_SP_DCLx int maxclick)
returnCode(oldval);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-mouseinterval(int maxclick)
-{
- return NCURSES_SP_NAME(mouseinterval) (CURRENT_SCREEN, maxclick);
-}
-#endif
-
/* This may be used by other routines to ask for the existence of mouse
support */
-NCURSES_EXPORT(bool)
-_nc_has_mouse(SCREEN *sp)
-{
- return (((0 == sp) || (sp->_mouse_type == M_NONE)) ? FALSE : TRUE);
-}
-
-NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(has_mouse) (NCURSES_SP_DCL0)
-{
- return _nc_has_mouse(SP_PARM);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(bool)
-has_mouse(void)
+NCURSES_EXPORT(int)
+_nc_has_mouse(void)
{
- return _nc_has_mouse(CURRENT_SCREEN);
+ return (SP->_mouse_type == M_NONE ? 0 : 1);
}
-#endif
NCURSES_EXPORT(bool)
wmouse_trafo(const WINDOW *win, int *pY, int *pX, bool to_screen)
{
bool result = FALSE;
- T((T_CALLED("wmouse_trafo(%p,%p,%p,%d)"),
- (const void *) win,
- (void *) pY,
- (void *) pX,
- to_screen));
+ T((T_CALLED("wmouse_trafo(%p,%p,%p,%d)"), win, pY, pX, to_screen));
if (win && pY && pX) {
int y = *pY;
diff --git a/ncurses/base/lib_move.c b/ncurses/base/lib_move.c
index 488b195d15a3..652c44d7b718 100644
--- a/ncurses/base/lib_move.c
+++ b/ncurses/base/lib_move.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2004,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2004 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 *
@@ -41,12 +41,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_move.c,v 1.13 2009/10/24 22:34:07 tom Exp $")
+MODULE_ID("$Id: lib_move.c,v 1.12 2004/12/04 21:50:07 tom Exp $")
NCURSES_EXPORT(int)
wmove(WINDOW *win, int y, int x)
{
- T((T_CALLED("wmove(%p,%d,%d)"), (void *) win, y, x));
+ T((T_CALLED("wmove(%p,%d,%d)"), win, y, x));
if (LEGALYX(win, y, x)) {
win->_curx = (NCURSES_SIZE_T) x;
diff --git a/ncurses/base/lib_mvwin.c b/ncurses/base/lib_mvwin.c
index 18d31c13319b..e4dad4a746f0 100644
--- a/ncurses/base/lib_mvwin.c
+++ b/ncurses/base/lib_mvwin.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2006 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 *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer *
****************************************************************************/
/*
@@ -42,16 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_mvwin.c,v 1.18 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_mvwin.c,v 1.14 2006/02/25 22:53:46 tom Exp $")
NCURSES_EXPORT(int)
mvwin(WINDOW *win, int by, int bx)
{
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(win);
-#endif
-
- T((T_CALLED("mvwin(%p,%d,%d)"), (void *) win, by, bx));
+ T((T_CALLED("mvwin(%p,%d,%d)"), win, by, bx));
if (!win || (win->_flags & _ISPAD))
returnCode(ERR);
@@ -102,8 +96,8 @@ mvwin(WINDOW *win, int by, int bx)
}
#endif
- if (by + win->_maxy > screen_lines(SP_PARM) - 1
- || bx + win->_maxx > screen_columns(SP_PARM) - 1
+ if (by + win->_maxy > screen_lines - 1
+ || bx + win->_maxx > screen_columns - 1
|| by < 0
|| bx < 0)
returnCode(ERR);
@@ -114,7 +108,7 @@ mvwin(WINDOW *win, int by, int bx)
* new location. This ensures that if the caller has refreshed another
* window at the same location, that this one will be displayed.
*/
- win->_begy = (NCURSES_SIZE_T) by;
- win->_begx = (NCURSES_SIZE_T) bx;
+ win->_begy = by;
+ win->_begx = bx;
returnCode(touchwin(win));
}
diff --git a/ncurses/base/lib_newterm.c b/ncurses/base/lib_newterm.c
index e12208b7d02d..05982b84cee4 100644
--- a/ncurses/base/lib_newterm.c
+++ b/ncurses/base/lib_newterm.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -46,19 +45,10 @@
#define _POSIX_SOURCE
#endif
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
+#include <term.h> /* clear_screen, cup & friends, cur_term */
#include <tic.h>
-MODULE_ID("$Id: lib_newterm.c,v 1.86 2010/05/20 23:25:18 tom Exp $")
-
-#ifdef USE_TERM_DRIVER
-#define NumLabels InfoOf(SP_PARM).numlabels
-#else
-#define NumLabels num_labels
-#endif
+MODULE_ID("$Id: lib_newterm.c,v 1.73 2008/08/16 21:20:48 Werner.Fink Exp $")
#ifndef ONLCR /* Allows compilation under the QNX 4.2 OS */
#define ONLCR 0
@@ -73,29 +63,27 @@ MODULE_ID("$Id: lib_newterm.c,v 1.86 2010/05/20 23:25:18 tom Exp $")
* is supposed to behave as if it calls newterm, we do it here.
*/
static NCURSES_INLINE int
-_nc_initscr(NCURSES_SP_DCL0)
+_nc_initscr(void)
{
int result = ERR;
- TERMINAL *term = TerminalOf(SP_PARM);
/* for extended XPG4 conformance requires cbreak() at this point */
/* (SVr4 curses does this anyway) */
- if (NCURSES_SP_NAME(cbreak) (NCURSES_SP_ARG) == OK) {
+ if (cbreak() == OK) {
TTY buf;
- buf = term->Nttyb;
+ buf = cur_term->Nttyb;
#ifdef TERMIOS
- buf.c_lflag &= (unsigned) ~(ECHO | ECHONL);
- buf.c_iflag &= (unsigned) ~(ICRNL | INLCR | IGNCR);
- buf.c_oflag &= (unsigned) ~(ONLCR);
+ buf.c_lflag &= ~(ECHO | ECHONL);
+ buf.c_iflag &= ~(ICRNL | INLCR | IGNCR);
+ buf.c_oflag &= ~(ONLCR);
#elif HAVE_SGTTY_H
buf.sg_flags &= ~(ECHO | CRMOD);
#else
memset(&buf, 0, sizeof(buf));
#endif
- result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
- if (result == OK)
- term->Nttyb = buf;
+ if ((result = _nc_set_tty_mode(&buf)) == OK)
+ cur_term->Nttyb = buf;
}
return result;
}
@@ -107,30 +95,13 @@ _nc_initscr(NCURSES_SP_DCL0)
* initialized.
*/
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(filter) (NCURSES_SP_DCL0)
-{
- START_TRACE();
- T((T_CALLED("filter(%p)"), (void *) SP_PARM));
-#if NCURSES_SP_FUNCS
- if (IsPreScreen(SP_PARM)) {
- SP_PARM->_filtered = TRUE;
- }
-#else
- _nc_prescreen.filter_mode = TRUE;
-#endif
- returnVoid;
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
filter(void)
{
START_TRACE();
- T((T_CALLED("filter()")));
+ T((T_CALLED("filter")));
_nc_prescreen.filter_mode = TRUE;
returnVoid;
}
-#endif
#if NCURSES_EXT_FUNCS
/*
@@ -138,125 +109,62 @@ filter(void)
* requiring it to also be filtered.
*/
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(nofilter) (NCURSES_SP_DCL0)
-{
- START_TRACE();
- T((T_CALLED("nofilter(%p)"), (void *) SP_PARM));
-#if NCURSES_SP_FUNCS
- if (IsPreScreen(SP_PARM)) {
- SP_PARM->_filtered = FALSE;
- }
-#else
- _nc_prescreen.filter_mode = FALSE;
-#endif
- returnVoid;
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
nofilter(void)
{
START_TRACE();
- T((T_CALLED("nofilter()")));
+ T((T_CALLED("nofilter")));
_nc_prescreen.filter_mode = FALSE;
returnVoid;
}
#endif
-#endif /* NCURSES_EXT_FUNCS */
NCURSES_EXPORT(SCREEN *)
-NCURSES_SP_NAME(newterm) (NCURSES_SP_DCLx
- NCURSES_CONST char *name,
- FILE *ofp,
- FILE *ifp)
+newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp)
{
int value;
int errret;
- SCREEN *result = 0;
SCREEN *current;
+ SCREEN *result = 0;
TERMINAL *its_term;
- FILE *_ofp = ofp ? ofp : stdout;
- FILE *_ifp = ifp ? ifp : stdin;
- int cols;
- int slk_format;
- int filter_mode;
- TERMINAL *new_term = 0;
START_TRACE();
- T((T_CALLED("newterm(%p, \"%s\", %p,%p)"),
- (void *) SP_PARM,
- name,
- (void *) ofp,
- (void *) ifp));
-
-#if NCURSES_SP_FUNCS
- assert(SP_PARM != 0);
- if (SP_PARM == 0)
- returnSP(SP_PARM);
-#endif
+ T((T_CALLED("newterm(\"%s\",%p,%p)"), name, ofp, ifp));
_nc_init_pthreads();
_nc_lock_global(curses);
- current = CURRENT_SCREEN;
- its_term = (current ? current->_term : 0);
+ current = SP;
+ its_term = (SP ? SP->_term : 0);
- INIT_TERM_DRIVER();
/* this loads the capability entry, then sets LINES and COLS */
- if (
-#if NCURSES_SP_FUNCS
- SP_PARM->_prescreen &&
-#endif
- TINFO_SETUP_TERM(&new_term, name,
- fileno(_ofp), &errret, FALSE) != ERR) {
-
- _nc_set_screen(0);
-#ifdef USE_TERM_DRIVER
- assert(new_term != 0);
-#endif
-
-#if NCURSES_SP_FUNCS
- slk_format = SP_PARM->slk_format;
- filter_mode = SP_PARM->_filtered;
-#else
- slk_format = _nc_globals.slk_format;
- filter_mode = _nc_prescreen.filter_mode;
-#endif
+ if (setupterm(name, fileno(ofp), &errret) != ERR) {
+ int slk_format = _nc_globals.slk_format;
/*
* This actually allocates the screen structure, and saves the original
* terminal settings.
*/
- if (NCURSES_SP_NAME(_nc_setupscreen) (
-#if NCURSES_SP_FUNCS
- &SP_PARM,
-#endif
- *(ptrLines(SP_PARM)),
- *(ptrCols(SP_PARM)),
- _ofp,
- filter_mode,
- slk_format) == ERR) {
+ _nc_set_screen(0);
+
+ /* allow user to set maximum escape delay from the environment */
+ if ((value = _nc_getenv_num("ESCDELAY")) >= 0) {
+ set_escdelay(value);
+ }
+
+ if (_nc_setupscreen(LINES,
+ COLS,
+ ofp,
+ _nc_prescreen.filter_mode,
+ slk_format) == ERR) {
_nc_set_screen(current);
result = 0;
} else {
-#ifdef USE_TERM_DRIVER
- TERMINAL_CONTROL_BLOCK *TCB;
-#elif !NCURSES_SP_FUNCS
- _nc_set_screen(CURRENT_SCREEN);
-#endif
- assert(SP_PARM != 0);
- cols = *(ptrCols(SP_PARM));
-#ifdef USE_TERM_DRIVER
- _nc_set_screen(SP_PARM);
- TCB = (TERMINAL_CONTROL_BLOCK *) new_term;
- TCB->csp = SP_PARM;
-#endif
+ assert(SP != 0);
/*
* In setupterm() we did a set_curterm(), but it was before we set
- * CURRENT_SCREEN. So the "current" screen's terminal pointer was
- * overwritten with a different terminal. Later, in
- * _nc_setupscreen(), we set CURRENT_SCREEN and the terminal
- * pointer in the new screen.
+ * SP. So the "current" screen's terminal pointer was overwritten
+ * with a different terminal. Later, in _nc_setupscreen(), we set
+ * SP and the terminal pointer in the new screen.
*
* Restore the terminal-pointer for the pre-existing screen, if
* any.
@@ -264,53 +172,37 @@ NCURSES_SP_NAME(newterm) (NCURSES_SP_DCLx
if (current)
current->_term = its_term;
-#ifdef USE_TERM_DRIVER
- SP_PARM->_term = new_term;
-#else
- new_term = SP_PARM->_term;
-#endif
-
- /* allow user to set maximum escape delay from the environment */
- if ((value = _nc_getenv_num("ESCDELAY")) >= 0) {
- NCURSES_SP_NAME(set_escdelay) (NCURSES_SP_ARGx value);
- }
-
/* if the terminal type has real soft labels, set those up */
- if (slk_format && NumLabels > 0 && SLK_STDFMT(slk_format))
- _nc_slk_initialize(StdScreen(SP_PARM), cols);
+ if (slk_format && num_labels > 0 && SLK_STDFMT(slk_format))
+ _nc_slk_initialize(stdscr, COLS);
- SP_PARM->_ifd = fileno(_ifp);
- NCURSES_SP_NAME(typeahead) (NCURSES_SP_ARGx fileno(_ifp));
+ SP->_ifd = fileno(ifp);
+ typeahead(fileno(ifp));
#ifdef TERMIOS
- SP_PARM->_use_meta = ((new_term->Ottyb.c_cflag & CSIZE) == CS8 &&
- !(new_term->Ottyb.c_iflag & ISTRIP));
+ SP->_use_meta = ((cur_term->Ottyb.c_cflag & CSIZE) == CS8 &&
+ !(cur_term->Ottyb.c_iflag & ISTRIP));
#else
- SP_PARM->_use_meta = FALSE;
+ SP->_use_meta = FALSE;
#endif
- SP_PARM->_endwin = FALSE;
-#ifndef USE_TERM_DRIVER
+ SP->_endwin = FALSE;
+
/*
* Check whether we can optimize scrolling under dumb terminals in
* case we do not have any of these capabilities, scrolling
* optimization will be useless.
*/
- SP_PARM->_scrolling = ((scroll_forward && scroll_reverse) ||
- ((parm_rindex ||
- parm_insert_line ||
- insert_line) &&
- (parm_index ||
- parm_delete_line ||
- delete_line)));
-#endif
+ SP->_scrolling = ((scroll_forward && scroll_reverse) ||
+ ((parm_rindex ||
+ parm_insert_line ||
+ insert_line) &&
+ (parm_index ||
+ parm_delete_line ||
+ delete_line)));
- NCURSES_SP_NAME(baudrate) (NCURSES_SP_ARG); /* sets a field in the screen structure */
+ baudrate(); /* sets a field in the SP structure */
- SP_PARM->_keytry = 0;
+ SP->_keytry = 0;
- /* compute movement costs so we can do better move optimization */
-#ifdef USE_TERM_DRIVER
- TCBOf(SP_PARM)->drv->scinit(SP_PARM);
-#else
/*
* Check for mismatched graphic-rendition capabilities. Most SVr4
* terminfo trees contain entries that have rmul or rmso equated to
@@ -321,31 +213,23 @@ NCURSES_SP_NAME(newterm) (NCURSES_SP_DCLx
* shouldn't be looking at this detail.
*/
#define SGR0_TEST(mode) (mode != 0) && (exit_attribute_mode == 0 || strcmp(mode, exit_attribute_mode))
- SP_PARM->_use_rmso = SGR0_TEST(exit_standout_mode);
- SP_PARM->_use_rmul = SGR0_TEST(exit_underline_mode);
+ SP->_use_rmso = SGR0_TEST(exit_standout_mode);
+ SP->_use_rmul = SGR0_TEST(exit_underline_mode);
/* compute movement costs so we can do better move optimization */
_nc_mvcur_init();
/* initialize terminal to a sane state */
_nc_screen_init();
-#endif
/* Initialize the terminal line settings. */
- _nc_initscr(NCURSES_SP_ARG);
+ _nc_initscr();
_nc_signal_handler(TRUE);
- result = SP_PARM;
+
+ result = SP;
}
}
_nc_unlock_global(curses);
returnSP(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(SCREEN *)
-newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp)
-{
- return NCURSES_SP_NAME(newterm) (CURRENT_SCREEN_PRE, name, ofp, ifp);
-}
-#endif
diff --git a/ncurses/base/lib_newwin.c b/ncurses/base/lib_newwin.c
index 72d8af84b703..587e83a92009 100644
--- a/ncurses/base/lib_newwin.c
+++ b/ncurses/base/lib_newwin.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -43,7 +42,7 @@
#include <curses.priv.h>
#include <stddef.h>
-MODULE_ID("$Id: lib_newwin.c,v 1.69 2011/03/07 21:58:17 tom Exp $")
+MODULE_ID("$Id: lib_newwin.c,v 1.52 2008/06/07 13:58:09 tom Exp $")
#define window_is(name) ((sp)->_##name == win)
@@ -62,17 +61,6 @@ remove_window_from_screen(WINDOW *win)
{
SCREEN *sp;
-#ifdef USE_SP_WINDOWLIST
- if ((sp = _nc_screen_of(win)) != 0) {
- if (window_is(curscr)) {
- remove_window(curscr);
- } else if (window_is(stdscr)) {
- remove_window(stdscr);
- } else if (window_is(newscr)) {
- remove_window(newscr);
- }
- }
-#else
for (each_screen(sp)) {
if (window_is(curscr)) {
remove_window(curscr);
@@ -85,7 +73,6 @@ remove_window_from_screen(WINDOW *win)
break;
}
}
-#endif
}
NCURSES_EXPORT(int)
@@ -94,20 +81,17 @@ _nc_freewin(WINDOW *win)
WINDOWLIST *p, *q;
int i;
int result = ERR;
-#ifdef USE_SP_WINDOWLIST
- SCREEN *sp = _nc_screen_of(win); /* pretend this is parameter */
-#endif
- T((T_CALLED("_nc_freewin(%p)"), (void *) win));
+ T((T_CALLED("_nc_freewin(%p)"), win));
if (win != 0) {
- if (_nc_nonsp_try_global(curses) == 0) {
+ if (_nc_try_global(curses) == 0) {
q = 0;
- for (each_window(SP_PARM, p)) {
+ for (each_window(p)) {
if (&(p->win) == win) {
remove_window_from_screen(win);
if (q == 0)
- WindowList(SP_PARM) = p->next;
+ _nc_windows = p->next;
else
q->next = p->next;
@@ -119,39 +103,35 @@ _nc_freewin(WINDOW *win)
free(p);
result = OK;
- T(("...deleted win=%p", (void *) win));
+ T(("...deleted win=%p", win));
break;
}
q = p;
}
- _nc_nonsp_unlock_global(curses);
+ _nc_unlock_global(curses);
}
}
returnCode(result);
}
NCURSES_EXPORT(WINDOW *)
-NCURSES_SP_NAME(newwin) (NCURSES_SP_DCLx
- int num_lines, int num_columns, int begy, int begx)
+newwin(int num_lines, int num_columns, int begy, int begx)
{
WINDOW *win;
NCURSES_CH_T *ptr;
int i;
- T((T_CALLED("newwin(%p, %d,%d,%d,%d)"), (void *) SP_PARM, num_lines, num_columns,
- begy, begx));
+ T((T_CALLED("newwin(%d,%d,%d,%d)"), num_lines, num_columns, begy, begx));
if (begy < 0 || begx < 0 || num_lines < 0 || num_columns < 0)
returnWin(0);
if (num_lines == 0)
- num_lines = SP_PARM->_lines_avail - begy;
+ num_lines = SP->_lines_avail - begy;
if (num_columns == 0)
- num_columns = screen_columns(SP_PARM) - begx;
+ num_columns = screen_columns - begx;
- win = NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_ARGx
- num_lines, num_columns, begy, begx, 0);
- if (win == 0)
+ if ((win = _nc_makenew(num_lines, num_columns, begy, begx, 0)) == 0)
returnWin(0);
for (i = 0; i < num_lines; i++) {
@@ -169,30 +149,14 @@ NCURSES_SP_NAME(newwin) (NCURSES_SP_DCLx
returnWin(win);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(WINDOW *)
-newwin(int num_lines, int num_columns, int begy, int begx)
-{
- WINDOW *win;
- _nc_sp_lock_global(curses);
- win = NCURSES_SP_NAME(newwin) (CURRENT_SCREEN,
- num_lines, num_columns, begy, begx);
- _nc_sp_unlock_global(curses);
- return (win);
-}
-#endif
-
NCURSES_EXPORT(WINDOW *)
derwin(WINDOW *orig, int num_lines, int num_columns, int begy, int begx)
{
WINDOW *win;
int i;
int flags = _SUBWIN;
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(orig);
-#endif
- T((T_CALLED("derwin(%p,%d,%d,%d,%d)"), (void *) orig, num_lines, num_columns,
+ T((T_CALLED("derwin(%p,%d,%d,%d,%d)"), orig, num_lines, num_columns,
begy, begx));
/*
@@ -213,10 +177,8 @@ derwin(WINDOW *orig, int num_lines, int num_columns, int begy, int begx)
if (orig->_flags & _ISPAD)
flags |= _ISPAD;
- win = NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_ARGx num_lines, num_columns,
- orig->_begy + begy,
- orig->_begx + begx, flags);
- if (win == 0)
+ if ((win = _nc_makenew(num_lines, num_columns, orig->_begy + begy,
+ orig->_begx + begx, flags)) == 0)
returnWin(0);
win->_pary = begy;
@@ -235,7 +197,7 @@ derwin(WINDOW *orig, int num_lines, int num_columns, int begy, int begx)
NCURSES_EXPORT(WINDOW *)
subwin(WINDOW *w, int l, int c, int y, int x)
{
- T((T_CALLED("subwin(%p, %d, %d, %d, %d)"), (void *) w, l, c, y, x));
+ T((T_CALLED("subwin(%p, %d, %d, %d, %d)"), w, l, c, y, x));
T(("parent has begy = %ld, begx = %ld", (long) w->_begy, (long) w->_begx));
returnWin(derwin(w, l, c, y - w->_begy, x - w->_begx));
@@ -244,27 +206,21 @@ subwin(WINDOW *w, int l, int c, int y, int x)
static bool
dimension_limit(int value)
{
- NCURSES_SIZE_T test = (NCURSES_SIZE_T) value;
+ NCURSES_SIZE_T test = value;
return (test == value && value > 0);
}
NCURSES_EXPORT(WINDOW *)
-NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_DCLx
- int num_lines,
- int num_columns,
- int begy,
- int begx,
- int flags)
+_nc_makenew(int num_lines, int num_columns, int begy, int begx, int flags)
{
int i;
WINDOWLIST *wp;
WINDOW *win;
- bool is_padwin = (flags & _ISPAD);
+ bool is_pad = (flags & _ISPAD);
- T((T_CALLED("_nc_makenew(%p,%d,%d,%d,%d)"),
- (void *) SP_PARM, num_lines, num_columns, begy, begx));
+ T((T_CALLED("_nc_makenew(%d,%d,%d,%d)"), num_lines, num_columns, begy, begx));
- if (SP_PARM == 0)
+ if (SP == 0)
returnWin(0);
if (!dimension_limit(num_lines) || !dimension_limit(num_columns))
@@ -276,28 +232,26 @@ NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_DCLx
win = &(wp->win);
if ((win->_line = typeCalloc(struct ldat, ((unsigned) num_lines))) == 0) {
- free(wp);
+ free(win);
returnWin(0);
}
- _nc_nonsp_lock_global(curses);
+ _nc_lock_global(curses);
win->_curx = 0;
win->_cury = 0;
- win->_maxy = (NCURSES_SIZE_T) (num_lines - 1);
- win->_maxx = (NCURSES_SIZE_T) (num_columns - 1);
- win->_begy = (NCURSES_SIZE_T) begy;
- win->_begx = (NCURSES_SIZE_T) begx;
- win->_yoffset = SP_PARM->_topstolen;
+ win->_maxy = num_lines - 1;
+ win->_maxx = num_columns - 1;
+ win->_begy = begy;
+ win->_begx = begx;
+ win->_yoffset = SP->_topstolen;
- win->_flags = (short) flags;
+ win->_flags = flags;
WINDOW_ATTRS(win) = A_NORMAL;
SetChar(win->_nc_bkgd, BLANK_TEXT, BLANK_ATTR);
- win->_clear = (is_padwin
- ? FALSE
- : (num_lines == screen_lines(SP_PARM)
- && num_columns == screen_columns(SP_PARM)));
+ win->_clear = is_pad ? FALSE : (num_lines == screen_lines
+ && num_columns == screen_columns);
win->_idlok = FALSE;
win->_idcok = TRUE;
win->_scroll = FALSE;
@@ -311,7 +265,7 @@ NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_DCLx
win->_parent = 0;
win->_regtop = 0;
- win->_regbottom = (NCURSES_SIZE_T) (num_lines - 1);
+ win->_regbottom = num_lines - 1;
win->_pad._pad_y = -1;
win->_pad._pad_x = -1;
@@ -341,28 +295,28 @@ NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_DCLx
* So that's how we want ncurses to behave.
*/
win->_line[i].firstchar = 0;
- win->_line[i].lastchar = (NCURSES_SIZE_T) (num_columns - 1);
+ win->_line[i].lastchar = num_columns - 1;
if_USE_SCROLL_HINTS(win->_line[i].oldindex = i);
}
- if (!is_padwin && (begx + num_columns == screen_columns(SP_PARM))) {
+ if (!is_pad && (begx + num_columns == screen_columns)) {
win->_flags |= _ENDLINE;
- if (begx == 0 && num_lines == screen_lines(SP_PARM) && begy == 0)
+ if (begx == 0 && num_lines == screen_lines && begy == 0)
win->_flags |= _FULLWIN;
- if (begy + num_lines == screen_lines(SP_PARM))
+ if (begy + num_lines == screen_lines)
win->_flags |= _SCROLLWIN;
}
- wp->next = WindowList(SP_PARM);
- wp->screen = SP_PARM;
- WindowList(SP_PARM) = wp;
+ wp->next = _nc_windows;
+ wp->screen = SP;
+ _nc_windows = wp;
- T((T_CREATE("window %p"), (void *) win));
+ T((T_CREATE("window %p"), win));
- _nc_nonsp_unlock_global(curses);
+ _nc_unlock_global(curses);
returnWin(win);
}
@@ -371,22 +325,14 @@ NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_DCLx
* internally, and it is useful to allow those to be invoked without switching
* SCREEN's, e.g., for multi-threaded applications.
*/
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(WINDOW *)
-_nc_curscr_of(SCREEN *sp)
-{
- return sp == 0 ? 0 : CurScreen(sp);
-}
-
-NCURSES_EXPORT(WINDOW *)
-_nc_newscr_of(SCREEN *sp)
+NCURSES_EXPORT(SCREEN *)
+_nc_screen_of(WINDOW *win)
{
- return sp == 0 ? 0 : NewScreen(sp);
-}
+ SCREEN *sp = 0;
-NCURSES_EXPORT(WINDOW *)
-_nc_stdscr_of(SCREEN *sp)
-{
- return sp == 0 ? 0 : StdScreen(sp);
+ if (win != 0) {
+ WINDOWLIST *wp = (WINDOWLIST *) win;
+ sp = wp->screen;
+ }
+ return (sp);
}
-#endif
diff --git a/ncurses/base/lib_nl.c b/ncurses/base/lib_nl.c
index 34254871c985..32515da0be81 100644
--- a/ncurses/base/lib_nl.c
+++ b/ncurses/base/lib_nl.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,1999,2000 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 *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -44,52 +42,38 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_nl.c,v 1.12 2009/10/24 22:05:55 tom Exp $")
+MODULE_ID("$Id: lib_nl.c,v 1.8 2000/12/10 02:43:27 tom Exp $")
#ifdef __EMX__
#include <io.h>
#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(nl) (NCURSES_SP_DCL0)
+nl(void)
{
- T((T_CALLED("nl(%p)"), (void *) SP_PARM));
- if (0 == SP_PARM)
- returnCode(ERR);
- SP_PARM->_nl = TRUE;
+ T((T_CALLED("nl()")));
+
+ SP->_nl = TRUE;
+
#ifdef __EMX__
_nc_flush();
- _fsetmode(NC_OUTPUT(SP_PARM), "t");
+ _fsetmode(NC_OUTPUT, "t");
#endif
+
returnCode(OK);
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-nl(void)
+nonl(void)
{
- return NCURSES_SP_NAME(nl) (CURRENT_SCREEN);
-}
-#endif
+ T((T_CALLED("nonl()")));
+
+ SP->_nl = FALSE;
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(nonl) (NCURSES_SP_DCL0)
-{
- T((T_CALLED("nonl(%p)"), (void *) SP_PARM));
- if (0 == SP_PARM)
- returnCode(ERR);
- SP_PARM->_nl = FALSE;
#ifdef __EMX__
_nc_flush();
- _fsetmode(NC_OUTPUT(SP_PARM), "b");
+ _fsetmode(NC_OUTPUT, "b");
#endif
- returnCode(OK);
-}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-nonl(void)
-{
- return NCURSES_SP_NAME(nonl) (CURRENT_SCREEN);
+ returnCode(OK);
}
-#endif
diff --git a/ncurses/base/lib_overlay.c b/ncurses/base/lib_overlay.c
index bfb817bc3108..669e8e72c07f 100644
--- a/ncurses/base/lib_overlay.c
+++ b/ncurses/base/lib_overlay.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -40,7 +40,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_overlay.c,v 1.29 2009/10/24 23:21:31 tom Exp $")
+MODULE_ID("$Id: lib_overlay.c,v 1.27 2008/06/07 23:30:34 tom Exp $")
static int
overlap(const WINDOW *const src, WINDOW *const dst, int const flag)
@@ -52,7 +52,7 @@ overlap(const WINDOW *const src, WINDOW *const dst, int const flag)
int dminrow, dmincol;
int dmaxrow, dmaxcol;
- T((T_CALLED("overlap(%p,%p,%d)"), (const void *) src, (void *) dst, flag));
+ T((T_CALLED("overlap(%p,%p,%d)"), src, dst, flag));
if (src != 0 && dst != 0) {
_nc_lock_global(curses);
@@ -110,7 +110,7 @@ overlap(const WINDOW *const src, WINDOW *const dst, int const flag)
NCURSES_EXPORT(int)
overlay(const WINDOW *win1, WINDOW *win2)
{
- T((T_CALLED("overlay(%p,%p)"), (const void *) win1, (void *) win2));
+ T((T_CALLED("overlay(%p,%p)"), win1, win2));
returnCode(overlap(win1, win2, TRUE));
}
@@ -127,7 +127,7 @@ overlay(const WINDOW *win1, WINDOW *win2)
NCURSES_EXPORT(int)
overwrite(const WINDOW *win1, WINDOW *win2)
{
- T((T_CALLED("overwrite(%p,%p)"), (const void *) win1, (void *) win2));
+ T((T_CALLED("overwrite(%p,%p)"), win1, win2));
returnCode(overlap(win1, win2, FALSE));
}
@@ -145,11 +145,7 @@ copywin(const WINDOW *src, WINDOW *dst,
attr_t mask;
T((T_CALLED("copywin(%p, %p, %d, %d, %d, %d, %d, %d, %d)"),
- (const void *) src,
- (void *) dst,
- sminrow, smincol,
- dminrow, dmincol,
- dmaxrow, dmaxcol, over));
+ src, dst, sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol, over));
if (src && dst) {
_nc_lock_global(curses);
diff --git a/ncurses/base/lib_pad.c b/ncurses/base/lib_pad.c
index b87498b500cd..6cad9c54b064 100644
--- a/ncurses/base/lib_pad.c
+++ b/ncurses/base/lib_pad.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2004,2006 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 *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,22 +40,21 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_pad.c,v 1.46 2010/04/24 23:50:45 tom Exp $")
+MODULE_ID("$Id: lib_pad.c,v 1.41 2006/10/14 20:47:13 tom Exp $")
NCURSES_EXPORT(WINDOW *)
-NCURSES_SP_NAME(newpad) (NCURSES_SP_DCLx int l, int c)
+newpad(int l, int c)
{
WINDOW *win;
NCURSES_CH_T *ptr;
int i;
- T((T_CALLED("newpad(%p,%d, %d)"), (void *) SP_PARM, l, c));
+ T((T_CALLED("newpad(%d, %d)"), l, c));
if (l <= 0 || c <= 0)
returnWin(0);
- win = NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_ARGx l, c, 0, 0, _ISPAD);
- if (win == NULL)
+ if ((win = _nc_makenew(l, c, 0, 0, _ISPAD)) == NULL)
returnWin(0);
for (i = 0; i < l; i++) {
@@ -73,14 +70,6 @@ NCURSES_SP_NAME(newpad) (NCURSES_SP_DCLx int l, int c)
returnWin(win);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(WINDOW *)
-newpad(int l, int c)
-{
- return NCURSES_SP_NAME(newpad) (CURRENT_SCREEN, l, c);
-}
-#endif
-
NCURSES_EXPORT(WINDOW *)
subpad(WINDOW *orig, int l, int c, int begy, int begx)
{
@@ -105,14 +94,10 @@ prefresh(WINDOW *win,
int smaxrow,
int smaxcol)
{
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(win);
-#endif
-
T((T_CALLED("prefresh()")));
if (pnoutrefresh(win, pminrow, pmincol, sminrow, smincol, smaxrow,
smaxcol) != ERR
- && NCURSES_SP_NAME(doupdate) (NCURSES_SP_ARG) != ERR) {
+ && doupdate() != ERR) {
returnCode(OK);
}
returnCode(ERR);
@@ -127,11 +112,10 @@ pnoutrefresh(WINDOW *win,
int smaxrow,
int smaxcol)
{
- int i, j;
- int m, n;
- int pmaxrow;
- int pmaxcol;
- SCREEN *sp;
+ NCURSES_SIZE_T i, j;
+ NCURSES_SIZE_T m, n;
+ NCURSES_SIZE_T pmaxrow;
+ NCURSES_SIZE_T pmaxcol;
#if USE_SCROLL_HINTS
const int my_len = 2; /* parameterize the threshold for hardscroll */
@@ -140,7 +124,7 @@ pnoutrefresh(WINDOW *win,
#endif
T((T_CALLED("pnoutrefresh(%p, %d, %d, %d, %d, %d, %d)"),
- (void *) win, pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol));
+ win, pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol));
if (win == 0)
returnCode(ERR);
@@ -148,8 +132,6 @@ pnoutrefresh(WINDOW *win,
if (!(win->_flags & _ISPAD))
returnCode(ERR);
- sp = _nc_screen_of(win);
-
/* negative values are interpreted as zero */
if (pminrow < 0)
pminrow = 0;
@@ -180,8 +162,8 @@ pnoutrefresh(WINDOW *win,
pmaxcol = pmincol + smaxcol - smincol;
}
- if (smaxrow >= screen_lines(sp)
- || smaxcol >= screen_columns(sp)
+ if (smaxrow >= screen_lines
+ || smaxcol >= screen_columns
|| sminrow > smaxrow
|| smincol > smaxcol)
returnCode(ERR);
@@ -212,13 +194,13 @@ pnoutrefresh(WINDOW *win,
* merely change the costs of various update cases.
*/
#if USE_SCROLL_HINTS
- wide = (smincol < my_len && smaxcol > (NewScreen(sp)->_maxx - my_len));
+ wide = (smincol < my_len && smaxcol > (newscr->_maxx - my_len));
#endif
for (i = pminrow, m = sminrow + win->_yoffset;
- i <= pmaxrow && m <= NewScreen(sp)->_maxy;
+ i <= pmaxrow && m <= newscr->_maxy;
i++, m++) {
- register struct ldat *nline = &NewScreen(sp)->_line[m];
+ register struct ldat *nline = &newscr->_line[m];
register struct ldat *oline = &win->_line[i];
for (j = pmincol, n = smincol; j <= pmaxcol; j++, n++) {
NCURSES_CH_T ch = oline->text[j];
@@ -247,9 +229,9 @@ pnoutrefresh(WINDOW *win,
|| nind > smaxrow) {
nind = _NEWINDEX;
} else if (displaced) {
- register struct ldat *pline = &CurScreen(sp)->_line[nind];
+ register struct ldat *pline = &curscr->_line[nind];
for (j = 0; j <= my_len; j++) {
- int k = NewScreen(sp)->_maxx - j;
+ int k = newscr->_maxx - j;
if (pline->text[j] != nline->text[j]
|| pline->text[k] != nline->text[k]) {
nind = _NEWINDEX;
@@ -279,12 +261,12 @@ pnoutrefresh(WINDOW *win,
win->_line[i].oldindex = _NEWINDEX;
#endif
- win->_begx = (NCURSES_SIZE_T) smincol;
- win->_begy = (NCURSES_SIZE_T) sminrow;
+ win->_begx = smincol;
+ win->_begy = sminrow;
if (win->_clear) {
win->_clear = FALSE;
- NewScreen(sp)->_clear = TRUE;
+ newscr->_clear = TRUE;
}
/*
@@ -296,12 +278,10 @@ pnoutrefresh(WINDOW *win,
&& win->_curx >= pmincol
&& win->_cury <= pmaxrow
&& win->_curx <= pmaxcol) {
- NewScreen(sp)->_cury = (NCURSES_SIZE_T) (win->_cury - pminrow
- + win->_begy + win->_yoffset);
- NewScreen(sp)->_curx = (NCURSES_SIZE_T) (win->_curx - pmincol
- + win->_begx);
+ newscr->_cury = win->_cury - pminrow + win->_begy + win->_yoffset;
+ newscr->_curx = win->_curx - pmincol + win->_begx;
}
- NewScreen(sp)->_leaveok = win->_leaveok;
+ newscr->_leaveok = win->_leaveok;
win->_flags &= ~_HASMOVED;
/*
@@ -309,12 +289,12 @@ pnoutrefresh(WINDOW *win,
* We will use this on subsequent calls to this function to derive
* values to stuff into 'oldindex[]' -- for scrolling optimization.
*/
- win->_pad._pad_y = (NCURSES_SIZE_T) pminrow;
- win->_pad._pad_x = (NCURSES_SIZE_T) pmincol;
- win->_pad._pad_top = (NCURSES_SIZE_T) sminrow;
- win->_pad._pad_left = (NCURSES_SIZE_T) smincol;
- win->_pad._pad_bottom = (NCURSES_SIZE_T) smaxrow;
- win->_pad._pad_right = (NCURSES_SIZE_T) smaxcol;
+ win->_pad._pad_y = pminrow;
+ win->_pad._pad_x = pmincol;
+ win->_pad._pad_top = sminrow;
+ win->_pad._pad_left = smincol;
+ win->_pad._pad_bottom = smaxrow;
+ win->_pad._pad_right = smaxcol;
returnCode(OK);
}
@@ -322,7 +302,7 @@ pnoutrefresh(WINDOW *win,
NCURSES_EXPORT(int)
pechochar(WINDOW *pad, const chtype ch)
{
- T((T_CALLED("pechochar(%p, %s)"), (void *) pad, _tracechtype(ch)));
+ T((T_CALLED("pechochar(%p, %s)"), pad, _tracechtype(ch)));
if (pad == 0)
returnCode(ERR);
diff --git a/ncurses/base/lib_printw.c b/ncurses/base/lib_printw.c
index 963181d9a494..62ae921e650d 100644
--- a/ncurses/base/lib_printw.c
+++ b/ncurses/base/lib_printw.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2005 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>
-MODULE_ID("$Id: lib_printw.c,v 1.20 2009/10/24 22:07:03 tom Exp $")
+MODULE_ID("$Id: lib_printw.c,v 1.18 2006/12/17 19:21:39 tom Exp $")
NCURSES_EXPORT(int)
printw(const char *fmt,...)
@@ -70,7 +70,7 @@ wprintw(WINDOW *win, const char *fmt,...)
#ifdef TRACE
va_start(argp, fmt);
T((T_CALLED("wprintw(%p,%s%s)"),
- (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+ win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
va_end(argp);
#endif
@@ -111,7 +111,7 @@ mvwprintw(WINDOW *win, int y, int x, const char *fmt,...)
#ifdef TRACE
va_start(argp, fmt);
T((T_CALLED("mvwprintw(%d,%d,%p,%s%s)"),
- y, x, (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+ y, x, win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
va_end(argp);
#endif
@@ -128,14 +128,10 @@ vwprintw(WINDOW *win, const char *fmt, va_list argp)
{
char *buf;
int code = ERR;
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(win);
-#endif
- T((T_CALLED("vwprintw(%p,%s,va_list)"), (void *) win, _nc_visbuf(fmt)));
+ T((T_CALLED("vwprintw(%p,%s,va_list)"), win, _nc_visbuf(fmt)));
- buf = NCURSES_SP_NAME(_nc_printf_string) (NCURSES_SP_ARGx fmt, argp);
- if (buf != 0) {
+ if ((buf = _nc_printf_string(fmt, argp)) != 0) {
code = waddstr(win, buf);
}
returnCode(code);
diff --git a/ncurses/base/lib_redrawln.c b/ncurses/base/lib_redrawln.c
index 72905f84d656..6b0905f07d67 100644
--- a/ncurses/base/lib_redrawln.c
+++ b/ncurses/base/lib_redrawln.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -39,7 +39,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_redrawln.c,v 1.17 2010/12/19 00:03:23 tom Exp $")
+MODULE_ID("$Id: lib_redrawln.c,v 1.12 2007/10/13 20:08:56 tom Exp $")
NCURSES_EXPORT(int)
wredrawln(WINDOW *win, int beg, int num)
@@ -47,40 +47,37 @@ wredrawln(WINDOW *win, int beg, int num)
int i;
int end;
size_t len;
- SCREEN *sp;
- T((T_CALLED("wredrawln(%p,%d,%d)"), (void *) win, beg, num));
+ T((T_CALLED("wredrawln(%p,%d,%d)"), win, beg, num));
if (win == 0)
returnCode(ERR);
- sp = _nc_screen_of(win);
-
if (beg < 0)
beg = 0;
if (touchline(win, beg, num) == ERR)
returnCode(ERR);
- if (touchline(CurScreen(sp), beg + win->_begy, num) == ERR)
+ if (touchline(curscr, beg + win->_begy, num) == ERR)
returnCode(ERR);
end = beg + num;
- if (end > CurScreen(sp)->_maxy + 1 - win->_begy)
- end = CurScreen(sp)->_maxy + 1 - win->_begy;
+ if (end > curscr->_maxy + 1)
+ end = curscr->_maxy + 1;
if (end > win->_maxy + 1)
end = win->_maxy + 1;
- len = (size_t) (win->_maxx + 1);
- if (len > (size_t) (CurScreen(sp)->_maxx + 1 - win->_begx))
- len = (size_t) (CurScreen(sp)->_maxx + 1 - win->_begx);
- len *= sizeof(CurScreen(sp)->_line[0].text[0]);
+ len = (win->_maxx + 1);
+ if (len > (size_t) (curscr->_maxx + 1))
+ len = (size_t) (curscr->_maxx + 1);
+ len *= sizeof(curscr->_line[0].text[0]);
for (i = beg; i < end; i++) {
int crow = i + win->_begy;
- memset(CurScreen(sp)->_line[crow].text + win->_begx, 0, len);
- NCURSES_SP_NAME(_nc_make_oldhash) (NCURSES_SP_ARGx crow);
+ memset(curscr->_line[crow].text + win->_begx, 0, len);
+ _nc_make_oldhash(crow);
}
returnCode(OK);
diff --git a/ncurses/base/lib_refresh.c b/ncurses/base/lib_refresh.c
index 8c02086a707d..2a9cafb7b0ad 100644
--- a/ncurses/base/lib_refresh.c
+++ b/ncurses/base/lib_refresh.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer *
****************************************************************************/
/*
@@ -42,27 +41,24 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_refresh.c,v 1.44 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_refresh.c,v 1.41 2007/09/29 20:39:34 tom Exp $")
NCURSES_EXPORT(int)
wrefresh(WINDOW *win)
{
int code;
-#if NCURSES_SP_FUNCS
- SCREEN *SP_PARM = _nc_screen_of(win);
-#endif
- T((T_CALLED("wrefresh(%p)"), (void *) win));
+ T((T_CALLED("wrefresh(%p)"), win));
if (win == 0) {
code = ERR;
- } else if (win == CurScreen(SP_PARM)) {
- CurScreen(SP_PARM)->_clear = TRUE;
- code = NCURSES_SP_NAME(doupdate) (NCURSES_SP_ARG);
+ } else if (win == curscr) {
+ curscr->_clear = TRUE;
+ code = doupdate();
} else if ((code = wnoutrefresh(win)) == OK) {
if (win->_clear)
- NewScreen(SP_PARM)->_clear = TRUE;
- code = NCURSES_SP_NAME(doupdate) (NCURSES_SP_ARG);
+ newscr->_clear = TRUE;
+ code = doupdate();
/*
* Reset the clearok() flag in case it was set for the special
* case in hardscroll.c (if we don't reset it here, we'll get 2
@@ -77,19 +73,16 @@ wrefresh(WINDOW *win)
NCURSES_EXPORT(int)
wnoutrefresh(WINDOW *win)
{
- int limit_x;
- int src_row, src_col;
- int begx;
- int begy;
- int dst_row, dst_col;
+ NCURSES_SIZE_T limit_x;
+ NCURSES_SIZE_T src_row, src_col;
+ NCURSES_SIZE_T begx;
+ NCURSES_SIZE_T begy;
+ NCURSES_SIZE_T dst_row, dst_col;
#if USE_SCROLL_HINTS
bool wide;
#endif
-#if NCURSES_SP_FUNCS
- SCREEN *SP_PARM = _nc_screen_of(win);
-#endif
- T((T_CALLED("wnoutrefresh(%p)"), (void *) win));
+ T((T_CALLED("wnoutrefresh(%p)"), win));
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE)) {
_tracedump("...win", win);
@@ -108,8 +101,8 @@ wnoutrefresh(WINDOW *win)
begx = win->_begx;
begy = win->_begy;
- NewScreen(SP_PARM)->_nc_bkgd = win->_nc_bkgd;
- WINDOW_ATTRS(NewScreen(SP_PARM)) = WINDOW_ATTRS(win);
+ newscr->_nc_bkgd = win->_nc_bkgd;
+ WINDOW_ATTRS(newscr) = WINDOW_ATTRS(win);
/* merge in change information from all subwindows of this window */
wsyncdown(win);
@@ -129,7 +122,7 @@ wnoutrefresh(WINDOW *win)
* windows). Note that changing this formula will not break any code,
* merely change the costs of various update cases.
*/
- wide = (begx <= 1 && win->_maxx >= (NewScreen(SP_PARM)->_maxx - 1));
+ wide = (begx <= 1 && win->_maxx >= (newscr->_maxx - 1));
#endif
win->_flags &= ~_HASMOVED;
@@ -144,14 +137,14 @@ wnoutrefresh(WINDOW *win)
/* limit(dst_col) */
limit_x = win->_maxx;
/* limit(src_col) */
- if (limit_x > NewScreen(SP_PARM)->_maxx - begx)
- limit_x = NewScreen(SP_PARM)->_maxx - begx;
+ if (limit_x > newscr->_maxx - begx)
+ limit_x = newscr->_maxx - begx;
for (src_row = 0, dst_row = begy + win->_yoffset;
- src_row <= win->_maxy && dst_row <= NewScreen(SP_PARM)->_maxy;
+ src_row <= win->_maxy && dst_row <= newscr->_maxy;
src_row++, dst_row++) {
- struct ldat *nline = &(NewScreen(SP_PARM)->_line[dst_row]);
- struct ldat *oline = &win->_line[src_row];
+ register struct ldat *nline = &newscr->_line[dst_row];
+ register struct ldat *oline = &win->_line[src_row];
if (oline->firstchar != _NOCHANGE) {
int last_src = oline->lastchar;
@@ -163,7 +156,7 @@ wnoutrefresh(WINDOW *win)
dst_col = src_col + begx;
if_WIDEC({
- int j;
+ register int j;
/*
* Ensure that we will copy complete multi-column characters
@@ -204,7 +197,7 @@ wnoutrefresh(WINDOW *win)
: win->_maxx);
int fix_left = dst_col;
int fix_right = last_dst;
- int j;
+ register int j;
/*
* Check for boundary cases where we may overwrite part of a
@@ -232,8 +225,7 @@ wnoutrefresh(WINDOW *win)
* this character. Find the end of the character.
*/
++j;
- while (j <= NewScreen(SP_PARM)->_maxx &&
- isWidecExt(nline->text[j])) {
+ while (j <= newscr->_maxx && isWidecExt(nline->text[j])) {
fix_right = j++;
}
}
@@ -277,19 +269,18 @@ wnoutrefresh(WINDOW *win)
if (win->_clear) {
win->_clear = FALSE;
- NewScreen(SP_PARM)->_clear = TRUE;
+ newscr->_clear = TRUE;
}
if (!win->_leaveok) {
- NewScreen(SP_PARM)->_cury = (NCURSES_SIZE_T) (win->_cury +
- win->_begy + win->_yoffset);
- NewScreen(SP_PARM)->_curx = (NCURSES_SIZE_T) (win->_curx + win->_begx);
+ newscr->_cury = win->_cury + win->_begy + win->_yoffset;
+ newscr->_curx = win->_curx + win->_begx;
}
- NewScreen(SP_PARM)->_leaveok = win->_leaveok;
+ newscr->_leaveok = win->_leaveok;
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE)) {
- _tracedump("newscr", NewScreen(SP_PARM));
+ _tracedump("newscr", newscr);
_nc_unlock_global(tracef);
}
#endif /* TRACE */
diff --git a/ncurses/base/lib_restart.c b/ncurses/base/lib_restart.c
index b28cfd1f2ffd..da770d4e7c92 100644
--- a/ncurses/base/lib_restart.c
+++ b/ncurses/base/lib_restart.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2008 *
****************************************************************************/
/*
@@ -45,62 +44,49 @@
#define _POSIX_SOURCE
#endif
-MODULE_ID("$Id: lib_restart.c,v 1.13 2009/10/24 22:47:43 tom Exp $")
+#include <term.h> /* lines, columns, cur_term */
+
+MODULE_ID("$Id: lib_restart.c,v 1.10 2008/06/21 17:31:22 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(restartterm) (NCURSES_SP_DCLx
- NCURSES_CONST char *termp,
- int filenum,
- int *errret)
+restartterm(NCURSES_CONST char *termp, int filenum, int *errret)
{
int result;
-#ifdef USE_TERM_DRIVER
- TERMINAL *new_term;
-#endif
- T((T_CALLED("restartterm(%p,%s,%d,%p)"),
- (void *) SP_PARM,
- termp,
- filenum,
- (void *) errret));
+ T((T_CALLED("restartterm(%s,%d,%p)"), termp, filenum, errret));
- if (TINFO_SETUP_TERM(&new_term, termp, filenum, errret, FALSE) != OK) {
+ if (setupterm(termp, filenum, errret) != OK) {
result = ERR;
- } else if (SP_PARM != 0) {
- int saveecho = SP_PARM->_echo;
- int savecbreak = SP_PARM->_cbreak;
- int saveraw = SP_PARM->_raw;
- int savenl = SP_PARM->_nl;
+ } else if (SP != 0) {
+ int saveecho = SP->_echo;
+ int savecbreak = SP->_cbreak;
+ int saveraw = SP->_raw;
+ int savenl = SP->_nl;
-#ifdef USE_TERM_DRIVER
- SP_PARM->_term = new_term;
-#endif
- if (saveecho) {
- NCURSES_SP_NAME(echo) (NCURSES_SP_ARG);
- } else {
- NCURSES_SP_NAME(noecho) (NCURSES_SP_ARG);
- }
+ if (saveecho)
+ echo();
+ else
+ noecho();
if (savecbreak) {
- NCURSES_SP_NAME(cbreak) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(noraw) (NCURSES_SP_ARG);
+ cbreak();
+ noraw();
} else if (saveraw) {
- NCURSES_SP_NAME(nocbreak) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(raw) (NCURSES_SP_ARG);
- } else {
- NCURSES_SP_NAME(nocbreak) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(noraw) (NCURSES_SP_ARG);
- }
- if (savenl) {
- NCURSES_SP_NAME(nl) (NCURSES_SP_ARG);
+ nocbreak();
+ raw();
} else {
- NCURSES_SP_NAME(nonl) (NCURSES_SP_ARG);
+ nocbreak();
+ noraw();
}
+ if (savenl)
+ nl();
+ else
+ nonl();
- NCURSES_SP_NAME(reset_prog_mode) (NCURSES_SP_ARG);
+ reset_prog_mode();
#if USE_SIZECHANGE
- _nc_update_screensize(SP_PARM);
+ _nc_update_screensize(SP);
#endif
result = OK;
@@ -109,11 +95,3 @@ NCURSES_SP_NAME(restartterm) (NCURSES_SP_DCLx
}
returnCode(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-restartterm(NCURSES_CONST char *termp, int filenum, int *errret)
-{
- return NCURSES_SP_NAME(restartterm) (CURRENT_SCREEN, termp, filenum, errret);
-}
-#endif
diff --git a/ncurses/base/lib_scanw.c b/ncurses/base/lib_scanw.c
index a8621e63e172..b8a5a227a1a9 100644
--- a/ncurses/base/lib_scanw.c
+++ b/ncurses/base/lib_scanw.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2001,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,7 +40,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_scanw.c,v 1.12 2009/10/24 22:35:14 tom Exp $")
+MODULE_ID("$Id: lib_scanw.c,v 1.11 2001/06/30 23:39:41 tom Exp $")
NCURSES_EXPORT(int)
vwscanw(WINDOW *win, NCURSES_CONST char *fmt, va_list argp)
@@ -73,7 +73,7 @@ wscanw(WINDOW *win, NCURSES_CONST char *fmt,...)
int code;
va_list ap;
- T(("wscanw(%p,\"%s\",...) called", (void *) win, fmt));
+ T(("wscanw(%p,\"%s\",...) called", win, fmt));
va_start(ap, fmt);
code = vwscanw(win, fmt, ap);
diff --git a/ncurses/base/lib_screen.c b/ncurses/base/lib_screen.c
index 27212b790611..4aa58ea2a19c 100644
--- a/ncurses/base/lib_screen.c
+++ b/ncurses/base/lib_screen.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,45 +30,35 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996 on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
#include <curses.priv.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_screen.c,v 1.38 2009/10/24 22:08:55 tom Exp $")
+MODULE_ID("$Id: lib_screen.c,v 1.31 2008/08/16 19:05:37 tom Exp $")
#define MAX_SIZE 0x3fff /* 16k is big enough for a window or pad */
NCURSES_EXPORT(WINDOW *)
-NCURSES_SP_NAME(getwin) (NCURSES_SP_DCLx FILE *filep)
+getwin(FILE *filep)
{
WINDOW tmp, *nwin;
int n;
- T((T_CALLED("getwin(%p)"), (void *) filep));
+ T((T_CALLED("getwin(%p)"), filep));
clearerr(filep);
- if (fread(&tmp, 1, sizeof(WINDOW), filep) < sizeof(WINDOW)
- || ferror(filep)
+ (void) fread(&tmp, sizeof(WINDOW), 1, filep);
+ if (ferror(filep)
|| tmp._maxy == 0
|| tmp._maxy > MAX_SIZE
|| tmp._maxx == 0
- || tmp._maxx > MAX_SIZE) {
+ || tmp._maxx > MAX_SIZE)
returnWin(0);
- }
if (tmp._flags & _ISPAD) {
- nwin = NCURSES_SP_NAME(newpad) (NCURSES_SP_ARGx
- tmp._maxy + 1,
- tmp._maxx + 1);
+ nwin = newpad(tmp._maxy + 1, tmp._maxx + 1);
} else {
- nwin = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx
- tmp._maxy + 1,
- tmp._maxx + 1, 0, 0);
+ nwin = newwin(tmp._maxy + 1, tmp._maxx + 1, 0, 0);
}
/*
@@ -77,8 +67,6 @@ NCURSES_SP_NAME(getwin) (NCURSES_SP_DCLx FILE *filep)
* made sense is probably gone.
*/
if (nwin != 0) {
- size_t linesize = sizeof(NCURSES_CH_T) * (size_t) (tmp._maxx + 1);
-
nwin->_curx = tmp._curx;
nwin->_cury = tmp._cury;
nwin->_maxy = tmp._maxy;
@@ -110,8 +98,11 @@ NCURSES_SP_NAME(getwin) (NCURSES_SP_DCLx FILE *filep)
for (n = 0; n <= nwin->_maxy; n++) {
clearerr(filep);
- if (fread(nwin->_line[n].text, 1, linesize, filep) < linesize
- || ferror(filep)) {
+ (void) fread(nwin->_line[n].text,
+ sizeof(NCURSES_CH_T),
+ (size_t) (nwin->_maxx + 1),
+ filep);
+ if (ferror(filep)) {
delwin(nwin);
returnWin(0);
}
@@ -121,21 +112,13 @@ NCURSES_SP_NAME(getwin) (NCURSES_SP_DCLx FILE *filep)
returnWin(nwin);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(WINDOW *)
-getwin(FILE *filep)
-{
- return NCURSES_SP_NAME(getwin) (CURRENT_SCREEN, filep);
-}
-#endif
-
NCURSES_EXPORT(int)
putwin(WINDOW *win, FILE *filep)
{
int code = ERR;
int n;
- T((T_CALLED("putwin(%p,%p)"), (void *) win, (void *) filep));
+ T((T_CALLED("putwin(%p,%p)"), win, filep));
if (win != 0) {
size_t len = (size_t) (win->_maxx + 1);
@@ -158,34 +141,26 @@ putwin(WINDOW *win, FILE *filep)
}
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(scr_restore) (NCURSES_SP_DCLx const char *file)
+scr_restore(const char *file)
{
FILE *fp = 0;
- T((T_CALLED("scr_restore(%p,%s)"), (void *) SP_PARM, _nc_visbuf(file)));
+ T((T_CALLED("scr_restore(%s)"), _nc_visbuf(file)));
if (_nc_access(file, R_OK) < 0
|| (fp = fopen(file, "rb")) == 0) {
returnCode(ERR);
} else {
- delwin(NewScreen(SP_PARM));
- NewScreen(SP_PARM) = getwin(fp);
+ delwin(newscr);
+ SP->_newscr = getwin(fp);
#if !USE_REENTRANT
- newscr = NewScreen(SP_PARM);
+ newscr = SP->_newscr;
#endif
(void) fclose(fp);
returnCode(OK);
}
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-scr_restore(const char *file)
-{
- return NCURSES_SP_NAME(scr_restore) (CURRENT_SCREEN, file);
-}
-#endif
-
NCURSES_EXPORT(int)
scr_dump(const char *file)
{
@@ -204,63 +179,42 @@ scr_dump(const char *file)
}
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(scr_init) (NCURSES_SP_DCLx const char *file)
+scr_init(const char *file)
{
FILE *fp = 0;
- int code = ERR;
- T((T_CALLED("scr_init(%p,%s)"), (void *) SP_PARM, _nc_visbuf(file)));
+ T((T_CALLED("scr_init(%s)"), _nc_visbuf(file)));
- if (SP_PARM != 0 &&
-#ifdef USE_TERM_DRIVER
- InfoOf(SP_PARM).caninit
-#else
- !(exit_ca_mode && non_rev_rmcup)
-#endif
- ) {
- if (_nc_access(file, R_OK) >= 0
- && (fp = fopen(file, "rb")) != 0) {
- delwin(CurScreen(SP_PARM));
- CurScreen(SP_PARM) = getwin(fp);
+ if (exit_ca_mode && non_rev_rmcup)
+ returnCode(ERR);
+
+ if (_nc_access(file, R_OK) < 0
+ || (fp = fopen(file, "rb")) == 0) {
+ returnCode(ERR);
+ } else {
+ delwin(curscr);
+ SP->_curscr = getwin(fp);
#if !USE_REENTRANT
- curscr = CurScreen(SP_PARM);
+ curscr = SP->_curscr;
#endif
- (void) fclose(fp);
- code = OK;
- }
+ (void) fclose(fp);
+ returnCode(OK);
}
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-scr_init(const char *file)
-{
- return NCURSES_SP_NAME(scr_init) (CURRENT_SCREEN, file);
}
-#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(scr_set) (NCURSES_SP_DCLx const char *file)
+scr_set(const char *file)
{
- T((T_CALLED("scr_set(%p,%s)"), (void *) SP_PARM, _nc_visbuf(file)));
+ T((T_CALLED("scr_set(%s)"), _nc_visbuf(file)));
- if (NCURSES_SP_NAME(scr_init) (NCURSES_SP_ARGx file) == ERR) {
+ if (scr_init(file) == ERR) {
returnCode(ERR);
} else {
- delwin(NewScreen(SP_PARM));
- NewScreen(SP_PARM) = dupwin(curscr);
+ delwin(newscr);
+ SP->_newscr = dupwin(curscr);
#if !USE_REENTRANT
- newscr = NewScreen(SP_PARM);
+ newscr = SP->_newscr;
#endif
returnCode(OK);
}
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-scr_set(const char *file)
-{
- return NCURSES_SP_NAME(scr_set) (CURRENT_SCREEN, file);
-}
-#endif
diff --git a/ncurses/base/lib_scroll.c b/ncurses/base/lib_scroll.c
index fe4e80804dae..ac85bd55ea1d 100644
--- a/ncurses/base/lib_scroll.c
+++ b/ncurses/base/lib_scroll.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2004,2006 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 *
@@ -43,7 +43,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_scroll.c,v 1.28 2010/12/19 01:48:09 tom Exp $")
+MODULE_ID("$Id: lib_scroll.c,v 1.26 2006/10/14 20:46:08 tom Exp $")
NCURSES_EXPORT(void)
_nc_scroll_window(WINDOW *win,
@@ -55,10 +55,10 @@ _nc_scroll_window(WINDOW *win,
int limit;
int line;
int j;
- size_t to_copy = (sizeof(NCURSES_CH_T) * (size_t) (win->_maxx + 1));
+ size_t to_copy = (size_t) (sizeof(NCURSES_CH_T) * (win->_maxx + 1));
TR(TRACE_MOVE, ("_nc_scroll_window(%p, %d, %ld, %ld)",
- (void *) win, n, (long) top, (long) bottom));
+ win, n, (long) top, (long) bottom));
if (top < 0
|| bottom < top
@@ -135,7 +135,7 @@ _nc_scroll_window(WINDOW *win,
NCURSES_EXPORT(int)
wscrl(WINDOW *win, int n)
{
- T((T_CALLED("wscrl(%p,%d)"), (void *) win, n));
+ T((T_CALLED("wscrl(%p,%d)"), win, n));
if (!win || !win->_scroll) {
TR(TRACE_MOVE, ("...scrollok is false"));
diff --git a/ncurses/base/lib_scrollok.c b/ncurses/base/lib_scrollok.c
index 6a698a368da2..f6b30259be73 100644
--- a/ncurses/base/lib_scrollok.c
+++ b/ncurses/base/lib_scrollok.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,12 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_scrollok.c,v 1.5 2009/10/24 22:35:38 tom Exp $")
+MODULE_ID("$Id: lib_scrollok.c,v 1.4 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
scrollok(WINDOW *win, bool flag)
{
- T((T_CALLED("scrollok(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("scrollok(%p,%d)"), win, flag));
if (win) {
win->_scroll = flag;
diff --git a/ncurses/base/lib_scrreg.c b/ncurses/base/lib_scrreg.c
index 546fbc183a3c..c85d60f1164d 100644
--- a/ncurses/base/lib_scrreg.c
+++ b/ncurses/base/lib_scrreg.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,12 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_scrreg.c,v 1.11 2009/10/24 22:35:28 tom Exp $")
+MODULE_ID("$Id: lib_scrreg.c,v 1.10 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
wsetscrreg(WINDOW *win, int top, int bottom)
{
- T((T_CALLED("wsetscrreg(%p,%d,%d)"), (void *) win, top, bottom));
+ T((T_CALLED("wsetscrreg(%p,%d,%d)"), win, top, bottom));
if (win &&
top >= 0 && top <= win->_maxy &&
diff --git a/ncurses/base/lib_set_term.c b/ncurses/base/lib_set_term.c
index df0a276aef8a..aff432bb9fd1 100644
--- a/ncurses/base/lib_set_term.c
+++ b/ncurses/base/lib_set_term.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -41,21 +40,11 @@
*/
#include <curses.priv.h>
-#include <tic.h>
-
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-MODULE_ID("$Id: lib_set_term.c,v 1.138 2010/12/20 00:42:20 tom Exp $")
+#include <term.h> /* cur_term */
+#include <tic.h>
-#ifdef USE_TERM_DRIVER
-#define MaxColors InfoOf(sp).maxcolors
-#define NumLabels InfoOf(sp).numlabels
-#else
-#define MaxColors max_colors
-#define NumLabels num_labels
-#endif
+MODULE_ID("$Id: lib_set_term.c,v 1.117 2008/08/04 18:11:12 tom Exp $")
NCURSES_EXPORT(SCREEN *)
set_term(SCREEN *screenp)
@@ -63,25 +52,25 @@ set_term(SCREEN *screenp)
SCREEN *oldSP;
SCREEN *newSP;
- T((T_CALLED("set_term(%p)"), (void *) screenp));
+ T((T_CALLED("set_term(%p)"), screenp));
_nc_lock_global(curses);
- oldSP = CURRENT_SCREEN;
+ oldSP = SP;
_nc_set_screen(screenp);
- newSP = screenp;
+ newSP = SP;
if (newSP != 0) {
- TINFO_SET_CURTERM(newSP, newSP->_term);
+ set_curterm(newSP->_term);
#if !USE_REENTRANT
- curscr = CurScreen(newSP);
- newscr = NewScreen(newSP);
- stdscr = StdScreen(newSP);
+ curscr = newSP->_curscr;
+ newscr = newSP->_newscr;
+ stdscr = newSP->_stdscr;
COLORS = newSP->_color_count;
COLOR_PAIRS = newSP->_pair_count;
#endif
} else {
- TINFO_SET_CURTERM(oldSP, 0);
+ set_curterm(0);
#if !USE_REENTRANT
curscr = 0;
newscr = 0;
@@ -93,7 +82,7 @@ set_term(SCREEN *screenp)
_nc_unlock_global(curses);
- T((T_RETURN("%p"), (void *) oldSP));
+ T((T_RETURN("%p"), oldSP));
return (oldSP);
}
@@ -117,7 +106,7 @@ delink_screen(SCREEN *sp)
for (each_screen(temp)) {
if (temp == sp) {
if (last)
- last->_next_screen = sp->_next_screen;
+ last = sp->_next_screen;
else
_nc_screen_chain = sp->_next_screen;
result = TRUE;
@@ -136,27 +125,14 @@ delscreen(SCREEN *sp)
{
int i;
- T((T_CALLED("delscreen(%p)"), (void *) sp));
+ T((T_CALLED("delscreen(%p)"), sp));
_nc_lock_global(curses);
if (delink_screen(sp)) {
-#ifdef USE_SP_RIPOFF
- ripoff_t *rop;
- if (safe_ripoff_sp && safe_ripoff_sp != safe_ripoff_stack) {
- for (rop = safe_ripoff_stack;
- rop != safe_ripoff_sp && (rop - safe_ripoff_stack) < N_RIPS;
- rop++) {
- if (rop->win) {
- (void) delwin(rop->win);
- rop->win = 0;
- }
- }
- }
-#endif
- (void) _nc_freewin(CurScreen(sp));
- (void) _nc_freewin(NewScreen(sp));
- (void) _nc_freewin(StdScreen(sp));
+ (void) _nc_freewin(sp->_curscr);
+ (void) _nc_freewin(sp->_newscr);
+ (void) _nc_freewin(sp->_stdscr);
if (sp->_slk != 0) {
if (sp->_slk->ent != 0) {
@@ -200,7 +176,7 @@ delscreen(SCREEN *sp)
free(sp->_setbuf);
}
- NCURSES_SP_NAME(del_curterm) (NCURSES_SP_ARGx sp->_term);
+ del_curterm(sp->_term);
free(sp);
/*
@@ -208,7 +184,7 @@ delscreen(SCREEN *sp)
* application might try to use (except cur_term, which may have
* multiple references in different screens).
*/
- if (sp == CURRENT_SCREEN) {
+ if (sp == SP) {
#if !USE_REENTRANT
curscr = 0;
newscr = 0;
@@ -272,98 +248,50 @@ extract_fgbg(char *src, int *result)
}
#endif
-#define ReturnScreenError() _nc_set_screen(0); \
- returnCode(ERR)
-
/* OS-independent screen initializations */
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_setupscreen) (
-#if NCURSES_SP_FUNCS
- SCREEN **spp,
-#endif
- int slines,
- int scolumns,
- FILE *output,
- bool filtered,
- int slk_format)
+_nc_setupscreen(int slines GCC_UNUSED,
+ int scolumns GCC_UNUSED,
+ FILE *output,
+ bool filtered,
+ int slk_format)
{
char *env;
int bottom_stolen = 0;
- ripoff_t *rop;
- SCREEN *sp;
-#ifndef USE_TERM_DRIVER
bool support_cookies = USE_XMC_SUPPORT;
-#endif
+ ripoff_t *rop;
T((T_CALLED("_nc_setupscreen(%d, %d, %p, %d, %d)"),
- slines, scolumns, (void *) output, filtered, slk_format));
-
- assert(CURRENT_SCREEN == 0); /* has been reset in newterm() ! */
-
-#if NCURSES_SP_FUNCS
- assert(spp != 0);
- sp = *spp;
+ slines, scolumns, output, filtered, slk_format));
- if (!sp) {
- sp = _nc_alloc_screen_sp();
- *spp = sp;
- }
- if (!sp
- || ((sp->_acs_map = typeCalloc(chtype, ACS_LEN)) == 0)
- || ((sp->_screen_acs_map = typeCalloc(bool, ACS_LEN)) == 0)) {
- ReturnScreenError();
- }
-
- T(("created SP %p", (void *) sp));
- sp->_next_screen = _nc_screen_chain;
- _nc_screen_chain = sp;
-
- if ((sp->_current_attr = typeCalloc(NCURSES_CH_T, 1)) == 0) {
- ReturnScreenError();
- }
-#else
+ assert(SP == 0); /* has been reset in newterm() ! */
if (!_nc_alloc_screen()
|| ((SP->_acs_map = typeCalloc(chtype, ACS_LEN)) == 0)
|| ((SP->_screen_acs_map = typeCalloc(bool, ACS_LEN)) == 0)) {
returnCode(ERR);
}
- T(("created SP %p", (void *) SP));
+ T(("created SP %p", SP));
+ SP->_next_screen = _nc_screen_chain;
+ _nc_screen_chain = SP;
- sp = SP; /* fixup so SET_LINES and SET_COLS works */
- sp->_next_screen = _nc_screen_chain;
- _nc_screen_chain = sp;
-
- if ((sp->_current_attr = typeCalloc(NCURSES_CH_T, 1)) == 0)
+ if ((SP->_current_attr = typeCalloc(NCURSES_CH_T, 1)) == 0)
returnCode(ERR);
-#endif
/*
* We should always check the screensize, just in case.
*/
- _nc_set_screen(sp);
- sp->_term = cur_term;
-#ifdef USE_TERM_DRIVER
- TCBOf(sp)->csp = sp;
- _nc_get_screensize(sp, sp->_term, &slines, &scolumns);
-#else
- _nc_get_screensize(sp, &slines, &scolumns);
-#endif
+ _nc_get_screensize(SP, &slines, &scolumns);
SET_LINES(slines);
SET_COLS(scolumns);
+ T((T_CREATE("screen %s %dx%d"), termname(), LINES, COLS));
- T((T_CREATE("screen %s %dx%d"),
- NCURSES_SP_NAME(termname) (NCURSES_SP_ARG), slines, scolumns));
-
- sp->_filtered = filtered;
+ SP->_filtered = filtered;
/* implement filter mode */
if (filtered) {
slines = 1;
SET_LINES(slines);
-#ifdef USE_TERM_DRIVER
- CallDriver(sp, setfilter);
-#else
clear_screen = 0;
cursor_down = parm_down_cursor = 0;
cursor_address = 0;
@@ -371,25 +299,34 @@ NCURSES_SP_NAME(_nc_setupscreen) (
row_address = 0;
cursor_home = carriage_return;
-#endif
- T(("filter screensize %dx%d", slines, scolumns));
+ T(("filter screensize %dx%d", LINES, COLS));
}
#ifdef __DJGPP__
T(("setting output mode to binary"));
fflush(output);
setmode(output, O_BINARY);
#endif
- NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_ARGx output, TRUE);
- sp->_lines = (NCURSES_SIZE_T) slines;
- sp->_lines_avail = (NCURSES_SIZE_T) slines;
- sp->_columns = (NCURSES_SIZE_T) scolumns;
- sp->_ofp = output;
- SP_PRE_INIT(sp);
- SetNoPadding(sp);
+ _nc_set_buffer(output, TRUE);
+ SP->_term = cur_term;
+ SP->_lines = slines;
+ SP->_lines_avail = slines;
+ SP->_columns = scolumns;
+ SP->_cursrow = -1;
+ SP->_curscol = -1;
+ SP->_nl = TRUE;
+ SP->_raw = FALSE;
+ SP->_cbreak = 0;
+ SP->_echo = TRUE;
+ SP->_fifohead = -1;
+ SP->_endwin = TRUE;
+ SP->_ofp = output;
+ SP->_cursor = -1; /* cannot know real cursor shape */
+
+ SetNoPadding(SP);
#if NCURSES_EXT_FUNCS
- sp->_default_color = FALSE;
- sp->_has_sgr_39_49 = FALSE;
+ SP->_default_color = FALSE;
+ SP->_has_sgr_39_49 = FALSE;
/*
* Set our assumption of the terminal's default foreground and background
@@ -411,11 +348,11 @@ NCURSES_SP_NAME(_nc_setupscreen) (
* or black-on-white display under control of the application than not).
*/
#ifdef USE_ASSUMED_COLOR
- sp->_default_fg = COLOR_WHITE;
- sp->_default_bg = COLOR_BLACK;
+ SP->_default_fg = COLOR_WHITE;
+ SP->_default_bg = COLOR_BLACK;
#else
- sp->_default_fg = C_MASK;
- sp->_default_bg = C_MASK;
+ SP->_default_fg = C_MASK;
+ SP->_default_bg = C_MASK;
#endif
/*
@@ -427,14 +364,14 @@ NCURSES_SP_NAME(_nc_setupscreen) (
char sep1, sep2;
int count = sscanf(env, "%d%c%d%c", &fg, &sep1, &bg, &sep2);
if (count >= 1) {
- sp->_default_fg = ((fg >= 0 && fg < MaxColors) ? fg : C_MASK);
+ SP->_default_fg = (fg >= 0 && fg < max_colors) ? fg : C_MASK;
if (count >= 3) {
- sp->_default_bg = ((bg >= 0 && bg < MaxColors) ? bg : C_MASK);
+ SP->_default_bg = (bg >= 0 && bg < max_colors) ? bg : C_MASK;
}
TR(TRACE_CHARPUT | TRACE_MOVE,
("from environment assumed fg=%d, bg=%d",
- sp->_default_fg,
- sp->_default_bg));
+ SP->_default_fg,
+ SP->_default_bg));
}
}
#if USE_COLORFGBG
@@ -447,51 +384,48 @@ NCURSES_SP_NAME(_nc_setupscreen) (
if (getenv("COLORFGBG") != 0) {
char *p = getenv("COLORFGBG");
TR(TRACE_CHARPUT | TRACE_MOVE, ("decoding COLORFGBG %s", p));
- p = extract_fgbg(p, &(sp->_default_fg));
- p = extract_fgbg(p, &(sp->_default_bg));
+ p = extract_fgbg(p, &(SP->_default_fg));
+ p = extract_fgbg(p, &(SP->_default_bg));
if (*p) /* assume rxvt was compiled with xpm support */
- p = extract_fgbg(p, &(sp->_default_bg));
+ p = extract_fgbg(p, &(SP->_default_bg));
TR(TRACE_CHARPUT | TRACE_MOVE, ("decoded fg=%d, bg=%d",
- sp->_default_fg, sp->_default_bg));
- if (sp->_default_fg >= MaxColors) {
+ SP->_default_fg, SP->_default_bg));
+ if (SP->_default_fg >= max_colors) {
if (set_a_foreground != ABSENT_STRING
&& !strcmp(set_a_foreground, "\033[3%p1%dm")) {
set_a_foreground = "\033[3%?%p1%{8}%>%t9%e%p1%d%;m";
} else {
- sp->_default_fg %= MaxColors;
+ SP->_default_fg %= max_colors;
}
}
- if (sp->_default_bg >= MaxColors) {
+ if (SP->_default_bg >= max_colors) {
if (set_a_background != ABSENT_STRING
&& !strcmp(set_a_background, "\033[4%p1%dm")) {
set_a_background = "\033[4%?%p1%{8}%>%t9%e%p1%d%;m";
} else {
- sp->_default_bg %= MaxColors;
+ SP->_default_bg %= max_colors;
}
}
}
#endif
#endif /* NCURSES_EXT_FUNCS */
- sp->_maxclick = DEFAULT_MAXCLICK;
- sp->_mouse_event = no_mouse_event;
- sp->_mouse_inline = no_mouse_inline;
- sp->_mouse_parse = no_mouse_parse;
- sp->_mouse_resume = no_mouse_resume;
- sp->_mouse_wrap = no_mouse_wrap;
- sp->_mouse_fd = -1;
+ SP->_maxclick = DEFAULT_MAXCLICK;
+ SP->_mouse_event = no_mouse_event;
+ SP->_mouse_inline = no_mouse_inline;
+ SP->_mouse_parse = no_mouse_parse;
+ SP->_mouse_resume = no_mouse_resume;
+ SP->_mouse_wrap = no_mouse_wrap;
+ SP->_mouse_fd = -1;
/*
* If we've no magic cookie support, we suppress attributes that xmc would
* affect, i.e., the attributes that affect the rendition of a space.
*/
- sp->_ok_attributes = NCURSES_SP_NAME(termattrs) (NCURSES_SP_ARG);
- if (NCURSES_SP_NAME(has_colors) (NCURSES_SP_ARG)) {
- sp->_ok_attributes |= A_COLOR;
+ SP->_ok_attributes = termattrs();
+ if (has_colors()) {
+ SP->_ok_attributes |= A_COLOR;
}
-#ifdef USE_TERM_DRIVER
- _nc_cookie_init(sp);
-#else
#if USE_XMC_SUPPORT
/*
* If we have no magic-cookie support compiled-in, or if it is suppressed
@@ -510,7 +444,7 @@ NCURSES_SP_NAME(_nc_setupscreen) (
if (magic_cookie_glitch > 0) { /* tvi, wyse */
- sp->_xmc_triggers = sp->_ok_attributes & (
+ SP->_xmc_triggers = SP->_ok_attributes & (
A_STANDOUT |
A_UNDERLINE |
A_REVERSE |
@@ -527,12 +461,12 @@ NCURSES_SP_NAME(_nc_setupscreen) (
* cookies.
*/
if (has_colors()) {
- sp->_xmc_triggers |= A_COLOR;
+ SP->_xmc_triggers |= A_COLOR;
}
#endif
- sp->_xmc_suppress = sp->_xmc_triggers & (chtype) ~(A_BOLD);
+ SP->_xmc_suppress = SP->_xmc_triggers & (chtype) ~(A_BOLD);
- T(("magic cookie attributes %s", _traceattr(sp->_xmc_suppress)));
+ T(("magic cookie attributes %s", _traceattr(SP->_xmc_suppress)));
/*
* Supporting line-drawing may be possible. But make the regular
* video attributes work first.
@@ -572,7 +506,7 @@ NCURSES_SP_NAME(_nc_setupscreen) (
/* initialize normal acs before wide, since we use mapping in the latter */
#if !USE_WIDEC_SUPPORT
- if (_nc_unicode_locale() && _nc_locale_breaks_acs(sp->_term)) {
+ if (_nc_unicode_locale() && _nc_locale_breaks_acs(cur_term)) {
acs_chars = NULL;
ena_acs = NULL;
enter_alt_charset_mode = NULL;
@@ -580,194 +514,134 @@ NCURSES_SP_NAME(_nc_setupscreen) (
set_attributes = NULL;
}
#endif
-#endif
-
- NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_ARG);
+ _nc_init_acs();
#if USE_WIDEC_SUPPORT
_nc_init_wacs();
- sp->_screen_acs_fix = (_nc_unicode_locale()
- && _nc_locale_breaks_acs(sp->_term));
+ SP->_screen_acs_fix = (_nc_unicode_locale()
+ && _nc_locale_breaks_acs(cur_term));
#endif
env = _nc_get_locale();
- sp->_legacy_coding = ((env == 0)
+ SP->_legacy_coding = ((env == 0)
|| !strcmp(env, "C")
|| !strcmp(env, "POSIX"));
- T(("legacy-coding %d", sp->_legacy_coding));
+ T(("legacy-coding %d", SP->_legacy_coding));
- sp->_nc_sp_idcok = TRUE;
- sp->_nc_sp_idlok = FALSE;
+ _nc_idcok = TRUE;
+ _nc_idlok = FALSE;
- sp->oldhash = 0;
- sp->newhash = 0;
+ SP->oldhash = 0;
+ SP->newhash = 0;
T(("creating newscr"));
- NewScreen(sp) = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx slines, scolumns,
- 0, 0);
- if (NewScreen(sp) == 0) {
- ReturnScreenError();
- }
+ if ((SP->_newscr = newwin(slines, scolumns, 0, 0)) == 0)
+ returnCode(ERR);
+
T(("creating curscr"));
- CurScreen(sp) = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx slines, scolumns,
- 0, 0);
- if (CurScreen(sp) == 0) {
- ReturnScreenError();
- }
+ if ((SP->_curscr = newwin(slines, scolumns, 0, 0)) == 0)
+ returnCode(ERR);
+
#if !USE_REENTRANT
- newscr = NewScreen(sp);
- curscr = CurScreen(sp);
+ newscr = SP->_newscr;
+ curscr = SP->_curscr;
#endif
#if USE_SIZECHANGE
- sp->_resize = NCURSES_SP_NAME(resizeterm);
+ SP->_resize = resizeterm;
#endif
- NewScreen(sp)->_clear = TRUE;
- CurScreen(sp)->_clear = FALSE;
-
- NCURSES_SP_NAME(def_shell_mode) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(def_prog_mode) (NCURSES_SP_ARG);
-
- if (safe_ripoff_sp && safe_ripoff_sp != safe_ripoff_stack) {
- for (rop = safe_ripoff_stack;
- rop != safe_ripoff_sp && (rop - safe_ripoff_stack) < N_RIPS;
- rop++) {
-
- /* If we must simulate soft labels, grab off the line to be used.
- We assume that we must simulate, if it is none of the standard
- formats (4-4 or 3-2-3) for which there may be some hardware
- support. */
- if (rop->hook == _nc_slk_initialize) {
- if (!(NumLabels <= 0 || !SLK_STDFMT(slk_format))) {
- continue;
- }
- }
- if (rop->hook) {
- int count;
- WINDOW *w;
-
- count = (rop->line < 0) ? -rop->line : rop->line;
- T(("ripping off %i lines at %s", count,
- ((rop->line < 0)
- ? "bottom"
- : "top")));
-
- w = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx
- count, scolumns,
- ((rop->line < 0)
- ? sp->_lines_avail - count
- : 0),
- 0);
- if (w) {
- rop->win = w;
- rop->hook(w, scolumns);
- } else {
- ReturnScreenError();
- }
- if (rop->line < 0) {
- bottom_stolen += count;
- } else {
- sp->_topstolen = (NCURSES_SIZE_T) (sp->_topstolen + count);
- }
- sp->_lines_avail = (NCURSES_SIZE_T) (sp->_lines_avail - count);
+ newscr->_clear = TRUE;
+ curscr->_clear = FALSE;
+
+ def_shell_mode();
+ def_prog_mode();
+
+ for (rop = ripoff_stack;
+ rop != ripoff_sp && (rop - ripoff_stack) < N_RIPS;
+ rop++) {
+
+ /* If we must simulate soft labels, grab off the line to be used.
+ We assume that we must simulate, if it is none of the standard
+ formats (4-4 or 3-2-3) for which there may be some hardware
+ support. */
+ if (rop->hook == _nc_slk_initialize)
+ if (!(num_labels <= 0 || !SLK_STDFMT(slk_format)))
+ continue;
+ if (rop->hook) {
+ int count;
+ WINDOW *w;
+
+ count = (rop->line < 0) ? -rop->line : rop->line;
+ T(("ripping off %i lines at %s", count,
+ ((rop->line < 0)
+ ? "bottom"
+ : "top")));
+
+ w = newwin(count, scolumns,
+ ((rop->line < 0)
+ ? SP->_lines_avail - count
+ : 0),
+ 0);
+ if (w) {
+ rop->win = w;
+ rop->hook(w, scolumns);
+ } else {
+ returnCode(ERR);
}
+ if (rop->line < 0)
+ bottom_stolen += count;
+ else
+ SP->_topstolen += count;
+ SP->_lines_avail -= count;
}
- /* reset the stack */
- safe_ripoff_sp = safe_ripoff_stack;
}
+ /* reset the stack */
+ ripoff_sp = ripoff_stack;
T(("creating stdscr"));
- assert((sp->_lines_avail + sp->_topstolen + bottom_stolen) == slines);
- if ((StdScreen(sp) = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx
- sp->_lines_avail,
- scolumns, 0, 0)) == 0) {
- ReturnScreenError();
- }
- SET_LINES(sp->_lines_avail);
+ assert((SP->_lines_avail + SP->_topstolen + bottom_stolen) == slines);
+ if ((SP->_stdscr = newwin(SP->_lines_avail, scolumns, 0, 0)) == 0)
+ returnCode(ERR);
+
+ SET_LINES(SP->_lines_avail);
#if !USE_REENTRANT
- stdscr = StdScreen(sp);
+ stdscr = SP->_stdscr;
#endif
- sp->_prescreen = FALSE;
- returnCode(OK);
-}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-_nc_setupscreen(int slines GCC_UNUSED,
- int scolumns GCC_UNUSED,
- FILE *output,
- bool filtered,
- int slk_format)
-{
- SCREEN *sp = 0;
- int rc = NCURSES_SP_NAME(_nc_setupscreen) (&sp,
- slines,
- scolumns,
- output,
- filtered,
- slk_format);
- if (rc != OK)
- _nc_set_screen(0);
- return rc;
+ returnCode(OK);
}
-#endif
/*
* The internal implementation interprets line as the number of lines to rip
* off from the top or bottom.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_ripoffline) (NCURSES_SP_DCLx
- int line,
- int (*init) (WINDOW *, int))
+_nc_ripoffline(int line, int (*init) (WINDOW *, int))
{
- int code = ERR;
+ T((T_CALLED("_nc_ripoffline(%d, %p)"), line, init));
- START_TRACE();
- T((T_CALLED("ripoffline(%p,%d,%p)"), (void *) SP_PARM, line, init));
+ if (line != 0) {
-#if NCURSES_SP_FUNCS
- if (SP_PARM != 0 && SP_PARM->_prescreen)
-#endif
- {
- if (line == 0) {
- code = OK;
- } else {
- if (safe_ripoff_sp == 0)
- safe_ripoff_sp = safe_ripoff_stack;
- if (safe_ripoff_sp < safe_ripoff_stack + N_RIPS) {
- safe_ripoff_sp->line = line;
- safe_ripoff_sp->hook = init;
- (safe_ripoff_sp)++;
- code = OK;
- }
- }
+ if (ripoff_sp == 0)
+ ripoff_sp = ripoff_stack;
+ if (ripoff_sp >= ripoff_stack + N_RIPS)
+ returnCode(ERR);
+
+ ripoff_sp->line = line;
+ ripoff_sp->hook = init;
+ ripoff_sp++;
}
- returnCode(code);
+ returnCode(OK);
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-_nc_ripoffline(int line, int (*init) (WINDOW *, int))
+ripoffline(int line, int (*init) (WINDOW *, int))
{
- return NCURSES_SP_NAME(_nc_ripoffline) (CURRENT_SCREEN_PRE, line, init);
-}
-#endif
+ START_TRACE();
+ T((T_CALLED("ripoffline(%d,%p)"), line, init));
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(ripoffline) (NCURSES_SP_DCLx
- int line,
- int (*init) (WINDOW *, int))
-{
- return NCURSES_SP_NAME(_nc_ripoffline) (NCURSES_SP_ARGx
- (line < 0) ? -1 : 1,
- init);
-}
+ if (line == 0)
+ returnCode(OK);
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-ripoffline(int line, int (*init) (WINDOW *, int))
-{
- return NCURSES_SP_NAME(ripoffline) (CURRENT_SCREEN_PRE, line, init);
+ returnCode(_nc_ripoffline((line < 0) ? -1 : 1, init));
}
-#endif
diff --git a/ncurses/base/lib_slk.c b/ncurses/base/lib_slk.c
index 84f17ae03705..662f7e45b116 100644
--- a/ncurses/base/lib_slk.c
+++ b/ncurses/base/lib_slk.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,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 *
@@ -41,94 +41,26 @@
*/
#include <curses.priv.h>
-#include <ctype.h>
-
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-MODULE_ID("$Id: lib_slk.c,v 1.48 2011/03/05 21:21:52 tom Exp $")
+#include <ctype.h>
+#include <term.h> /* num_labels, label_*, plab_norm */
-#ifdef USE_TERM_DRIVER
-#define NumLabels InfoOf(SP_PARM).numlabels
-#define NoColorVideo InfoOf(SP_PARM).nocolorvideo
-#define LabelWidth InfoOf(SP_PARM).labelwidth
-#define LabelHeight InfoOf(SP_PARM).labelheight
-#else
-#define NumLabels num_labels
-#define NoColorVideo no_color_video
-#define LabelWidth label_width
-#define LabelHeight label_height
-#endif
+MODULE_ID("$Id: lib_slk.c,v 1.35 2008/09/27 14:07:33 juergen Exp $")
/*
* Free any memory related to soft labels, return an error.
*/
static int
-slk_failed(NCURSES_SP_DCL0)
+slk_failed(void)
{
- if ((0 != SP_PARM) && SP_PARM->_slk) {
- FreeIfNeeded(SP_PARM->_slk->ent);
- free(SP_PARM->_slk);
- SP_PARM->_slk = (SLK *) 0;
+ if (SP->_slk) {
+ FreeIfNeeded(SP->_slk->ent);
+ free(SP->_slk);
+ SP->_slk = (SLK *) 0;
}
return ERR;
}
-NCURSES_EXPORT(int)
-_nc_format_slks(NCURSES_SP_DCLx int cols)
-{
- int gap, i, x;
- int max_length;
-
- if (!SP_PARM || !SP_PARM->_slk)
- return ERR;
-
- max_length = SP_PARM->_slk->maxlen;
- if (SP_PARM->slk_format >= 3) { /* PC style */
- gap = (cols - 3 * (3 + 4 * max_length)) / 2;
-
- if (gap < 1)
- gap = 1;
-
- for (i = x = 0; i < SP_PARM->_slk->maxlab; i++) {
- SP_PARM->_slk->ent[i].ent_x = x;
- x += max_length;
- x += (i == 3 || i == 7) ? gap : 1;
- }
- } else {
- if (SP_PARM->slk_format == 2) { /* 4-4 */
- gap = cols - (int) (SP_PARM->_slk->maxlab * max_length) - 6;
-
- if (gap < 1)
- gap = 1;
- for (i = x = 0; i < SP_PARM->_slk->maxlab; i++) {
- SP_PARM->_slk->ent[i].ent_x = x;
- x += max_length;
- x += (i == 3) ? gap : 1;
- }
- } else {
- if (SP_PARM->slk_format == 1) { /* 1 -> 3-2-3 */
- gap = (cols - (SP_PARM->_slk->maxlab * max_length) - 5)
- / 2;
-
- if (gap < 1)
- gap = 1;
- for (i = x = 0; i < SP_PARM->_slk->maxlab; i++) {
- SP_PARM->_slk->ent[i].ent_x = x;
- x += max_length;
- x += (i == 2 || i == 4) ? gap : 1;
- }
- } else {
- return slk_failed(NCURSES_SP_ARG);
- }
- }
- }
- SP_PARM->_slk->dirty = TRUE;
-
- return OK;
-}
-
/*
* Initialize soft labels.
* Called from newterm()
@@ -136,90 +68,108 @@ _nc_format_slks(NCURSES_SP_DCLx int cols)
NCURSES_EXPORT(int)
_nc_slk_initialize(WINDOW *stwin, int cols)
{
- int i;
+ int i, x;
int res = OK;
- size_t max_length;
- SCREEN *sp;
- int numlab;
+ unsigned max_length;
T((T_CALLED("_nc_slk_initialize()")));
- assert(stwin);
-
- sp = _nc_screen_of(stwin);
- if (0 == sp)
- returnCode(ERR);
-
- assert(TerminalOf(SP_PARM));
-
- numlab = NumLabels;
-
- if (SP_PARM->_slk) { /* we did this already, so simply return */
+ if (SP->_slk) { /* we did this already, so simply return */
returnCode(OK);
- } else if ((SP_PARM->_slk = typeCalloc(SLK, 1)) == 0)
+ } else if ((SP->_slk = typeCalloc(SLK, 1)) == 0)
returnCode(ERR);
- if (!SP_PARM->slk_format)
- SP_PARM->slk_format = _nc_globals.slk_format;
+ SP->_slk->ent = NULL;
/*
* If we use colors, vidputs() will suppress video attributes that conflict
* with colors. In that case, we're still guaranteed that "reverse" would
* work.
*/
- if ((NoColorVideo & 1) == 0)
- SetAttr(SP_PARM->_slk->attr, A_STANDOUT);
+ if ((no_color_video & 1) == 0)
+ SetAttr(SP->_slk->attr, A_STANDOUT);
else
- SetAttr(SP_PARM->_slk->attr, A_REVERSE);
-
- SP_PARM->_slk->maxlab = (short) ((numlab > 0)
- ? numlab
- : MAX_SKEY(SP_PARM->slk_format));
- SP_PARM->_slk->maxlen = (short) ((numlab > 0)
- ? LabelWidth * LabelHeight
- : MAX_SKEY_LEN(SP_PARM->slk_format));
- SP_PARM->_slk->labcnt = (short) ((SP_PARM->_slk->maxlab < MAX_SKEY(SP_PARM->slk_format))
- ? MAX_SKEY(SP_PARM->slk_format)
- : SP_PARM->_slk->maxlab);
-
- if (SP_PARM->_slk->maxlen <= 0
- || SP_PARM->_slk->labcnt <= 0
- || (SP_PARM->_slk->ent = typeCalloc(slk_ent,
- (size_t) SP_PARM->_slk->labcnt))
- == NULL)
- returnCode(slk_failed(NCURSES_SP_ARG));
-
- max_length = (size_t) SP_PARM->_slk->maxlen;
- for (i = 0; i < SP_PARM->_slk->labcnt; i++) {
+ SetAttr(SP->_slk->attr, A_REVERSE);
+
+ SP->_slk->maxlab = ((num_labels > 0)
+ ? num_labels
+ : MAX_SKEY(_nc_globals.slk_format));
+ SP->_slk->maxlen = ((num_labels > 0)
+ ? label_width * label_height
+ : MAX_SKEY_LEN(_nc_globals.slk_format));
+ SP->_slk->labcnt = ((SP->_slk->maxlab < MAX_SKEY(_nc_globals.slk_format))
+ ? MAX_SKEY(_nc_globals.slk_format)
+ : SP->_slk->maxlab);
+
+ if (SP->_slk->maxlen <= 0
+ || SP->_slk->labcnt <= 0
+ || (SP->_slk->ent = typeCalloc(slk_ent,
+ (unsigned) SP->_slk->labcnt)) == NULL)
+ returnCode(slk_failed());
+
+ max_length = SP->_slk->maxlen;
+ for (i = 0; i < SP->_slk->labcnt; i++) {
size_t used = max_length + 1;
- SP_PARM->_slk->ent[i].ent_text = (char *) _nc_doalloc(0, used);
- if (SP_PARM->_slk->ent[i].ent_text == 0)
- returnCode(slk_failed(NCURSES_SP_ARG));
- memset(SP_PARM->_slk->ent[i].ent_text, 0, used);
+ if ((SP->_slk->ent[i].ent_text = (char *) _nc_doalloc(0, used)) == 0)
+ returnCode(slk_failed());
+ memset(SP->_slk->ent[i].ent_text, 0, used);
- SP_PARM->_slk->ent[i].form_text = (char *) _nc_doalloc(0, used);
- if (SP_PARM->_slk->ent[i].form_text == 0)
- returnCode(slk_failed(NCURSES_SP_ARG));
+ if ((SP->_slk->ent[i].form_text = (char *) _nc_doalloc(0, used)) == 0)
+ returnCode(slk_failed());
+ memset(SP->_slk->ent[i].form_text, 0, used);
- if (used > 1) {
- memset(SP_PARM->_slk->ent[i].form_text, ' ', used - 1);
- }
- SP_PARM->_slk->ent[i].form_text[used - 1] = '\0';
-
- SP_PARM->_slk->ent[i].visible = (char) (i < SP_PARM->_slk->maxlab);
+ memset(SP->_slk->ent[i].form_text, ' ', max_length);
+ SP->_slk->ent[i].visible = (char) (i < SP->_slk->maxlab);
}
+ if (_nc_globals.slk_format >= 3) { /* PC style */
+ int gap = (cols - 3 * (3 + 4 * max_length)) / 2;
+
+ if (gap < 1)
+ gap = 1;
- res = _nc_format_slks(NCURSES_SP_ARGx cols);
+ for (i = x = 0; i < SP->_slk->maxlab; i++) {
+ SP->_slk->ent[i].ent_x = x;
+ x += max_length;
+ x += (i == 3 || i == 7) ? gap : 1;
+ }
+ } else {
+ if (_nc_globals.slk_format == 2) { /* 4-4 */
+ int gap = cols - (SP->_slk->maxlab * max_length) - 6;
- if ((SP_PARM->_slk->win = stwin) == NULL) {
- returnCode(slk_failed(NCURSES_SP_ARG));
+ if (gap < 1)
+ gap = 1;
+ for (i = x = 0; i < SP->_slk->maxlab; i++) {
+ SP->_slk->ent[i].ent_x = x;
+ x += max_length;
+ x += (i == 3) ? gap : 1;
+ }
+ } else {
+ if (_nc_globals.slk_format == 1) { /* 1 -> 3-2-3 */
+ int gap = (cols - (SP->_slk->maxlab * max_length) - 5)
+ / 2;
+
+ if (gap < 1)
+ gap = 1;
+ for (i = x = 0; i < SP->_slk->maxlab; i++) {
+ SP->_slk->ent[i].ent_x = x;
+ x += max_length;
+ x += (i == 2 || i == 4) ? gap : 1;
+ }
+ } else
+ returnCode(slk_failed());
+ }
+ }
+ SP->_slk->dirty = TRUE;
+ if ((SP->_slk->win = stwin) == NULL) {
+ returnCode(slk_failed());
}
/* We now reset the format so that the next newterm has again
* per default no SLK keys and may call slk_init again to
* define a new layout. (juergen 03-Mar-1999)
*/
+ SP->slk_format = _nc_globals.slk_format;
_nc_globals.slk_format = 0;
returnCode(res);
}
@@ -228,24 +178,14 @@ _nc_slk_initialize(WINDOW *stwin, int cols)
* Restore the soft labels on the screen.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_restore) (NCURSES_SP_DCL0)
+slk_restore(void)
{
- T((T_CALLED("slk_restore(%p)"), (void *) SP_PARM));
-
- if (0 == SP_PARM)
- returnCode(ERR);
- if (SP_PARM->_slk == NULL)
- returnCode(ERR);
- SP_PARM->_slk->hidden = FALSE;
- SP_PARM->_slk->dirty = TRUE;
+ T((T_CALLED("slk_restore()")));
- returnCode(NCURSES_SP_NAME(slk_refresh) (NCURSES_SP_ARG));
-}
+ if (SP->_slk == NULL)
+ return (ERR);
+ SP->_slk->hidden = FALSE;
+ SP->_slk->dirty = TRUE;
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_restore(void)
-{
- return NCURSES_SP_NAME(slk_restore) (CURRENT_SCREEN);
+ returnCode(slk_refresh());
}
-#endif
diff --git a/ncurses/base/lib_slkatr_set.c b/ncurses/base/lib_slkatr_set.c
index bd5f539672a7..f83616beaf17 100644
--- a/ncurses/base/lib_slkatr_set.c
+++ b/ncurses/base/lib_slkatr_set.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2005 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 *
@@ -28,7 +28,7 @@
/****************************************************************************
* Author: Juergen Pfeifer, 1998 *
- * and: Thomas E. Dickey 2005-on *
+ * and: Thomas E. Dickey 2005 *
****************************************************************************/
/*
@@ -38,42 +38,22 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkatr_set.c,v 1.14 2009/10/24 22:47:03 tom Exp $")
+MODULE_ID("$Id: lib_slkatr_set.c,v 1.10 2005/01/28 21:11:53 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_attr_set) (NCURSES_SP_DCLx
- const attr_t attr,
- short color_pair_number,
- void *opts)
+slk_attr_set(const attr_t attr, short color_pair_number, void *opts)
{
- int code = ERR;
-
- T((T_CALLED("slk_attr_set(%p,%s,%d)"),
- (void *) SP_PARM,
- _traceattr(attr),
- color_pair_number));
+ T((T_CALLED("slk_attr_set(%s,%d)"), _traceattr(attr), color_pair_number));
- if (SP_PARM != 0
- && SP_PARM->_slk != 0
- && !opts
- && color_pair_number >= 0
- && color_pair_number < SP_PARM->_pair_limit) {
- TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- SetAttr(SP_PARM->_slk->attr, attr);
+ if (SP != 0 && SP->_slk != 0 && !opts &&
+ color_pair_number >= 0 && color_pair_number < COLOR_PAIRS) {
+ TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP->_slk->attr))));
+ SetAttr(SP->_slk->attr, attr);
if (color_pair_number > 0) {
- SetPair(SP_PARM->_slk->attr, color_pair_number);
+ SetPair(SP->_slk->attr, color_pair_number);
}
- TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- code = OK;
- }
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_attr_set(const attr_t attr, short color_pair_number, void *opts)
-{
- return NCURSES_SP_NAME(slk_attr_set) (CURRENT_SCREEN, attr,
- color_pair_number, opts);
+ TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr))));
+ returnCode(OK);
+ } else
+ returnCode(ERR);
}
-#endif
diff --git a/ncurses/base/lib_slkatrof.c b/ncurses/base/lib_slkatrof.c
index bb980ab812cf..14b4c3bfadcc 100644
--- a/ncurses/base/lib_slkatrof.c
+++ b/ncurses/base/lib_slkatrof.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2005 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 *
@@ -38,29 +38,21 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkatrof.c,v 1.11 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_slkatrof.c,v 1.8 2005/01/08 23:01:32 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_attroff) (NCURSES_SP_DCLx const chtype attr)
+slk_attroff(const chtype attr)
{
- T((T_CALLED("slk_attroff(%p,%s)"), (void *) SP_PARM, _traceattr(attr)));
+ T((T_CALLED("slk_attroff(%s)"), _traceattr(attr)));
- if (SP_PARM != 0 && SP_PARM->_slk != 0) {
- TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- RemAttr(SP_PARM->_slk->attr, attr);
+ if (SP != 0 && SP->_slk != 0) {
+ TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP->_slk->attr))));
+ RemAttr(SP->_slk->attr, attr);
if ((attr & A_COLOR) != 0) {
- SetPair(SP_PARM->_slk->attr, 0);
+ SetPair(SP->_slk->attr, 0);
}
- TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
+ TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr))));
returnCode(OK);
} else
returnCode(ERR);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_attroff(const chtype attr)
-{
- return NCURSES_SP_NAME(slk_attroff) (CURRENT_SCREEN, attr);
-}
-#endif
diff --git a/ncurses/base/lib_slkatron.c b/ncurses/base/lib_slkatron.c
index bc2fb3308eea..90add86dc1c8 100644
--- a/ncurses/base/lib_slkatron.c
+++ b/ncurses/base/lib_slkatron.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2005 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 *
@@ -38,29 +38,21 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkatron.c,v 1.12 2010/03/31 23:38:02 tom Exp $")
+MODULE_ID("$Id: lib_slkatron.c,v 1.8 2005/01/08 23:02:01 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_attron) (NCURSES_SP_DCLx const chtype attr)
+slk_attron(const chtype attr)
{
- T((T_CALLED("slk_attron(%p,%s)"), (void *) SP_PARM, _traceattr(attr)));
+ T((T_CALLED("slk_attron(%s)"), _traceattr(attr)));
- if (SP_PARM != 0 && SP_PARM->_slk != 0) {
- TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- AddAttr(SP_PARM->_slk->attr, attr);
+ if (SP != 0 && SP->_slk != 0) {
+ TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP->_slk->attr))));
+ AddAttr(SP->_slk->attr, attr);
if ((attr & A_COLOR) != 0) {
- SetPair(SP_PARM->_slk->attr, PairNumber(attr));
+ SetPair(SP->_slk->attr, PAIR_NUMBER(attr));
}
- TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
+ TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr))));
returnCode(OK);
} else
returnCode(ERR);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_attron(const chtype attr)
-{
- return NCURSES_SP_NAME(slk_attron) (CURRENT_SCREEN, attr);
-}
-#endif
diff --git a/ncurses/base/lib_slkatrset.c b/ncurses/base/lib_slkatrset.c
index 544b8d0faab7..8da9981b3b3e 100644
--- a/ncurses/base/lib_slkatrset.c
+++ b/ncurses/base/lib_slkatrset.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2005 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 *
@@ -38,24 +38,16 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkatrset.c,v 1.10 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_slkatrset.c,v 1.7 2005/01/08 21:46:47 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_attrset) (NCURSES_SP_DCLx const chtype attr)
+slk_attrset(const chtype attr)
{
- T((T_CALLED("slk_attrset(%p,%s)"), (void *) SP_PARM, _traceattr(attr)));
+ T((T_CALLED("slk_attrset(%s)"), _traceattr(attr)));
- if (SP_PARM != 0 && SP_PARM->_slk != 0) {
- SetAttr(SP_PARM->_slk->attr, attr);
+ if (SP != 0 && SP->_slk != 0) {
+ SetAttr(SP->_slk->attr, attr);
returnCode(OK);
} else
returnCode(ERR);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_attrset(const chtype attr)
-{
- return NCURSES_SP_NAME(slk_attrset) (CURRENT_SCREEN, attr);
-}
-#endif
diff --git a/ncurses/base/lib_slkattr.c b/ncurses/base/lib_slkattr.c
index bec11e84c667..da82ee5b623e 100644
--- a/ncurses/base/lib_slkattr.c
+++ b/ncurses/base/lib_slkattr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 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 *
@@ -38,27 +38,19 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkattr.c,v 1.11 2010/12/20 01:41:25 tom Exp $")
+MODULE_ID("$Id: lib_slkattr.c,v 1.6 2005/01/08 21:44:28 tom Exp $")
NCURSES_EXPORT(attr_t)
-NCURSES_SP_NAME(slk_attr) (NCURSES_SP_DCL0)
+slk_attr(void)
{
- T((T_CALLED("slk_attr(%p)"), (void *) SP_PARM));
+ T((T_CALLED("slk_attr()")));
- if (SP_PARM != 0 && SP_PARM->_slk != 0) {
- attr_t result = AttrOf(SP_PARM->_slk->attr) & ALL_BUT_COLOR;
- int pair = GetPair(SP_PARM->_slk->attr);
+ if (SP != 0 && SP->_slk != 0) {
+ attr_t result = AttrOf(SP->_slk->attr) & ALL_BUT_COLOR;
+ int pair = GetPair(SP->_slk->attr);
- result |= (attr_t) ColorPair(pair);
+ result |= COLOR_PAIR(pair);
returnAttr(result);
} else
returnAttr(0);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(attr_t)
-slk_attr(void)
-{
- return NCURSES_SP_NAME(slk_attr) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/base/lib_slkclear.c b/ncurses/base/lib_slkclear.c
index 264c8c40812c..946ceeaf0e0d 100644
--- a/ncurses/base/lib_slkclear.c
+++ b/ncurses/base/lib_slkclear.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,35 +40,27 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkclear.c,v 1.14 2009/11/07 16:27:05 tom Exp $")
+MODULE_ID("$Id: lib_slkclear.c,v 1.10 2007/12/29 17:51:47 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_clear) (NCURSES_SP_DCL0)
+slk_clear(void)
{
int rc = ERR;
- T((T_CALLED("slk_clear(%p)"), (void *) SP_PARM));
+ T((T_CALLED("slk_clear()")));
- if (SP_PARM != 0 && SP_PARM->_slk != 0) {
- SP_PARM->_slk->hidden = TRUE;
+ if (SP != NULL && SP->_slk != NULL) {
+ SP->_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 = StdScreen(SP_PARM)->_nc_bkgd;
- WINDOW_ATTRS(SP_PARM->_slk->win) = WINDOW_ATTRS(StdScreen(SP_PARM));
- if (SP_PARM->_slk->win == StdScreen(SP_PARM)) {
+ SP->_slk->win->_nc_bkgd = stdscr->_nc_bkgd;
+ WINDOW_ATTRS(SP->_slk->win) = WINDOW_ATTRS(stdscr);
+ if (SP->_slk->win == stdscr) {
rc = OK;
} else {
- werase(SP_PARM->_slk->win);
- rc = wrefresh(SP_PARM->_slk->win);
+ werase(SP->_slk->win);
+ rc = wrefresh(SP->_slk->win);
}
}
returnCode(rc);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_clear(void)
-{
- return NCURSES_SP_NAME(slk_clear) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/base/lib_slkcolor.c b/ncurses/base/lib_slkcolor.c
index c1211bcb884a..b677b65a529a 100644
--- a/ncurses/base/lib_slkcolor.c
+++ b/ncurses/base/lib_slkcolor.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2005 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 *
@@ -27,8 +27,8 @@
****************************************************************************/
/****************************************************************************
- * Author: Juergen Pfeifer, 1998,2009 *
- * and: Thomas E. Dickey 2005-on *
+ * Author: Juergen Pfeifer, 1998 *
+ * and: Thomas E. Dickey 2005 *
****************************************************************************/
/*
@@ -38,31 +38,19 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkcolor.c,v 1.16 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_slkcolor.c,v 1.12 2005/01/28 21:11:53 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(%p,%d)"), (void *) SP_PARM, color_pair_number));
-
- if (SP_PARM != 0
- && SP_PARM->_slk != 0
- && color_pair_number >= 0
- && color_pair_number < SP_PARM->_pair_limit) {
- TR(TRACE_ATTRS, ("... current is %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- SetPair(SP_PARM->_slk->attr, color_pair_number);
- TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- code = OK;
- }
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
slk_color(short color_pair_number)
{
- return NCURSES_SP_NAME(slk_color) (CURRENT_SCREEN, color_pair_number);
+ T((T_CALLED("slk_color(%d)"), color_pair_number));
+
+ if (SP != 0 && SP->_slk != 0 &&
+ color_pair_number >= 0 && color_pair_number < COLOR_PAIRS) {
+ TR(TRACE_ATTRS, ("... current is %s", _tracech_t(CHREF(SP->_slk->attr))));
+ SetPair(SP->_slk->attr, color_pair_number);
+ TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr))));
+ returnCode(OK);
+ } else
+ returnCode(ERR);
}
-#endif
diff --git a/ncurses/base/lib_slkinit.c b/ncurses/base/lib_slkinit.c
index 9cbdfea98430..c440109b34e6 100644
--- a/ncurses/base/lib_slkinit.c
+++ b/ncurses/base/lib_slkinit.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -40,41 +39,17 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkinit.c,v 1.13 2009/10/31 00:10:46 tom Exp $")
-
-#ifdef USE_SP_RIPOFF
-#define SoftkeyFormat SP_PARM->slk_format
-#else
-#define SoftkeyFormat _nc_globals.slk_format
-#endif
+MODULE_ID("$Id: lib_slkinit.c,v 1.7 2008/01/12 20:23:39 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_init) (NCURSES_SP_DCLx int format)
+slk_init(int format)
{
int code = ERR;
- START_TRACE();
- T((T_CALLED("slk_init(%p,%d)"), (void *) SP_PARM, format));
-
- if (format >= 0
- && format <= 3
-#ifdef USE_SP_RIPOFF
- && SP_PARM
- && SP_PARM->_prescreen
-#endif
- && !SoftkeyFormat) {
- SoftkeyFormat = 1 + format;
- code = NCURSES_SP_NAME(_nc_ripoffline) (NCURSES_SP_ARGx
- -SLK_LINES(SoftkeyFormat),
- _nc_slk_initialize);
+ T((T_CALLED("slk_init(%d)"), format));
+ if (format >= 0 && format <= 3 && !_nc_globals.slk_format) {
+ _nc_globals.slk_format = 1 + format;
+ code = _nc_ripoffline(-SLK_LINES(_nc_globals.slk_format), _nc_slk_initialize);
}
returnCode(code);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_init(int format)
-{
- return NCURSES_SP_NAME(slk_init) (CURRENT_SCREEN_PRE, format);
-}
-#endif
diff --git a/ncurses/base/lib_slklab.c b/ncurses/base/lib_slklab.c
index d0b2a230796a..42bb4ac1425d 100644
--- a/ncurses/base/lib_slklab.c
+++ b/ncurses/base/lib_slklab.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2003 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 *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Juergen Pfeifer, 1998,2009 *
- * and: Thomas E. Dickey 1998-on *
****************************************************************************/
/*
@@ -40,22 +38,14 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slklab.c,v 1.10 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_slklab.c,v 1.7 2003/03/29 22:53:48 tom Exp $")
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(slk_label) (NCURSES_SP_DCLx int n)
+slk_label(int n)
{
- T((T_CALLED("slk_label(%p,%d)"), (void *) SP_PARM, n));
+ T((T_CALLED("slk_label(%d)"), n));
- if (SP_PARM == 0 || SP_PARM->_slk == 0 || n < 1 || n > SP_PARM->_slk->labcnt)
+ if (SP == NULL || SP->_slk == NULL || n < 1 || n > SP->_slk->labcnt)
returnPtr(0);
- returnPtr(SP_PARM->_slk->ent[n - 1].ent_text);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char *)
-slk_label(int n)
-{
- return NCURSES_SP_NAME(slk_label) (CURRENT_SCREEN, n);
+ returnPtr(SP->_slk->ent[n - 1].ent_text);
}
-#endif
diff --git a/ncurses/base/lib_slkrefr.c b/ncurses/base/lib_slkrefr.c
index b06bf8d7f802..cb1beba0e2a1 100644
--- a/ncurses/base/lib_slkrefr.c
+++ b/ncurses/base/lib_slkrefr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,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 *
@@ -38,18 +38,9 @@
* Write SLK window to the (virtual) screen.
*/
#include <curses.priv.h>
+#include <term.h> /* num_labels, label_*, plab_norm */
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_slkrefr.c,v 1.26 2010/05/01 19:17:28 tom Exp $")
-
-#ifdef USE_TERM_DRIVER
-#define NumLabels InfoOf(SP_PARM).numlabels
-#else
-#define NumLabels num_labels
-#endif
+MODULE_ID("$Id: lib_slkrefr.c,v 1.17 2008/09/27 14:07:53 juergen Exp $")
/*
* Paint the info line for the PC style SLK emulation.
@@ -62,7 +53,7 @@ slk_paint_info(WINDOW *win)
if (win && sp && (sp->slk_format == 4)) {
int i;
- (void) mvwhline(win, 0, 0, 0, getmaxx(win));
+ mvwhline(win, 0, 0, 0, getmaxx(win));
wmove(win, 0, 0);
for (i = 0; i < sp->_slk->maxlab; i++) {
@@ -75,47 +66,31 @@ slk_paint_info(WINDOW *win)
* Write the soft labels to the soft-key window.
*/
static void
-slk_intern_refresh(SCREEN *sp)
+slk_intern_refresh(SLK * slk)
{
int i;
- int fmt;
- SLK *slk;
- int numlab;
-
- if (sp == 0)
- return;
-
- slk = sp->_slk;
- fmt = sp->slk_format;
- numlab = NumLabels;
-
- if (slk->hidden)
- return;
+ int fmt = SP->slk_format;
for (i = 0; i < slk->labcnt; i++) {
if (slk->dirty || slk->ent[i].dirty) {
if (slk->ent[i].visible) {
- if (numlab > 0 && SLK_STDFMT(fmt)) {
-#ifdef USE_TERM_DRIVER
- CallDriver_2(sp, hwlabel, i + 1, slk->ent[i].form_text);
-#else
+ if (num_labels > 0 && SLK_STDFMT(fmt)) {
if (i < num_labels) {
TPUTS_TRACE("plab_norm");
putp(TPARM_2(plab_norm, i + 1, slk->ent[i].form_text));
}
-#endif
} else {
if (fmt == 4)
slk_paint_info(slk->win);
wmove(slk->win, SLK_LINES(fmt) - 1, slk->ent[i].ent_x);
- if (sp->_slk) {
- (void) wattrset(slk->win, AttrOf(sp->_slk->attr));
+ if (SP->_slk) {
+ wattrset(slk->win, AttrOf(SP->_slk->attr));
}
waddstr(slk->win, slk->ent[i].form_text);
/* if we simulate SLK's, it's looking much more
natural to use the current ATTRIBUTE also
for the label window */
- (void) wattrset(slk->win, WINDOW_ATTRS(StdScreen(sp)));
+ wattrset(slk->win, WINDOW_ATTRS(stdscr));
}
}
slk->ent[i].dirty = FALSE;
@@ -123,10 +98,7 @@ slk_intern_refresh(SCREEN *sp)
}
slk->dirty = FALSE;
- if (numlab > 0) {
-#ifdef USE_TERM_DRIVER
- CallDriver_1(sp, hwlabelOnOff, slk->hidden ? FALSE : TRUE);
-#else
+ if (num_labels > 0) {
if (slk->hidden) {
TPUTS_TRACE("label_off");
putp(label_off);
@@ -134,7 +106,6 @@ slk_intern_refresh(SCREEN *sp)
TPUTS_TRACE("label_on");
putp(label_on);
}
-#endif
}
}
@@ -142,48 +113,32 @@ slk_intern_refresh(SCREEN *sp)
* Refresh the soft labels.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_noutrefresh) (NCURSES_SP_DCL0)
+slk_noutrefresh(void)
{
- T((T_CALLED("slk_noutrefresh(%p)"), (void *) SP_PARM));
+ T((T_CALLED("slk_noutrefresh()")));
- if (SP_PARM == 0 || SP_PARM->_slk == 0)
+ if (SP == NULL || SP->_slk == NULL)
returnCode(ERR);
- if (SP_PARM->_slk->hidden)
+ if (SP->_slk->hidden)
returnCode(OK);
- slk_intern_refresh(SP_PARM);
+ slk_intern_refresh(SP->_slk);
- returnCode(wnoutrefresh(SP_PARM->_slk->win));
+ returnCode(wnoutrefresh(SP->_slk->win));
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_noutrefresh(void)
-{
- return NCURSES_SP_NAME(slk_noutrefresh) (CURRENT_SCREEN);
-}
-#endif
-
/*
* Refresh the soft labels.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_refresh) (NCURSES_SP_DCL0)
+slk_refresh(void)
{
- T((T_CALLED("slk_refresh(%p)"), (void *) SP_PARM));
+ T((T_CALLED("slk_refresh()")));
- if (SP_PARM == 0 || SP_PARM->_slk == 0)
+ if (SP == NULL || SP->_slk == NULL)
returnCode(ERR);
- if (SP_PARM->_slk->hidden)
+ if (SP->_slk->hidden)
returnCode(OK);
- slk_intern_refresh(SP_PARM);
-
- returnCode(wrefresh(SP_PARM->_slk->win));
-}
+ slk_intern_refresh(SP->_slk);
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_refresh(void)
-{
- return NCURSES_SP_NAME(slk_refresh) (CURRENT_SCREEN);
+ returnCode(wrefresh(SP->_slk->win));
}
-#endif
diff --git a/ncurses/base/lib_slkset.c b/ncurses/base/lib_slkset.c
index 91483f103b23..e19f88e60ac4 100644
--- a/ncurses/base/lib_slkset.c
+++ b/ncurses/base/lib_slkset.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -44,10 +44,10 @@
#endif
#endif
-MODULE_ID("$Id: lib_slkset.c,v 1.21 2010/12/25 23:43:58 tom Exp $")
+MODULE_ID("$Id: lib_slkset.c,v 1.17 2007/10/13 20:08:46 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format)
+slk_set(int i, const char *astr, int format)
{
SLK *slk;
int offset;
@@ -57,20 +57,20 @@ 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(%p, %d, \"%s\", %d)"), (void *) SP_PARM, i, str, format));
+ T((T_CALLED("slk_set(%d, \"%s\", %d)"), i, str, format));
- if (SP_PARM == 0
- || (slk = SP_PARM->_slk) == 0
+ if (SP == 0
+ || (slk = SP->_slk) == 0
|| i < 1
|| i > slk->labcnt
|| format < 0
|| format > 2)
returnCode(ERR);
- if (str == 0)
+ if (str == NULL)
str = "";
--i; /* Adjust numbering of labels */
- limit = MAX_SKEY_LEN(SP_PARM->slk_format);
+ limit = MAX_SKEY_LEN(SP->slk_format);
while (isspace(UChar(*str)))
str++; /* skip over leading spaces */
p = str;
@@ -94,12 +94,12 @@ NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format)
numcols += wcwidth(wc);
p += need;
}
- numchrs = (int) (p - str);
+ numchrs = (p - str);
#else
while (isprint(UChar(*p)))
p++; /* The first non-print stops */
- numcols = (int) (p - str);
+ numcols = (p - str);
if (numcols > limit)
numcols = limit;
numchrs = numcols;
@@ -147,11 +147,3 @@ NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format)
slk->ent[i].dirty = TRUE;
returnCode(OK);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_set(int i, const char *astr, int format)
-{
- return NCURSES_SP_NAME(slk_set) (CURRENT_SCREEN, i, astr, format);
-}
-#endif
diff --git a/ncurses/base/lib_slktouch.c b/ncurses/base/lib_slktouch.c
index ba77fd2375b7..5eb5df385b82 100644
--- a/ncurses/base/lib_slktouch.c
+++ b/ncurses/base/lib_slktouch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 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 *
@@ -27,8 +27,8 @@
****************************************************************************/
/****************************************************************************
- * Author: Juergen Pfeifer 1997,2009 *
- * and: Thomas E. Dickey 1996-on *
+ * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
/*
@@ -38,24 +38,16 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slktouch.c,v 1.8 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_slktouch.c,v 1.5 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_touch) (NCURSES_SP_DCL0)
+slk_touch(void)
{
- T((T_CALLED("slk_touch(%p)"), (void *) SP_PARM));
+ T((T_CALLED("slk_touch()")));
- if (SP_PARM == 0 || SP_PARM->_slk == 0)
+ if (SP == NULL || SP->_slk == NULL)
returnCode(ERR);
- SP_PARM->_slk->dirty = TRUE;
+ SP->_slk->dirty = TRUE;
returnCode(OK);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_touch(void)
-{
- return NCURSES_SP_NAME(slk_touch) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/base/lib_touch.c b/ncurses/base/lib_touch.c
index 8023c7058027..2ac21f2e0d1f 100644
--- a/ncurses/base/lib_touch.c
+++ b/ncurses/base/lib_touch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 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 *
@@ -43,12 +43,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_touch.c,v 1.11 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_touch.c,v 1.9 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(bool)
is_linetouched(WINDOW *win, int line)
{
- T((T_CALLED("is_linetouched(%p,%d)"), (void *) win, line));
+ T((T_CALLED("is_linetouched(%p,%d)"), win, line));
/* XSI doesn't define any error */
if (!win || (line > win->_maxy) || (line < 0))
@@ -62,7 +62,7 @@ is_wintouched(WINDOW *win)
{
int i;
- T((T_CALLED("is_wintouched(%p)"), (void *) win));
+ T((T_CALLED("is_wintouched(%p)"), win));
if (win)
for (i = 0; i <= win->_maxy; i++)
@@ -76,7 +76,7 @@ wtouchln(WINDOW *win, int y, int n, int changed)
{
int i;
- T((T_CALLED("wtouchln(%p,%d,%d,%d)"), (void *) win, y, n, changed));
+ T((T_CALLED("wtouchln(%p,%d,%d,%d)"), win, y, n, changed));
if (!win || (n < 0) || (y < 0) || (y > win->_maxy))
returnCode(ERR);
@@ -85,9 +85,7 @@ wtouchln(WINDOW *win, int y, int n, int changed)
if (i > win->_maxy)
break;
win->_line[i].firstchar = changed ? 0 : _NOCHANGE;
- win->_line[i].lastchar = (NCURSES_SIZE_T) (changed
- ? win->_maxx
- : _NOCHANGE);
+ win->_line[i].lastchar = changed ? win->_maxx : _NOCHANGE;
}
returnCode(OK);
}
diff --git a/ncurses/base/lib_ungetch.c b/ncurses/base/lib_ungetch.c
index 63a14cff7594..8742f867fa94 100644
--- a/ncurses/base/lib_ungetch.c
+++ b/ncurses/base/lib_ungetch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,7 +41,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_ungetch.c,v 1.14 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_ungetch.c,v 1.11 2008/05/31 16:44:54 tom Exp $")
#include <fifo_defs.h>
@@ -58,12 +57,10 @@ _nc_fifo_dump(SCREEN *sp)
#endif /* TRACE */
NCURSES_EXPORT(int)
-safe_ungetch(SCREEN *sp, int ch)
+_nc_ungetch(SCREEN *sp, int ch)
{
int rc = ERR;
- T((T_CALLED("ungetch(%p,%s)"), (void *) sp, _nc_tracechar(sp, ch)));
-
if (tail != -1) {
if (head == -1) {
head = 0;
@@ -82,11 +79,12 @@ safe_ungetch(SCREEN *sp, int ch)
#endif
rc = OK;
}
- returnCode(rc);
+ return rc;
}
NCURSES_EXPORT(int)
ungetch(int ch)
{
- return safe_ungetch(CURRENT_SCREEN, ch);
+ T((T_CALLED("ungetch(%s)"), _nc_tracechar(SP, ch)));
+ returnCode(_nc_ungetch(SP, ch));
}
diff --git a/ncurses/base/lib_vline.c b/ncurses/base/lib_vline.c
index 2f3148eca77c..1a2537e7eb6a 100644
--- a/ncurses/base/lib_vline.c
+++ b/ncurses/base/lib_vline.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,16 +40,16 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_vline.c,v 1.12 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_vline.c,v 1.10 2006/03/11 21:52:19 tom Exp $")
NCURSES_EXPORT(int)
wvline(WINDOW *win, chtype ch, int n)
{
int code = ERR;
- int row, col;
- int end;
+ NCURSES_SIZE_T row, col;
+ NCURSES_SIZE_T end;
- T((T_CALLED("wvline(%p,%s,%d)"), (void *) win, _tracechtype(ch), n));
+ T((T_CALLED("wvline(%p,%s,%d)"), win, _tracechtype(ch), n));
if (win) {
NCURSES_CH_T wch;
diff --git a/ncurses/base/lib_wattroff.c b/ncurses/base/lib_wattroff.c
index fff0b395f1d8..bf2020e06027 100644
--- a/ncurses/base/lib_wattroff.c
+++ b/ncurses/base/lib_wattroff.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2006 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 *
@@ -42,12 +42,12 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_wattroff.c,v 1.10 2009/10/24 22:36:08 tom Exp $")
+MODULE_ID("$Id: lib_wattroff.c,v 1.9 2006/05/27 19:30:33 tom Exp $")
NCURSES_EXPORT(int)
wattr_off(WINDOW *win, attr_t at, void *opts GCC_UNUSED)
{
- T((T_CALLED("wattr_off(%p,%s)"), (void *) win, _traceattr(at)));
+ T((T_CALLED("wattr_off(%p,%s)"), win, _traceattr(at)));
if (win) {
T(("... current %s (%d)",
_traceattr(WINDOW_ATTRS(win)),
diff --git a/ncurses/base/lib_wattron.c b/ncurses/base/lib_wattron.c
index 3806285e2a38..2e17d965e94a 100644
--- a/ncurses/base/lib_wattron.c
+++ b/ncurses/base/lib_wattron.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2006 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 *
@@ -42,12 +42,12 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_wattron.c,v 1.11 2010/03/31 23:38:02 tom Exp $")
+MODULE_ID("$Id: lib_wattron.c,v 1.9 2006/05/27 19:30:46 tom Exp $")
NCURSES_EXPORT(int)
wattr_on(WINDOW *win, attr_t at, void *opts GCC_UNUSED)
{
- T((T_CALLED("wattr_on(%p,%s)"), (void *) win, _traceattr(at)));
+ T((T_CALLED("wattr_on(%p,%s)"), win, _traceattr(at)));
if (win != 0) {
T(("... current %s (%d)",
_traceattr(WINDOW_ATTRS(win)),
@@ -55,7 +55,7 @@ wattr_on(WINDOW *win, attr_t at, void *opts GCC_UNUSED)
if_EXT_COLORS({
if (at & A_COLOR)
- win->_color = PairNumber(at);
+ win->_color = PAIR_NUMBER(at);
});
toggle_attr_on(WINDOW_ATTRS(win), at);
returnCode(OK);
diff --git a/ncurses/base/lib_winch.c b/ncurses/base/lib_winch.c
index 7e75f85bf390..18da9c594945 100644
--- a/ncurses/base/lib_winch.c
+++ b/ncurses/base/lib_winch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000,2001 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,16 +39,16 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_winch.c,v 1.8 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_winch.c,v 1.5 2001/06/02 23:42:08 skimo Exp $")
NCURSES_EXPORT(chtype)
winch(WINDOW *win)
{
- T((T_CALLED("winch(%p)"), (void *) win));
+ T((T_CALLED("winch(%p)"), win));
if (win != 0) {
- returnChtype((chtype) CharOf(win->_line[win->_cury].text[win->_curx])
- | AttrOf(win->_line[win->_cury].text[win->_curx]));
+ returnChar(CharOf(win->_line[win->_cury].text[win->_curx]) |
+ AttrOf(win->_line[win->_cury].text[win->_curx]));
} else {
- returnChtype(0);
+ returnChar(0);
}
}
diff --git a/ncurses/base/lib_window.c b/ncurses/base/lib_window.c
index 4baa36943c44..a3236e206a37 100644
--- a/ncurses/base/lib_window.c
+++ b/ncurses/base/lib_window.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -39,7 +39,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_window.c,v 1.29 2010/12/19 01:47:22 tom Exp $")
+MODULE_ID("$Id: lib_window.c,v 1.25 2008/06/07 14:12:56 tom Exp $")
NCURSES_EXPORT(void)
_nc_synchook(WINDOW *win)
@@ -57,30 +57,32 @@ mvderwin(WINDOW *win, int y, int x)
{
WINDOW *orig;
int i;
- int rc = ERR;
- T((T_CALLED("mvderwin(%p,%d,%d)"), (void *) win, y, x));
+ T((T_CALLED("mvderwin(%p,%d,%d)"), win, y, x));
- if (win != 0
- && (orig = win->_parent) != 0
- && (x >= 0 && y >= 0)
- && (x + getmaxx(win) <= getmaxx(orig))
- && (y + getmaxy(win) <= getmaxy(orig))) {
- wsyncup(win);
- win->_parx = x;
- win->_pary = y;
- for (i = 0; i < getmaxy(win); i++)
- win->_line[i].text = &(orig->_line[y++].text[x]);
- rc = OK;
- }
- returnCode(rc);
+ if (win && (orig = win->_parent)) {
+ if (win->_parx == x && win->_pary == y)
+ returnCode(OK);
+ if (x < 0 || y < 0)
+ returnCode(ERR);
+ if ((x + getmaxx(win) > getmaxx(orig)) ||
+ (y + getmaxy(win) > getmaxy(orig)))
+ returnCode(ERR);
+ } else
+ returnCode(ERR);
+ wsyncup(win);
+ win->_parx = x;
+ win->_pary = y;
+ for (i = 0; i < getmaxy(win); i++)
+ win->_line[i].text = &(orig->_line[y++].text[x]);
+ returnCode(OK);
}
NCURSES_EXPORT(int)
syncok(WINDOW *win, bool bf)
/* enable/disable automatic wsyncup() on each change to window */
{
- T((T_CALLED("syncok(%p,%d)"), (void *) win, bf));
+ T((T_CALLED("syncok(%p,%d)"), win, bf));
if (win) {
win->_sync = bf;
@@ -96,7 +98,7 @@ wsyncup(WINDOW *win)
{
WINDOW *wp;
- T((T_CALLED("wsyncup(%p)"), (void *) win));
+ T((T_CALLED("wsyncup(%p)"), win));
if (win && win->_parent) {
for (wp = win; wp->_parent; wp = wp->_parent) {
int y;
@@ -126,7 +128,7 @@ wsyncdown(WINDOW *win)
/* mark changed every cell in win that is changed in any of its ancestors */
/* Rewritten by J. Pfeifer, 1-Apr-96 (don't even think that...) */
{
- T((T_CALLED("wsyncdown(%p)"), (void *) win));
+ T((T_CALLED("wsyncdown(%p)"), win));
if (win && win->_parent) {
WINDOW *pp = win->_parent;
@@ -165,7 +167,7 @@ wcursyncup(WINDOW *win)
{
WINDOW *wp;
- T((T_CALLED("wcursyncup(%p)"), (void *) win));
+ T((T_CALLED("wcursyncup(%p)"), win));
for (wp = win; wp && wp->_parent; wp = wp->_parent) {
wmove(wp->_parent, wp->_pary + wp->_cury, wp->_parx + wp->_curx);
}
@@ -180,23 +182,19 @@ dupwin(WINDOW *win)
size_t linesize;
int i;
- T((T_CALLED("dupwin(%p)"), (void *) win));
+ T((T_CALLED("dupwin(%p)"), win));
if (win != 0) {
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(win);
-#endif
+
_nc_lock_global(curses);
if (win->_flags & _ISPAD) {
- nwin = NCURSES_SP_NAME(newpad) (NCURSES_SP_ARGx
- win->_maxy + 1,
- win->_maxx + 1);
+ nwin = newpad(win->_maxy + 1,
+ win->_maxx + 1);
} else {
- nwin = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx
- win->_maxy + 1,
- win->_maxx + 1,
- win->_begy,
- win->_begx);
+ nwin = newwin(win->_maxy + 1,
+ win->_maxx + 1,
+ win->_begy,
+ win->_begx);
}
if (nwin != 0) {
@@ -239,7 +237,7 @@ dupwin(WINDOW *win)
if (win->_flags & _ISPAD)
nwin->_pad = win->_pad;
- linesize = (unsigned) (win->_maxx + 1) * sizeof(NCURSES_CH_T);
+ linesize = (win->_maxx + 1) * sizeof(NCURSES_CH_T);
for (i = 0; i <= nwin->_maxy; i++) {
memcpy(nwin->_line[i].text, win->_line[i].text, linesize);
nwin->_line[i].firstchar = win->_line[i].firstchar;
diff --git a/ncurses/base/nc_panel.c b/ncurses/base/nc_panel.c
index 69b10bc0c662..59bfbbe86ef6 100644
--- a/ncurses/base/nc_panel.c
+++ b/ncurses/base/nc_panel.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 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 *
@@ -32,22 +32,10 @@
#include <curses.priv.h>
-MODULE_ID("$Id: nc_panel.c,v 1.5 2009/04/11 21:05:10 tom Exp $")
+MODULE_ID("$Id: nc_panel.c,v 1.4 2000/12/10 02:43:28 tom Exp $")
NCURSES_EXPORT(struct panelhook *)
-NCURSES_SP_NAME(_nc_panelhook) (NCURSES_SP_DCL0)
-{
- return (SP_PARM
- ? &(SP_PARM->_panelHook)
- : (CURRENT_SCREEN
- ? &(CURRENT_SCREEN->_panelHook)
- : 0));
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(struct panelhook *)
_nc_panelhook(void)
{
- return NCURSES_SP_NAME(_nc_panelhook) (CURRENT_SCREEN);
+ return (SP ? &(SP->_panelHook) : NULL);
}
-#endif
diff --git a/ncurses/base/resizeterm.c b/ncurses/base/resizeterm.c
index 3f1d36e89d7a..a94cfc3aaaa8 100644
--- a/ncurses/base/resizeterm.c
+++ b/ncurses/base/resizeterm.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -28,7 +28,6 @@
/****************************************************************************
* Author: Thomas E. Dickey *
- * and: Juergen Pfeifer *
****************************************************************************/
/*
@@ -40,12 +39,11 @@
*/
#include <curses.priv.h>
+#include <term.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
+MODULE_ID("$Id: resizeterm.c,v 1.34 2008/06/07 13:58:40 tom Exp $")
-MODULE_ID("$Id: resizeterm.c,v 1.43 2011/01/10 01:34:49 tom Exp $")
+#define stolen_lines (screen_lines - SP->_lines_avail)
/*
* If we're trying to be reentrant, do not want any local statics.
@@ -66,23 +64,18 @@ static int current_cols;
static void
show_window_sizes(const char *name)
{
- SCREEN *sp;
WINDOWLIST *wp;
_nc_lock_global(curses);
- for (each_screen(sp)) {
- _tracef("%s resizing: %p: %2d x %2d (%2d x %2d)", name, (void *) sp,
- *(ptrLines(sp)),
- *(ptrCols(sp)),
- screen_lines(sp), screen_columns(sp));
- for (each_window(sp, wp)) {
- _tracef(" window %p is %2ld x %2ld at %2ld,%2ld",
- (void *) &(wp->win),
- (long) wp->win._maxy + 1,
- (long) wp->win._maxx + 1,
- (long) wp->win._begy,
- (long) wp->win._begx);
- }
+ _tracef("%s resizing: %2d x %2d (%2d x %2d)", name, LINES, COLS,
+ screen_lines, screen_columns);
+ for (each_window(wp)) {
+ _tracef(" window %p is %2ld x %2ld at %2ld,%2ld",
+ &(wp->win),
+ (long) wp->win._maxy + 1,
+ (long) wp->win._maxx + 1,
+ (long) wp->win._begy,
+ (long) wp->win._begx);
}
_nc_unlock_global(curses);
}
@@ -93,23 +86,15 @@ show_window_sizes(const char *name)
* structure's size.
*/
NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(is_term_resized) (NCURSES_SP_DCLx int ToLines, int ToCols)
+is_term_resized(int ToLines, int ToCols)
{
- T((T_CALLED("is_term_resized(%p, %d, %d)"), (void *) SP_PARM, ToLines, ToCols));
+ T((T_CALLED("is_term_resized(%d, %d)"), ToLines, ToCols));
returnCode(ToLines > 0
&& ToCols > 0
- && (ToLines != screen_lines(SP_PARM)
- || ToCols != screen_columns(SP_PARM)));
+ && (ToLines != screen_lines
+ || ToCols != screen_columns));
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(bool)
-is_term_resized(int ToLines, int ToCols)
-{
- return NCURSES_SP_NAME(is_term_resized) (CURRENT_SCREEN, ToLines, ToCols);
-}
-#endif
-
/*
*/
static ripoff_t *
@@ -119,9 +104,6 @@ ripped_window(WINDOW *win)
ripoff_t *rop;
if (win != 0) {
-#ifdef USE_SP_RIPOFF
- SCREEN *sp = _nc_screen_of(win);
-#endif
for (each_ripoff(rop)) {
if (rop->win == win && rop->line != 0) {
result = rop;
@@ -143,9 +125,6 @@ ripped_bottom(WINDOW *win)
ripoff_t *rop;
if (win != 0) {
-#ifdef USE_SP_RIPOFF
- SCREEN *sp = _nc_screen_of(win);
-#endif
for (each_ripoff(rop)) {
if (rop->line < 0) {
result -= rop->line;
@@ -167,12 +146,9 @@ child_depth(WINDOW *cmp)
int depth = 0;
if (cmp != 0) {
-#ifdef USE_SP_WINDOWLIST
- SCREEN *sp = _nc_screen_of(cmp);
-#endif
WINDOWLIST *wp;
- for (each_window(sp, wp)) {
+ for (each_window(wp)) {
WINDOW *tst = &(wp->win);
if (tst->_parent == cmp) {
depth = 1 + child_depth(tst);
@@ -208,13 +184,13 @@ static int
adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen EXTRA_DCLS)
{
int result;
- int bottom = CurLines + _nc_screen_of(win)->_topstolen - stolen;
+ int bottom = CurLines + SP->_topstolen - stolen;
int myLines = win->_maxy + 1;
int myCols = win->_maxx + 1;
ripoff_t *rop = ripped_window(win);
T((T_CALLED("adjust_window(%p,%d,%d)%s depth %d/%d currently %ldx%ld at %ld,%ld"),
- (void *) win, ToLines, ToCols,
+ win, ToLines, ToCols,
(rop != 0) ? " (rip)" : "",
parent_depth(win),
child_depth(win),
@@ -226,19 +202,13 @@ adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen EXTRA_DCLS)
* If it is a ripped-off window at the bottom of the screen, simply
* move it to the same relative position.
*/
- win->_begy = (NCURSES_SIZE_T) (ToLines - ripped_bottom(win) - 0 - win->_yoffset);
- if (rop->hook == _nc_slk_initialize)
- _nc_format_slks(
-#if NCURSES_SP_FUNCS
- _nc_screen_of(win),
-#endif
- ToCols);
+ win->_begy = ToLines - ripped_bottom(win) - 0 - win->_yoffset;
} else if (win->_begy >= bottom) {
/*
* If it is below the bottom of the new screen, move up by the same
* amount that the screen shrank.
*/
- win->_begy = (NCURSES_SIZE_T) (win->_begy + (ToLines - CurLines));
+ win->_begy += (ToLines - CurLines);
} else {
if (myLines == (CurLines - stolen)
&& ToLines != CurLines) {
@@ -269,19 +239,19 @@ adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen EXTRA_DCLS)
* children, decrease those to fit, then decrease the containing window, etc.
*/
static int
-decrease_size(NCURSES_SP_DCLx int ToLines, int ToCols, int stolen EXTRA_DCLS)
+decrease_size(int ToLines, int ToCols, int stolen EXTRA_DCLS)
{
bool found;
int depth = 0;
WINDOWLIST *wp;
- T((T_CALLED("decrease_size(%p, %d, %d)"), (void *) SP_PARM, ToLines, ToCols));
+ T((T_CALLED("decrease_size(%d, %d)"), ToLines, ToCols));
do {
found = FALSE;
TR(TRACE_UPDATE, ("decreasing size of windows to %dx%d, depth=%d",
ToLines, ToCols, depth));
- for (each_window(SP_PARM, wp)) {
+ for (each_window(wp)) {
WINDOW *win = &(wp->win);
if (!(win->_flags & _ISPAD)) {
@@ -303,19 +273,19 @@ decrease_size(NCURSES_SP_DCLx int ToLines, int ToCols, int stolen EXTRA_DCLS)
* parent, increase those to fit, then increase the contained window, etc.
*/
static int
-increase_size(NCURSES_SP_DCLx int ToLines, int ToCols, int stolen EXTRA_DCLS)
+increase_size(int ToLines, int ToCols, int stolen EXTRA_DCLS)
{
bool found;
int depth = 0;
WINDOWLIST *wp;
- T((T_CALLED("increase_size(%p, %d, %d)"), (void *) SP_PARM, ToLines, ToCols));
+ T((T_CALLED("increase_size(%d, %d)"), ToLines, ToCols));
do {
found = FALSE;
TR(TRACE_UPDATE, ("increasing size of windows to %dx%d, depth=%d",
ToLines, ToCols, depth));
- for (each_window(SP_PARM, wp)) {
+ for (each_window(wp)) {
WINDOW *win = &(wp->win);
if (!(win->_flags & _ISPAD)) {
@@ -337,26 +307,25 @@ increase_size(NCURSES_SP_DCLx int ToLines, int ToCols, int stolen EXTRA_DCLS)
* such as ungetch().
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(resize_term) (NCURSES_SP_DCLx int ToLines, int ToCols)
+resize_term(int ToLines, int ToCols)
{
int result = OK EXTRA_ARGS;
int was_stolen;
- T((T_CALLED("resize_term(%p,%d,%d) old(%d,%d)"),
- (void *) SP_PARM, ToLines, ToCols,
- (SP_PARM == 0) ? -1 : screen_lines(SP_PARM),
- (SP_PARM == 0) ? -1 : screen_columns(SP_PARM)));
+ T((T_CALLED("resize_term(%d,%d) old(%d,%d)"),
+ ToLines, ToCols,
+ screen_lines, screen_columns));
- if (SP_PARM == 0) {
+ if (SP == 0) {
returnCode(ERR);
}
- _nc_nonsp_lock_global(curses);
+ _nc_lock_global(curses);
- was_stolen = (screen_lines(SP_PARM) - SP_PARM->_lines_avail);
- if (NCURSES_SP_NAME(is_term_resized) (NCURSES_SP_ARGx ToLines, ToCols)) {
- int myLines = CurLines = screen_lines(SP_PARM);
- int myCols = CurCols = screen_columns(SP_PARM);
+ was_stolen = (screen_lines - SP->_lines_avail);
+ if (is_term_resized(ToLines, ToCols)) {
+ int myLines = CurLines = screen_lines;
+ int myCols = CurCols = screen_columns;
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE)) {
@@ -364,42 +333,33 @@ NCURSES_SP_NAME(resize_term) (NCURSES_SP_DCLx int ToLines, int ToCols)
_nc_unlock_global(tracef);
}
#endif
- if (ToLines > screen_lines(SP_PARM)) {
- increase_size(NCURSES_SP_ARGx
- myLines = ToLines, myCols, was_stolen EXTRA_ARGS);
+ if (ToLines > screen_lines) {
+ increase_size(myLines = ToLines, myCols, was_stolen EXTRA_ARGS);
CurLines = myLines;
CurCols = myCols;
}
- if (ToCols > screen_columns(SP_PARM)) {
- increase_size(NCURSES_SP_ARGx
- myLines, myCols = ToCols, was_stolen EXTRA_ARGS);
+ if (ToCols > screen_columns) {
+ increase_size(myLines, myCols = ToCols, was_stolen EXTRA_ARGS);
CurLines = myLines;
CurCols = myCols;
}
if (ToLines < myLines ||
ToCols < myCols) {
- decrease_size(NCURSES_SP_ARGx ToLines, ToCols, was_stolen EXTRA_ARGS);
+ decrease_size(ToLines, ToCols, was_stolen EXTRA_ARGS);
}
- screen_lines(SP_PARM) = (NCURSES_SIZE_T) ToLines;
- screen_columns(SP_PARM) = (NCURSES_SIZE_T) ToCols;
+ screen_lines = lines = ToLines;
+ screen_columns = columns = ToCols;
-#ifdef USE_TERM_DRIVER
- CallDriver_2(SP_PARM, setsize, ToLines, ToCols);
-#else
- lines = (NCURSES_SIZE_T) ToLines;
- columns = (NCURSES_SIZE_T) ToCols;
-#endif
+ SP->_lines_avail = lines - was_stolen;
- SP_PARM->_lines_avail = (NCURSES_SIZE_T) (ToLines - was_stolen);
-
- if (SP_PARM->oldhash) {
- FreeAndNull(SP_PARM->oldhash);
+ if (SP->oldhash) {
+ FreeAndNull(SP->oldhash);
}
- if (SP_PARM->newhash) {
- FreeAndNull(SP_PARM->newhash);
+ if (SP->newhash) {
+ FreeAndNull(SP->newhash);
}
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE)) {
@@ -418,23 +378,11 @@ NCURSES_SP_NAME(resize_term) (NCURSES_SP_DCLx int ToLines, int ToCols)
SET_LINES(ToLines - was_stolen);
SET_COLS(ToCols);
- _nc_nonsp_unlock_global(curses);
+ _nc_unlock_global(curses);
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-resize_term(int ToLines, int ToCols)
-{
- int res = ERR;
- _nc_sp_lock_global(curses);
- res = NCURSES_SP_NAME(resize_term) (CURRENT_SCREEN, ToLines, ToCols);
- _nc_sp_unlock_global(curses);
- return (res);
-}
-#endif
-
/*
* This function reallocates NCURSES window structures. It is invoked in
* response to a SIGWINCH interrupt. Other user-defined windows may also need
@@ -444,35 +392,34 @@ resize_term(int ToLines, int ToCols)
* invoked directly from the signal handler.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(resizeterm) (NCURSES_SP_DCLx int ToLines, int ToCols)
+resizeterm(int ToLines, int ToCols)
{
int result = ERR;
- T((T_CALLED("resizeterm(%p, %d,%d) old(%d,%d)"),
- (void *) SP_PARM, ToLines, ToCols,
- (SP_PARM == 0) ? -1 : screen_lines(SP_PARM),
- (SP_PARM == 0) ? -1 : screen_columns(SP_PARM)));
+ T((T_CALLED("resizeterm(%d,%d) old(%d,%d)"),
+ ToLines, ToCols,
+ screen_lines, screen_columns));
- if (SP_PARM != 0) {
+ if (SP != 0) {
result = OK;
- SP_PARM->_sig_winch = FALSE;
+ SP->_sig_winch = FALSE;
- if (NCURSES_SP_NAME(is_term_resized) (NCURSES_SP_ARGx ToLines, ToCols)) {
+ if (is_term_resized(ToLines, ToCols)) {
#if USE_SIGWINCH
ripoff_t *rop;
- bool slk_visible = (SP_PARM != 0
- && SP_PARM->_slk != 0
- && !(SP_PARM->_slk->hidden));
+ bool slk_visible = (SP != 0
+ && SP->_slk != 0
+ && !(SP->_slk->hidden));
if (slk_visible) {
slk_clear();
}
#endif
- result = NCURSES_SP_NAME(resize_term) (NCURSES_SP_ARGx ToLines, ToCols);
+ result = resize_term(ToLines, ToCols);
#if USE_SIGWINCH
- safe_ungetch(SP_PARM, KEY_RESIZE); /* so application can know this */
- clearok(CurScreen(SP_PARM), TRUE); /* screen contents are unknown */
+ _nc_ungetch(SP, KEY_RESIZE); /* so application can know this */
+ clearok(curscr, TRUE); /* screen contents are unknown */
/* ripped-off lines are a special case: if we did not lengthen
* them, we haven't moved them either. repaint them, too.
@@ -482,7 +429,7 @@ NCURSES_SP_NAME(resizeterm) (NCURSES_SP_DCLx int ToLines, int ToCols)
* not know which are really on top.
*/
for (each_ripoff(rop)) {
- if (rop->win != StdScreen(SP_PARM)
+ if (rop->win != stdscr
&& rop->win != 0
&& rop->line < 0) {
@@ -495,9 +442,10 @@ NCURSES_SP_NAME(resizeterm) (NCURSES_SP_DCLx int ToLines, int ToCols)
/* soft-keys are a special case: we _know_ how to repaint them */
if (slk_visible) {
- NCURSES_SP_NAME(slk_restore) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(slk_touch) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(slk_refresh) (NCURSES_SP_ARG);
+ slk_restore();
+ slk_touch();
+
+ slk_refresh();
}
#endif
}
@@ -505,11 +453,3 @@ NCURSES_SP_NAME(resizeterm) (NCURSES_SP_DCLx int ToLines, int ToCols)
returnCode(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-resizeterm(int ToLines, int ToCols)
-{
- return NCURSES_SP_NAME(resizeterm) (CURRENT_SCREEN, ToLines, ToCols);
-}
-#endif
diff --git a/ncurses/base/safe_sprintf.c b/ncurses/base/safe_sprintf.c
index e73307bac282..8fc5d89dd210 100644
--- a/ncurses/base/safe_sprintf.c
+++ b/ncurses/base/safe_sprintf.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -33,7 +33,7 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: safe_sprintf.c,v 1.24 2010/06/05 22:22:27 tom Exp $")
+MODULE_ID("$Id: safe_sprintf.c,v 1.20 2007/04/21 22:28:06 tom Exp $")
#if USE_SAFE_SPRINTF
@@ -111,7 +111,7 @@ _nc_printf_length(const char *fmt, va_list ap)
}
sprintf(fmt_arg, "%d", ival);
fmt_len += strlen(fmt_arg);
- if ((format = _nc_doalloc(format, fmt_len)) == 0) {
+ if ((format = realloc(format, fmt_len)) == 0) {
return -1;
}
strcpy(&format[--f], fmt_arg);
@@ -214,20 +214,13 @@ _nc_printf_length(const char *fmt, va_list ap)
* Wrapper for vsprintf that allocates a buffer big enough to hold the result.
*/
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(_nc_printf_string) (NCURSES_SP_DCLx
- const char *fmt,
- va_list ap)
+_nc_printf_string(const char *fmt, va_list ap)
{
char *result = 0;
if (fmt != 0) {
#if USE_SAFE_SPRINTF
- va_list ap2;
- int len;
-
- begin_va_copy(ap2, ap);
- len = _nc_printf_length(fmt, ap2);
- end_va_copy(ap2);
+ int len = _nc_printf_length(fmt, ap);
if ((int) my_length < len + 1) {
my_length = 2 * (len + 1);
@@ -244,12 +237,12 @@ NCURSES_SP_NAME(_nc_printf_string) (NCURSES_SP_DCLx
#define MyCols _nc_globals.safeprint_cols
#define MyRows _nc_globals.safeprint_rows
- if (screen_lines(SP_PARM) > MyRows || screen_columns(SP_PARM) > MyCols) {
- if (screen_lines(SP_PARM) > MyRows)
- MyRows = screen_lines(SP_PARM);
- if (screen_columns(SP_PARM) > MyCols)
- MyCols = screen_columns(SP_PARM);
- my_length = (size_t) (MyRows * (MyCols + 1)) + 1;
+ if (screen_lines > MyRows || screen_columns > MyCols) {
+ if (screen_lines > MyRows)
+ MyRows = screen_lines;
+ if (screen_columns > MyCols)
+ MyCols = screen_columns;
+ my_length = (MyRows * (MyCols + 1)) + 1;
my_buffer = typeRealloc(char, my_length, my_buffer);
}
@@ -269,11 +262,3 @@ NCURSES_SP_NAME(_nc_printf_string) (NCURSES_SP_DCLx
}
return result;
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char *)
-_nc_printf_string(const char *fmt, va_list ap)
-{
- return NCURSES_SP_NAME(_nc_printf_string) (CURRENT_SCREEN, fmt, ap);
-}
-#endif
diff --git a/ncurses/base/tries.c b/ncurses/base/tries.c
index ad85d229213d..c4263c7e50eb 100644
--- a/ncurses/base/tries.c
+++ b/ncurses/base/tries.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -39,7 +39,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: tries.c,v 1.30 2010/08/28 21:08:23 tom Exp $")
+MODULE_ID("$Id: tries.c,v 1.27 2008/08/16 19:22:55 tom Exp $")
/*
* Expand a keycode into the string that it corresponds to, returning null if
@@ -72,9 +72,7 @@ _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(CURRENT_SCREEN, (int) code),
- _nc_visbuf(result));
+ _tracef("expand_key %s %s", _nc_tracechar(SP, code), _nc_visbuf(result));
_nc_unlock_global(tracef);
}
#endif
@@ -89,7 +87,7 @@ _nc_expand_try(TRIES * tree, unsigned code, int *count, size_t len)
NCURSES_EXPORT(int)
_nc_remove_key(TRIES ** tree, unsigned code)
{
- T((T_CALLED("_nc_remove_key(%p,%d)"), (void *) tree, code));
+ T((T_CALLED("_nc_remove_key(%p,%d)"), tree, code));
if (code == 0)
returnCode(FALSE);
@@ -121,7 +119,7 @@ _nc_remove_key(TRIES ** tree, unsigned code)
NCURSES_EXPORT(int)
_nc_remove_string(TRIES ** tree, const char *string)
{
- T((T_CALLED("_nc_remove_string(%p,%s)"), (void *) tree, _nc_visbuf(string)));
+ T((T_CALLED("_nc_remove_string(%p,%s)"), tree, _nc_visbuf(string)));
if (string == 0 || *string == 0)
returnCode(FALSE);
diff --git a/ncurses/base/use_window.c b/ncurses/base/use_window.c
index 8eb733919848..f6408c37928e 100644
--- a/ncurses/base/use_window.c
+++ b/ncurses/base/use_window.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2007-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 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 *
@@ -32,14 +32,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: use_window.c,v 1.9 2009/10/24 22:40:24 tom Exp $")
+MODULE_ID("$Id: use_window.c,v 1.8 2008/06/07 14:13:46 tom Exp $")
NCURSES_EXPORT(int)
use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data)
{
int code = OK;
- T((T_CALLED("use_window(%p,%p,%p)"), (void *) win, func, data));
+ T((T_CALLED("use_window(%p,%p,%p)"), win, func, data));
_nc_lock_global(curses);
code = func(win, data);
_nc_unlock_global(curses);
diff --git a/ncurses/base/wresize.c b/ncurses/base/wresize.c
index 9a6ea500727e..f46085af59fa 100644
--- a/ncurses/base/wresize.c
+++ b/ncurses/base/wresize.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -27,13 +27,12 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer *
+ * Author: Thomas E. Dickey 1996-2002 *
****************************************************************************/
#include <curses.priv.h>
-MODULE_ID("$Id: wresize.c,v 1.34 2010/06/05 22:36:26 tom Exp $")
+MODULE_ID("$Id: wresize.c,v 1.29 2008/06/07 13:59:01 tom Exp $")
static int
cleanup_lines(struct ldat *data, int length)
@@ -54,13 +53,10 @@ repair_subwindows(WINDOW *cmp)
WINDOWLIST *wp;
struct ldat *pline = cmp->_line;
int row;
-#ifdef USE_SP_WINDOWLIST
- SCREEN *sp = _nc_screen_of(cmp);
-#endif
_nc_lock_global(curses);
- for (each_window(SP_PARM, wp)) {
+ for (each_window(wp)) {
WINDOW *tst = &(wp->win);
if (tst->_parent == cmp) {
@@ -71,9 +67,9 @@ repair_subwindows(WINDOW *cmp)
tst->_parx = cmp->_maxx;
if (tst->_maxy + tst->_pary > cmp->_maxy)
- tst->_maxy = (NCURSES_SIZE_T) (cmp->_maxy - tst->_pary);
+ tst->_maxy = cmp->_maxy - tst->_pary;
if (tst->_maxx + tst->_parx > cmp->_maxx)
- tst->_maxx = (NCURSES_SIZE_T) (cmp->_maxx - tst->_parx);
+ tst->_maxx = cmp->_maxx - tst->_parx;
for (row = 0; row <= tst->_maxy; ++row) {
tst->_line[row].text = &pline[tst->_pary + row].text[tst->_parx];
@@ -97,7 +93,7 @@ wresize(WINDOW *win, int ToLines, int ToCols)
struct ldat *new_lines = 0;
#ifdef TRACE
- T((T_CALLED("wresize(%p,%d,%d)"), (void *) win, ToLines, ToCols));
+ T((T_CALLED("wresize(%p,%d,%d)"), win, ToLines, ToCols));
if (win) {
TR(TRACE_UPDATE, ("...beg (%ld, %ld), max(%ld,%ld), reg(%ld,%ld)",
(long) win->_begy, (long) win->_begx,
@@ -157,8 +153,7 @@ wresize(WINDOW *win, int ToLines, int ToCols)
if (!(win->_flags & _SUBWIN)) {
if (row <= size_y) {
if (ToCols != size_x) {
- s = typeMalloc(NCURSES_CH_T, (unsigned) ToCols + 1);
- if (s == 0)
+ if ((s = typeMalloc(NCURSES_CH_T, ToCols + 1)) == 0)
returnCode(cleanup_lines(new_lines, row));
for (col = 0; col <= ToCols; ++col) {
s[col] = (col <= size_x
@@ -169,14 +164,12 @@ wresize(WINDOW *win, int ToLines, int ToCols)
s = win->_line[row].text;
}
} else {
- s = typeMalloc(NCURSES_CH_T, (unsigned) ToCols + 1);
- if (s == 0)
+ if ((s = typeMalloc(NCURSES_CH_T, ToCols + 1)) == 0)
returnCode(cleanup_lines(new_lines, row));
for (col = 0; col <= ToCols; ++col)
s[col] = win->_nc_bkgd;
}
} else {
- assert(pline != 0);
s = &pline[win->_pary + row].text[win->_parx];
}
@@ -188,11 +181,11 @@ wresize(WINDOW *win, int ToLines, int ToCols)
if ((ToCols != size_x) || (row > size_y)) {
if (end >= begin) { /* growing */
if (new_lines[row].firstchar < begin)
- new_lines[row].firstchar = (NCURSES_SIZE_T) begin;
+ new_lines[row].firstchar = begin;
} else { /* shrinking */
new_lines[row].firstchar = 0;
}
- new_lines[row].lastchar = (NCURSES_SIZE_T) ToCols;
+ new_lines[row].lastchar = ToCols;
}
new_lines[row].text = s;
}
@@ -219,8 +212,8 @@ wresize(WINDOW *win, int ToLines, int ToCols)
* Finally, adjust the parameters showing screen size and cursor
* position:
*/
- win->_maxx = (NCURSES_SIZE_T) ToCols;
- win->_maxy = (NCURSES_SIZE_T) ToLines;
+ win->_maxx = ToCols;
+ win->_maxy = ToLines;
if (win->_regtop > win->_maxy)
win->_regtop = win->_maxy;
diff --git a/ncurses/build.priv.h b/ncurses/build.priv.h
deleted file mode 100644
index be00d73ea430..000000000000
--- a/ncurses/build.priv.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2010 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"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************/
-
-/****************************************************************************
- * Author: Thomas E. Dickey 2010 *
- ****************************************************************************/
-
-
-/*
- * $Id: build.priv.h,v 1.6 2010/05/22 20:30:35 tom Exp $
- *
- * build.priv.h
- *
- * This is a reduced version of curses.priv.h, for build-time utilties.
- * Because it has fewer dependencies, this simplifies cross-compiling.
- *
- */
-
-#ifndef CURSES_PRIV_H
-#define CURSES_PRIV_H 1
-
-#include <ncurses_dll.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ncurses_cfg.h>
-
-#if USE_RCS_IDS
-#define MODULE_ID(id) static const char Ident[] = id;
-#else
-#define MODULE_ID(id) /*nothing*/
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-
-#include <assert.h>
-#include <stdio.h>
-
-#include <errno.h>
-
-#include <curses.h> /* we'll use -Ipath directive to get the right one! */
-
-/* usually in <unistd.h> */
-#ifndef EXIT_SUCCESS
-#define EXIT_SUCCESS 0
-#endif
-
-#ifndef EXIT_FAILURE
-#define EXIT_FAILURE 1
-#endif
-
-#define FreeAndNull(p) free(p); p = 0
-#define UChar(c) ((unsigned char)(c))
-#define SIZEOF(v) (sizeof(v) / sizeof(v[0]))
-
-#include <nc_alloc.h>
-
-/* declare these, to avoid needing term.h */
-#if BROKEN_LINKER || USE_REENTRANT
-#define NCURSES_ARRAY(name) \
- NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, name)
-
-NCURSES_ARRAY(boolnames);
-NCURSES_ARRAY(boolfnames);
-NCURSES_ARRAY(numnames);
-NCURSES_ARRAY(numfnames);
-NCURSES_ARRAY(strnames);
-NCURSES_ARRAY(strfnames);
-#endif
-
-#if NO_LEAKS
-NCURSES_EXPORT(void) _nc_names_leaks(void);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* CURSES_PRIV_H */
diff --git a/ncurses/curses.priv.h b/ncurses/curses.priv.h
index 49346c122a70..29e131953415 100644
--- a/ncurses/curses.priv.h
+++ b/ncurses/curses.priv.h
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,11 +30,11 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer *
****************************************************************************/
+
/*
- * $Id: curses.priv.h,v 1.475 2011/01/22 21:10:19 tom Exp $
+ * $Id: curses.priv.h,v 1.394 2008/10/04 21:37:45 tom Exp $
*
* curses.priv.h
*
@@ -45,7 +45,6 @@
#ifndef CURSES_PRIV_H
#define CURSES_PRIV_H 1
-/* *INDENT-OFF* */
#include <ncurses_dll.h>
@@ -61,7 +60,6 @@ extern "C" {
#define MODULE_ID(id) /*nothing*/
#endif
-#include <stddef.h> /* for offsetof */
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
@@ -99,6 +97,8 @@ extern "C" {
extern int errno;
#endif
+#include <nc_panel.h>
+
/* Some systems have a broken 'select()', but workable 'poll()'. Use that */
#if HAVE_WORKING_POLL
#define USE_FUNC_POLL 1
@@ -178,20 +178,6 @@ extern NCURSES_EXPORT(void *) _nc_memmove (void *, const void *, size_t);
#endif
/*
- * If we have va_copy(), use it for assigning va_list's.
- */
-#if defined(HAVE___VA_COPY)
-#define begin_va_copy(dst,src) __va_copy(dst, src)
-#define end_va_copy(dst) va_end(dst)
-#elif defined(va_copy) || defined(HAVE_VA_COPY)
-#define begin_va_copy(dst,src) va_copy(dst, src)
-#define end_va_copy(dst) va_end(dst)
-#else
-#define begin_va_copy(dst,src) (dst) = (src)
-#define end_va_copy(dst) /* nothing */
-#endif
-
-/*
* Scroll hints are useless when hashmap is used
*/
#if !USE_SCROLL_HINTS
@@ -209,15 +195,6 @@ extern NCURSES_EXPORT(void *) _nc_memmove (void *, const void *, size_t);
#endif
/*
- * Options for terminal drivers, etc...
- */
-#ifdef USE_TERM_DRIVER
-#define USE_SP_RIPOFF 1
-#define USE_SP_TERMTYPE 1
-#define USE_SP_WINDOWLIST 1
-#endif
-
-/*
* Note: ht/cbt expansion flakes out randomly under Linux 1.1.47, but only
* when we're throwing control codes at the screen at high volume. To see
* this, re-enable USE_HARD_TABS and run worm for a while. Other systems
@@ -270,7 +247,6 @@ color_t;
#define _nc_bkgd _bkgrnd
#else
#undef _XOPEN_SOURCE_EXTENDED
-#undef _XPG5
#define _nc_bkgd _bkgd
#define wgetbkgrnd(win, wch) *wch = win->_bkgd
#define wbkgrnd wbkgd
@@ -281,127 +257,39 @@ color_t;
#define NCURSES_OPAQUE 0
#include <curses.h> /* we'll use -Ipath directive to get the right one! */
-
-/*
- * If curses.h did not expose the SCREEN-functions, then we do not need the
- * parameter in the corresponding unextended functions.
- */
-
-#define USE_SP_FUNC_SUPPORT NCURSES_SP_FUNCS
-#define USE_EXT_SP_FUNC_SUPPORT (NCURSES_SP_FUNCS && NCURSES_EXT_FUNCS)
-
-#if NCURSES_SP_FUNCS
-#define SP_PARM sp /* use parameter */
-#define NCURSES_SP_ARG SP_PARM
-#define NCURSES_SP_DCL SCREEN *NCURSES_SP_ARG
-#define NCURSES_SP_DCL0 NCURSES_SP_DCL
-#define NCURSES_SP_ARGx NCURSES_SP_ARG,
-#define NCURSES_SP_DCLx SCREEN *NCURSES_SP_ARGx
-#else
-#define SP_PARM SP /* use global variable */
-#define NCURSES_SP_ARG
-#define NCURSES_SP_DCL
-#define NCURSES_SP_DCL0 void
-#define NCURSES_SP_ARGx
-#define NCURSES_SP_DCLx
-#endif
-
-#include <nc_panel.h>
-
-#define IsPreScreen(sp) (((sp) != 0) && sp->_prescreen)
-#define HasTerminal(sp) (((sp) != 0) && (0 != ((sp)->_term)))
-#define IsValidScreen(sp) (HasTerminal(sp) && !IsPreScreen(sp))
-
-#if BROKEN_LINKER || USE_REENTRANT
-#define CurTerm _nc_prescreen._cur_term
-#else
-#define CurTerm cur_term
-#endif
-
-#if NCURSES_SP_FUNCS
-#define TerminalOf(sp) ((sp) ? ((sp)->_term ? (sp)->_term : CurTerm) : CurTerm)
-#else
-#define TerminalOf(sp) CurTerm
-#endif
-
#include <term.h>
-
-/*
- * Reduce dependency on cur_term global by using terminfo data from SCREEN's
- * pointer to this data.
- */
-#ifdef USE_SP_TERMTYPE
-#undef CUR
-#endif
-
-#define SP_TERMTYPE TerminalOf(sp)->type.
-
#include <term_entry.h>
-
#include <nc_tparm.h>
-/*
- * Use these macros internally, to make tracing less verbose. But leave the
- * option for compiling the tracing into the library.
- */
-#if 1
-#define ColorPair(n) NCURSES_BITS(n, 0)
-#define PairNumber(a) (NCURSES_CAST(int,(((unsigned long)(a) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
-#else
-#define ColorPair(pair) COLOR_PAIR(pair)
-#define PairNumber(attr) PAIR_NUMBER(attr)
-#endif
-
-#define unColor(n) unColor2(AttrOf(n))
-#define unColor2(a) ((a) & ALL_BUT_COLOR)
-
-/*
- * Extended-colors stores the color pair in a separate struct-member than the
- * attributes. But for compatibility, we handle most cases where a program
- * written for non-extended colors stores the color in the attributes by
- * checking for a color pair in both places.
- */
-#if NCURSES_EXT_COLORS
+#if NCURSES_EXT_COLORS && USE_WIDEC_SUPPORT
#define if_EXT_COLORS(stmt) stmt
-#define SetPair(value,p) SetPair2((value).ext_color, AttrOf(value), p)
-#define SetPair2(c,a,p) c = (p), \
- a = (unColor2(a) | (A_COLOR & ColorPair(oldColor(c))))
-#define GetPair(value) GetPair2((value).ext_color, AttrOf(value))
-#define GetPair2(c,a) ((c) ? (c) : PairNumber(a))
-#define oldColor(p) (((p) > 255) ? 255 : (p))
-#define GET_WINDOW_PAIR(w) GetPair2((w)->_color, (w)->_attrs)
+#define NetPair(value,p) (value).ext_color = (p), \
+ AttrOf(value) &= ALL_BUT_COLOR, \
+ AttrOf(value) |= (A_COLOR & COLOR_PAIR((p > 255) ? 255 : p))
+#define SetPair(value,p) (value).ext_color = (p)
+#define GetPair(value) (value).ext_color
+#define unColor(n) (AttrOf(n) & ALL_BUT_COLOR)
+#define GET_WINDOW_PAIR(w) (w)->_color
#define SET_WINDOW_PAIR(w,p) (w)->_color = (p)
#define SameAttrOf(a,b) (AttrOf(a) == AttrOf(b) && GetPair(a) == GetPair(b))
-
-#if NCURSES_SP_FUNCS
-#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vid_attr)(sp, attr, pair, 0)
+#define VIDATTR(attr, pair) vid_attr(attr, pair, 0)
#else
-#define VIDATTR(sp,attr,pair) vid_attr(attr, pair, 0)
-#endif
-
-#else /* !NCURSES_EXT_COLORS */
-
#define if_EXT_COLORS(stmt) /* nothing */
#define SetPair(value,p) RemAttr(value, A_COLOR), \
- SetAttr(value, AttrOf(value) | (A_COLOR & (attr_t) ColorPair(p)))
-#define GetPair(value) PairNumber(AttrOf(value))
-#define GET_WINDOW_PAIR(w) PairNumber(WINDOW_ATTRS(w))
+ SetAttr(value, AttrOf(value) | (A_COLOR & COLOR_PAIR(p)))
+#define GetPair(value) PAIR_NUMBER(AttrOf(value))
+#define unColor(n) (AttrOf(n) & ALL_BUT_COLOR)
+#define GET_WINDOW_PAIR(w) PAIR_NUMBER(WINDOW_ATTRS(w))
#define SET_WINDOW_PAIR(w,p) WINDOW_ATTRS(w) &= ALL_BUT_COLOR, \
- WINDOW_ATTRS(w) |= (A_COLOR & (attr_t) ColorPair(p))
+ WINDOW_ATTRS(w) |= (A_COLOR & COLOR_PAIR(p))
#define SameAttrOf(a,b) (AttrOf(a) == AttrOf(b))
-
-#if NCURSES_SP_FUNCS
-#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vidattr)(sp, attr)
-#else
-#define VIDATTR(sp,attr,pair) vidattr(attr)
+#define VIDATTR(attr, pair) vidattr(attr)
#endif
-#endif /* NCURSES_EXT_COLORS */
-
#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*/
@@ -413,37 +301,18 @@ extern NCURSES_EXPORT(void) _nc_set_no_padding(SCREEN *);
#define GET_SCREEN_PAIR(s) GetPair(SCREEN_ATTRS(s))
#define SET_SCREEN_PAIR(s,p) SetPair(SCREEN_ATTRS(s), p)
-#if USE_REENTRANT || NCURSES_SP_FUNCS
-NCURSES_EXPORT(int *) _nc_ptr_Lines (SCREEN *);
-NCURSES_EXPORT(int *) _nc_ptr_Cols (SCREEN *);
-NCURSES_EXPORT(int *) _nc_ptr_Tabsize (SCREEN *);
-NCURSES_EXPORT(int *) _nc_ptr_Escdelay (SCREEN *);
-#endif
-
#if USE_REENTRANT
-
-#define ptrLines(sp) (sp ? &(sp->_LINES) : &(_nc_prescreen._LINES))
-#define ptrCols(sp) (sp ? &(sp->_COLS) : &(_nc_prescreen._COLS))
-#define ptrTabsize(sp) (sp ? &(sp->_TABSIZE) : &(_nc_prescreen._TABSIZE))
-#define ptrEscdelay(sp) (sp ? &(sp->_ESCDELAY) : &(_nc_prescreen._ESCDELAY))
-
-#define SET_LINES(value) *_nc_ptr_Lines(SP_PARM) = value
-#define SET_COLS(value) *_nc_ptr_Cols(SP_PARM) = value
-#define SET_TABSIZE(value) *_nc_ptr_Tabsize(SP_PARM) = value
-#define SET_ESCDELAY(value) *_nc_ptr_Escdelay(SP_PARM) = value
-
+NCURSES_EXPORT(int *) _nc_ptr_Lines (void);
+NCURSES_EXPORT(int *) _nc_ptr_Cols (void);
+#define ptrLines() (SP ? &(SP->_LINES) : &(_nc_prescreen._LINES))
+#define ptrCols() (SP ? &(SP->_COLS) : &(_nc_prescreen._COLS))
+#define SET_LINES(value) *_nc_ptr_Lines() = value
+#define SET_COLS(value) *_nc_ptr_Cols() = value
#else
-
-#define ptrLines(sp) &LINES
-#define ptrCols(sp) &COLS
-#define ptrTabsize(sp) &TABSIZE
-#define ptrEscdelay(sp) &ESCDELAY
-
-#define SET_LINES(value) LINES = value
-#define SET_COLS(value) COLS = value
-#define SET_TABSIZE(value) TABSIZE = value
-#define SET_ESCDELAY(value) ESCDELAY = value
-
+#define ptrLines() &LINES
+#define ptrCols() &COLS
+#define SET_LINES(value) LINES = value
+#define SET_COLS(value) COLS = value
#endif
#define TR_MUTEX(data) _tracef("%s@%d: me:%08lX COUNT:%2u/%2d/%6d/%2d/%s%9u: " #data, \
@@ -457,19 +326,6 @@ NCURSES_EXPORT(int *) _nc_ptr_Escdelay (SCREEN *);
data.__data.__nusers)
#define TR_GLOBAL_MUTEX(name) TR_MUTEX(_nc_globals.mutex_##name)
-#if USE_WEAK_SYMBOLS
-#if defined(__GNUC__)
-# if defined __USE_ISOC99
-# define _cat_pragma(exp) _Pragma(#exp)
-# define _weak_pragma(exp) _cat_pragma(weak name)
-# else
-# define _weak_pragma(exp)
-# endif
-# define _declare(name) __extension__ extern __typeof__(name) name
-# define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
-#endif
-#endif
-
#ifdef USE_PTHREADS
#if USE_REENTRANT
@@ -487,10 +343,22 @@ extern NCURSES_EXPORT(int) _nc_mutex_unlock(pthread_mutex_t *);
#error POSIX threads requires --enable-reentrant option
#endif
+#if USE_WEAK_SYMBOLS
+#if defined(__GNUC__)
+# if defined __USE_ISOC99
+# define _cat_pragma(exp) _Pragma(#exp)
+# define _weak_pragma(exp) _cat_pragma(weak name)
+# else
+# define _weak_pragma(exp)
+# endif
+# define _declare(name) __extension__ extern __typeof__(name) name
+# define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
+#endif
+#endif
+
#ifdef USE_PTHREADS
# if USE_WEAK_SYMBOLS
weak_symbol(pthread_sigmask);
-weak_symbol(pthread_kill);
weak_symbol(pthread_self);
weak_symbol(pthread_equal);
weak_symbol(pthread_mutex_init);
@@ -512,19 +380,6 @@ extern NCURSES_EXPORT(int) _nc_sigprocmask(int, const sigset_t *, sigset_t *);
#else /* !USE_PTHREADS */
-#if USE_PTHREADS_EINTR
-# if USE_WEAK_SYMBOLS
-#include <pthread.h>
-weak_symbol(pthread_sigmask);
-weak_symbol(pthread_kill);
-weak_symbol(pthread_self);
-weak_symbol(pthread_equal);
-extern NCURSES_EXPORT(int) _nc_sigprocmask(int, const sigset_t *, sigset_t *);
-# undef sigprocmask
-# define sigprocmask _nc_sigprocmask
-# endif
-#endif /* USE_PTHREADS_EINTR */
-
#define _nc_init_pthreads() /* nothing */
#define _nc_mutex_init(obj) /* nothing */
@@ -534,36 +389,6 @@ extern NCURSES_EXPORT(int) _nc_sigprocmask(int, const sigset_t *, sigset_t *);
#endif /* USE_PTHREADS */
-/*
- * When using sp-funcs, locks are targeted to SCREEN-level granularity.
- * So the locking is done in the non-sp-func (which calls the sp-func) rather
- * than in the sp-func itself.
- *
- * Use the _nc_nonsp_XXX functions in the function using "NCURSES_SP_NAME()".
- * Use the _nc_sp_XXX functions in the function using "#if NCURSES_SP_FUNCS".
- */
-#if NCURSES_SP_FUNCS
-
-#define _nc_nonsp_lock_global(name) /* nothing */
-#define _nc_nonsp_try_global(name) 0
-#define _nc_nonsp_unlock_global(name) /* nothing */
-
-#define _nc_sp_lock_global(name) _nc_lock_global(name)
-#define _nc_sp_try_global(name) _nc_try_global(name)
-#define _nc_sp_unlock_global(name) _nc_unlock_global(name)
-
-#else
-
-#define _nc_nonsp_lock_global(name) _nc_lock_global(name)
-#define _nc_nonsp_try_global(name) _nc_try_global(name)
-#define _nc_nonsp_unlock_global(name) _nc_unlock_global(name)
-
-#define _nc_sp_lock_global(name) /* nothing */
-#define _nc_sp_try_global(name) 0
-#define _nc_sp_unlock_global(name) /* nothing */
-
-#endif
-
#if HAVE_GETTIMEOFDAY
# define PRECISE_GETTIME 1
# define TimeType struct timeval
@@ -578,14 +403,12 @@ extern NCURSES_EXPORT(int) _nc_sigprocmask(int, const sigset_t *, sigset_t *);
typedef unsigned colorpair_t; /* type big enough to store PAIR_OF() */
#define C_SHIFT 9 /* we need more bits than there are colors */
#define C_MASK ((1 << C_SHIFT) - 1)
-#define PAIR_OF(fg, bg) (colorpair_t) ((((fg) & C_MASK) << C_SHIFT) | ((bg) & C_MASK))
-#define FORE_OF(c) (((c) >> C_SHIFT) & C_MASK)
-#define BACK_OF(c) ((c) & C_MASK)
+#define PAIR_OF(fg, bg) ((((fg) & C_MASK) << C_SHIFT) | ((bg) & C_MASK))
#define isDefaultColor(c) ((c) >= COLOR_DEFAULT || (c) < 0)
#define COLOR_DEFAULT C_MASK
-#if defined(USE_BUILD_CC) || (defined(USE_TERMLIB) && !defined(NEED_NCURSES_CH_T))
+#if defined(USE_TERMLIB) && !defined(NEED_NCURSES_CH_T)
#undef NCURSES_CH_T /* this is not a termlib feature */
#define NCURSES_CH_T void /* ...but we need a pointer in SCREEN */
@@ -611,9 +434,6 @@ typedef enum {
#if USE_SYSMOUSE
,M_SYSMOUSE /* FreeBSD sysmouse on console */
#endif
-#ifdef USE_TERM_DRIVER
- ,M_TERM_DRIVER /* Win32 console, etc */
-#endif
} MouseType;
/*
@@ -632,7 +452,7 @@ typedef struct {
struct _SLK;
-#if !(defined(USE_TERMLIB) || defined(USE_BUILD_CC))
+#ifndef USE_TERMLIB
typedef struct
{
@@ -644,13 +464,13 @@ typedef struct
} slk_ent;
typedef struct _SLK {
- bool dirty; /* all labels have changed */
- bool hidden; /* soft labels are hidden */
- WINDOW *win;
+ char dirty; /* all labels have changed */
+ char 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;
@@ -673,10 +493,10 @@ typedef int (*TYPE_Gpm_Open) (Gpm_Connect *, int);
typedef int (*TYPE_Gpm_Close) (void);
typedef int (*TYPE_Gpm_GetEvent) (Gpm_Event *);
-#define my_gpm_fd SP_PARM->_mouse_gpm_fd
-#define my_Gpm_Open SP_PARM->_mouse_Gpm_Open
-#define my_Gpm_Close SP_PARM->_mouse_Gpm_Close
-#define my_Gpm_GetEvent SP_PARM->_mouse_Gpm_GetEvent
+#define my_gpm_fd SP->_mouse_gpm_fd
+#define my_Gpm_Open SP->_mouse_Gpm_Open
+#define my_Gpm_Close SP->_mouse_Gpm_Close
+#define my_Gpm_GetEvent SP->_mouse_Gpm_GetEvent
#else
/* link statically to GPM */
#define my_gpm_fd &gpm_fd
@@ -743,10 +563,8 @@ typedef struct {
*/
#if MIXEDCASE_FILENAMES
#define LEAF_FMT "%c"
-#define LEAF_LEN 1
#else
#define LEAF_FMT "%02x"
-#define LEAF_LEN 2
#endif
/*
@@ -759,13 +577,6 @@ typedef struct {
#define TRACEMSE_MAX (80 + (5 * 10) + (32 * 15))
#define TRACEMSE_FMT "id %2d at (%2d, %2d, %2d) state %4lx = {" /* } */
-#ifdef USE_TERM_DRIVER
-struct DriverTCB; /* Terminal Control Block forward declaration */
-#define INIT_TERM_DRIVER() _nc_globals.term_driver = _nc_get_driver
-#else
-#define INIT_TERM_DRIVER() /* nothing */
-#endif
-
/*
* Global data which is not specific to a screen.
*/
@@ -798,10 +609,8 @@ typedef struct {
int tgetent_index;
long tgetent_sequence;
-#ifndef USE_SP_WINDOWLIST
WINDOWLIST *_nc_windowlist;
-#define WindowList(sp) _nc_globals._nc_windowlist
-#endif
+#define _nc_windows _nc_globals._nc_windowlist
#if USE_HOME_TERMINFO
char *home_terminfo;
@@ -812,10 +621,6 @@ typedef struct {
int safeprint_rows;
#endif
-#ifdef USE_TERM_DRIVER
- int (*term_driver)(struct DriverTCB*, const char*, int*);
-#endif
-
#ifdef TRACE
bool init_trace;
char trace_fname[PATH_MAX];
@@ -839,9 +644,7 @@ typedef struct {
char traceatr_color_buf[2][80];
int traceatr_color_sel;
int traceatr_color_last;
-#if !defined(USE_PTHREADS) && USE_REENTRANT
- int nested_tracef;
-#endif
+
#endif /* TRACE */
#ifdef USE_PTHREADS
@@ -852,9 +655,6 @@ typedef struct {
int use_pthreads;
#define _nc_use_pthreads _nc_globals.use_pthreads
#endif
-#if USE_PTHREADS_EINTR
- pthread_t read_thread; /* The reading thread */
-#endif
} NCURSES_GLOBALS;
extern NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals;
@@ -869,22 +669,17 @@ typedef struct {
bool use_env;
bool filter_mode;
attr_t previous_attr;
-#ifndef USE_SP_RIPOFF
ripoff_t rippedoff[N_RIPS];
ripoff_t *rsp;
-#endif
TPARM_STATE tparm_state;
TTY *saved_tty; /* savetty/resetty information */
#if NCURSES_NO_PADDING
bool _no_padding; /* flag to set if padding disabled */
#endif
- NCURSES_SP_OUTC _outch; /* output handler if not putc */
#if BROKEN_LINKER || USE_REENTRANT
chtype *real_acs_map;
int _LINES;
int _COLS;
- int _TABSIZE;
- int _ESCDELAY;
TERMINAL *_cur_term;
#ifdef TRACE
long _outchars;
@@ -893,16 +688,8 @@ typedef struct {
#endif
} NCURSES_PRESCREEN;
-/*
- * Use screen-specific ripoff data (for softkeys) rather than global.
- */
-#ifdef USE_SP_RIPOFF
-#define safe_ripoff_sp (sp)->rsp
-#define safe_ripoff_stack (sp)->rippedoff
-#else
-#define safe_ripoff_sp _nc_prescreen.rsp
-#define safe_ripoff_stack _nc_prescreen.rippedoff
-#endif
+#define ripoff_sp _nc_prescreen.rsp
+#define ripoff_stack _nc_prescreen.rippedoff
extern NCURSES_EXPORT_VAR(NCURSES_PRESCREEN) _nc_prescreen;
@@ -916,8 +703,6 @@ 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? */
int _checkfd; /* filedesc for typeahead check */
TERMINAL *_term; /* terminal type information */
TTY _saved_tty; /* savetty/resetty information */
@@ -931,10 +716,6 @@ struct screen {
WINDOW *_newscr; /* virtual screen to be updated to */
WINDOW *_stdscr; /* screen's full-window context */
-#define CurScreen(sp) (sp)->_curscr
-#define NewScreen(sp) (sp)->_newscr
-#define StdScreen(sp) (sp)->_stdscr
-
TRIES *_keytry; /* "Try" for use with keypad mode */
TRIES *_key_ok; /* Disabled keys via keyok(,FALSE) */
bool _tried; /* keypad mode was initialized */
@@ -1013,13 +794,11 @@ struct screen {
int _color_count; /* count of colors in palette */
colorpair_t *_color_pairs; /* screen's color pair list */
int _pair_count; /* count of color pairs */
- int _pair_limit; /* actual limit of color-pairs */
#if NCURSES_EXT_FUNCS
bool _default_color; /* use default colors */
bool _has_sgr_39_49; /* has ECMA default color support */
int _default_fg; /* assumed default foreground */
int _default_bg; /* assumed default background */
- int _default_pairs; /* count pairs using default color */
#endif
chtype _ok_attributes; /* valid attributes for terminal */
chtype _xmc_suppress; /* attributes to suppress if xmc */
@@ -1041,6 +820,8 @@ struct screen {
*/
bool _nc_sp_idlok;
bool _nc_sp_idcok;
+#define _nc_idlok SP->_nc_sp_idlok
+#define _nc_idcok SP->_nc_sp_idcok
/*
* These are the data that support the mouse interface.
@@ -1090,18 +871,11 @@ struct screen {
int _sysmouse_new_buttons;
#endif
-#ifdef USE_TERM_DRIVER
- MEVENT _drv_mouse_fifo[FIFO_SIZE];
- int _drv_mouse_head;
- int _drv_mouse_tail;
- int _drv_mouse_old_buttons;
- int _drv_mouse_new_buttons;
-#endif
/*
* This supports automatic resizing
*/
#if USE_SIZECHANGE
- int (*_resize)(NCURSES_SP_DCLx int y, int x);
+ int (*_resize)(int,int);
#endif
/*
@@ -1121,7 +895,7 @@ struct screen {
int _oldnum_size;
bool _cleanup; /* cleanup after int/quit signal */
- NCURSES_SP_OUTC _outch; /* output handler if not putc */
+ int (*_outch)(int); /* output handler if not putc */
int _legacy_coding; /* see use_legacy_coding() */
@@ -1141,15 +915,6 @@ struct screen {
char tracechr_buf[40];
char tracemse_buf[TRACEMSE_MAX];
#endif
-#ifdef USE_SP_WINDOWLIST
- WINDOWLIST* _windowlist;
-#define WindowList(sp) (sp)->_windowlist
-#endif
- NCURSES_OUTC jump;
-
- ripoff_t rippedoff[N_RIPS];
- ripoff_t *rsp;
-
/*
* ncurses/ncursesw are the same up to this point.
*/
@@ -1165,10 +930,10 @@ extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain;
extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch;
WINDOWLIST {
+ WINDOW win; /* first, so WINDOW_EXT() works */
WINDOWLIST *next;
SCREEN *screen; /* screen containing the window */
- WINDOW win; /* WINDOW_EXT() needs to account for offset */
-#ifdef NCURSES_WIDECHAR
+#ifdef _XOPEN_SOURCE_EXTENDED
char addch_work[(MB_LEN_MAX * 9) + 1];
unsigned addch_used; /* number of bytes in addch_work[] */
int addch_x; /* x-position for addch_work[] */
@@ -1176,21 +941,7 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch;
#endif
};
-#define WINDOW_EXT(w,m) (((WINDOWLIST *)((void *)((char *)(w) - offsetof(WINDOWLIST, win))))->m)
-
-#define SP_PRE_INIT(sp) \
- sp->_cursrow = -1; \
- sp->_curscol = -1; \
- sp->_nl = TRUE; \
- sp->_raw = FALSE; \
- sp->_cbreak = 0; \
- sp->_echo = TRUE; \
- sp->_fifohead = -1; \
- sp->_endwin = TRUE; \
- sp->_cursor = -1; \
- WindowList(sp) = 0; \
- sp->_outch = NCURSES_SP_NAME(_nc_outch); \
- sp->jump = 0 \
+#define WINDOW_EXT(win,field) (((WINDOWLIST *)(win))->field)
/* usually in <limits.h> */
#ifndef UCHAR_MAX
@@ -1266,7 +1017,6 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch;
#define RESET_OUTCHARS() COUNT_OUTCHARS(-_nc_outchars)
#define UChar(c) ((unsigned char)(c))
-#define UShort(c) ((unsigned short)(c))
#define ChCharOf(c) ((c) & (chtype)A_CHARTEXT)
#define ChAttrOf(c) ((c) & (chtype)A_ATTRIBUTES)
@@ -1311,9 +1061,9 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch;
#define SetChar(ch,c,a) do { \
NCURSES_CH_T *_cp = &ch; \
memset(_cp, 0, sizeof(ch)); \
- _cp->chars[0] = (wchar_t) (c); \
+ _cp->chars[0] = (c); \
_cp->attr = (a); \
- if_EXT_COLORS(SetPair(ch, PairNumber(a))); \
+ if_EXT_COLORS(SetPair(ch, PAIR_NUMBER(a))); \
} while (0)
#define CHREF(wch) (&wch)
#define CHDEREF(wch) (*wch)
@@ -1332,14 +1082,14 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch;
PUTC_ch = (ch).chars[PUTC_i]; \
if (PUTC_ch == L'\0') \
break; \
- PUTC_n = (int) wcrtomb(PUTC_buf, \
- (ch).chars[PUTC_i], &PUT_st); \
+ PUTC_n = wcrtomb(PUTC_buf, \
+ (ch).chars[PUTC_i], &PUT_st); \
if (PUTC_n <= 0) { \
if (PUTC_ch && is8bits(PUTC_ch) && PUTC_i == 0) \
putc(PUTC_ch,b); \
break; \
} \
- IGNORE_RC(fwrite(PUTC_buf, (unsigned) PUTC_n, 1, b)); \
+ fwrite(PUTC_buf, (unsigned) PUTC_n, 1, b); \
} \
COUNT_OUTCHARS(PUTC_i); \
} } } while (0)
@@ -1355,14 +1105,14 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch;
* zero. Otherwise we can use those bits to tell if a cell is the
* first or extension part of a wide character.
*/
-#define WidecExt(ch) (int) (AttrOf(ch) & A_CHARTEXT)
+#define WidecExt(ch) (AttrOf(ch) & A_CHARTEXT)
#define isWidecBase(ch) (WidecExt(ch) == 1)
#define isWidecExt(ch) (WidecExt(ch) > 1 && WidecExt(ch) < 32)
#define SetWidecExt(dst, ext) AttrOf(dst) &= ~A_CHARTEXT, \
- AttrOf(dst) |= (attr_t) (ext + 1)
+ AttrOf(dst) |= (ext + 1)
#define if_WIDEC(code) code
-#define Charable(ch) ((SP_PARM != 0 && SP_PARM->_legacy_coding) \
+#define Charable(ch) ((SP != 0 && SP->_legacy_coding) \
|| (AttrOf(ch) & A_ALTCHARSET) \
|| (!isWidecExt(ch) && \
(ch).chars[1] == L'\0' && \
@@ -1412,25 +1162,25 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch;
#define CHANGED_CELL(line,col) \
if (line->firstchar == _NOCHANGE) \
- line->firstchar = line->lastchar = (NCURSES_SIZE_T) col; \
+ line->firstchar = line->lastchar = col; \
else if ((col) < line->firstchar) \
- line->firstchar = (NCURSES_SIZE_T) col; \
+ line->firstchar = col; \
else if ((col) > line->lastchar) \
- line->lastchar = (NCURSES_SIZE_T) col
+ line->lastchar = col
#define CHANGED_RANGE(line,start,end) \
if (line->firstchar == _NOCHANGE \
|| line->firstchar > (start)) \
- line->firstchar = (NCURSES_SIZE_T) start; \
+ line->firstchar = start; \
if (line->lastchar == _NOCHANGE \
|| line->lastchar < (end)) \
- line->lastchar = (NCURSES_SIZE_T) end
+ line->lastchar = end
#define CHANGED_TO_EOL(line,start,end) \
if (line->firstchar == _NOCHANGE \
|| line->firstchar > (start)) \
- line->firstchar = (NCURSES_SIZE_T) start; \
- line->lastchar = (NCURSES_SIZE_T) end
+ line->firstchar = start; \
+ line->lastchar = end
#define SIZEOF(v) (sizeof(v)/sizeof(v[0]))
@@ -1464,8 +1214,8 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch;
* Standardize/simplify common loops
*/
#define each_screen(p) p = _nc_screen_chain; p != 0; p = (p)->_next_screen
-#define each_window(sp,p) p = WindowList(sp); p != 0; p = (p)->next
-#define each_ripoff(p) p = safe_ripoff_stack; (p - safe_ripoff_stack) < N_RIPS; ++p
+#define each_window(p) p = _nc_windows; p != 0; p = (p)->next
+#define each_ripoff(p) p = ripoff_stack; (p - ripoff_stack) < N_RIPS; ++p
/*
* Prefixes for call/return points of library function traces. We use these to
@@ -1506,22 +1256,15 @@ extern NCURSES_EXPORT(void) _nc_locked_tracef (const char *, ...) GCC_PRINTFLIKE
#define TR(n, a) if (USE_TRACEF(n)) _nc_locked_tracef a
#define T(a) TR(TRACE_CALLS, a)
-#define TRACE_RETURN(value,type) return _nc_retrace_##type(value)
-#define TRACE_RETURN2(value,dst,src) return _nc_retrace_##dst##_##src(value)
-#define TRACE_RETURN_SP(value,type) return _nc_retrace_##type(SP_PARM, value)
-
-#define NonNull(s) ((s) != 0 ? s : "<null>")
+#define TRACE_RETURN(value,type) return _nc_retrace_##type(value)
#define returnAttr(code) TRACE_RETURN(code,attr_t)
#define returnBits(code) TRACE_RETURN(code,unsigned)
#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,char)
-#define returnChtype(code) TRACE_RETURN(code,chtype)
+#define returnChar(code) TRACE_RETURN(code,chtype)
#define returnCode(code) TRACE_RETURN(code,int)
-#define returnIntAttr(code) TRACE_RETURN2(code,int,attr_t)
-#define returnMMask(code) TRACE_RETURN_SP(code,mmask_t)
#define returnPtr(code) TRACE_RETURN(code,ptr)
#define returnSP(code) TRACE_RETURN(code,sp)
#define returnVoid T((T_RETURN(""))); return
@@ -1539,10 +1282,7 @@ extern NCURSES_EXPORT(char *) _nc_varargs (const char *, va_list);
extern NCURSES_EXPORT(chtype) _nc_retrace_chtype (chtype);
extern NCURSES_EXPORT(const char *) _nc_altcharset_name(attr_t, chtype);
extern NCURSES_EXPORT(const char *) _nc_retrace_cptr (const char *);
-extern NCURSES_EXPORT(char) _nc_retrace_char (char);
extern NCURSES_EXPORT(int) _nc_retrace_int (int);
-extern NCURSES_EXPORT(int) _nc_retrace_int_attr_t (attr_t);
-extern NCURSES_EXPORT(mmask_t) _nc_retrace_mmask_t (SCREEN *, mmask_t);
extern NCURSES_EXPORT(unsigned) _nc_retrace_unsigned (unsigned);
extern NCURSES_EXPORT(void *) _nc_retrace_void_ptr (void *);
extern NCURSES_EXPORT(void) _nc_fifo_dump (SCREEN *);
@@ -1582,11 +1322,8 @@ 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 ((char) code)
-#define returnChtype(code) return code
+#define returnChar(code) return code
#define returnCode(code) return code
-#define returnIntAttr(code) return code
-#define returnMMask(code) return code
#define returnPtr(code) return code
#define returnSP(code) return code
#define returnVoid return
@@ -1596,15 +1333,6 @@ extern NCURSES_EXPORT(const char *) _nc_viscbuf (const NCURSES_CH_T *, int);
#endif /* TRACE/!TRACE */
/*
- * Workaround for defective implementation of gcc attribute warn_unused_result
- */
-#if defined(__GNUC__) && defined(_FORTIFY_SOURCE)
-#define IGNORE_RC(func) errno = (int) func
-#else
-#define IGNORE_RC(func) (void) func
-#endif /* gcc workarounds */
-
-/*
* Return-codes for tgetent() and friends.
*/
#define TGETENT_YES 1 /* entry is found */
@@ -1620,58 +1348,57 @@ extern NCURSES_EXPORT(void) name (void); \
#define ALL_BUT_COLOR ((chtype)~(A_COLOR))
#define NONBLANK_ATTR (A_NORMAL|A_BOLD|A_DIM|A_BLINK)
-#define XMC_CHANGES(c) ((c) & SP_PARM->_xmc_suppress)
+#define XMC_CHANGES(c) ((c) & SP->_xmc_suppress)
#define toggle_attr_on(S,at) {\
- if (PairNumber(at) > 0) {\
- (S) = ((S) & ALL_BUT_COLOR) | (attr_t) (at);\
+ if (PAIR_NUMBER(at) > 0) {\
+ (S) = ((S) & ALL_BUT_COLOR) | (at);\
} else {\
- (S) |= (attr_t) (at);\
+ (S) |= (at);\
}\
TR(TRACE_ATTRS, ("new attribute is %s", _traceattr((S))));}
#define toggle_attr_off(S,at) {\
- if (PairNumber(at) > 0) {\
+ if (PAIR_NUMBER(at) > 0) {\
(S) &= ~(at|A_COLOR);\
} else {\
(S) &= ~(at);\
}\
TR(TRACE_ATTRS, ("new attribute is %s", _traceattr((S))));}
-#define DelCharCost(sp,count) \
+#define DelCharCost(count) \
((parm_dch != 0) \
- ? sp->_dch_cost \
+ ? SP->_dch_cost \
: ((delete_character != 0) \
- ? (sp->_dch1_cost * count) \
+ ? (SP->_dch1_cost * count) \
: INFINITY))
-#define InsCharCost(sp,count) \
+#define InsCharCost(count) \
((parm_ich != 0) \
- ? sp->_ich_cost \
+ ? SP->_ich_cost \
: ((enter_insert_mode && exit_insert_mode) \
- ? sp->_smir_cost + sp->_rmir_cost + (sp->_ip_cost * count) \
+ ? SP->_smir_cost + SP->_rmir_cost + (SP->_ip_cost * count) \
: ((insert_character != 0) \
- ? ((sp->_ich1_cost + sp->_ip_cost) * count) \
+ ? ((SP->_ich1_cost + SP->_ip_cost) * count) \
: INFINITY)))
#if USE_XMC_SUPPORT
-#define UpdateAttrs(sp,c) if (!SameAttrOf(SCREEN_ATTRS(sp), c)) { \
- attr_t chg = AttrOf(SCREEN_ATTRS(sp)); \
- VIDATTR(sp, AttrOf(c), GetPair(c)); \
+#define UpdateAttrs(c) if (!SameAttrOf(SCREEN_ATTRS(SP), c)) { \
+ attr_t chg = AttrOf(SCREEN_ATTRS(SP)); \
+ VIDATTR(AttrOf(c), GetPair(c)); \
if (magic_cookie_glitch > 0 \
- && XMC_CHANGES((chg ^ AttrOf(SCREEN_ATTRS(sp))))) { \
+ && XMC_CHANGES((chg ^ AttrOf(SCREEN_ATTRS(SP))))) { \
T(("%s @%d before glitch %d,%d", \
__FILE__, __LINE__, \
- sp->_cursrow, \
- sp->_curscol)); \
- NCURSES_SP_NAME(_nc_do_xmc_glitch)(NCURSES_SP_ARGx chg); \
+ SP->_cursrow, \
+ SP->_curscol)); \
+ _nc_do_xmc_glitch(chg); \
} \
}
#else
-#define UpdateAttrs(sp,c) if (!SameAttrOf(SCREEN_ATTRS(sp), c)) { \
- VIDATTR(sp, AttrOf(c), GetPair(c)); \
- }
+#define UpdateAttrs(c) if (!SameAttrOf(SCREEN_ATTRS(SP), c)) \
+ VIDATTR(AttrOf(c), GetPair(c));
#endif
/*
@@ -1681,12 +1408,10 @@ extern NCURSES_EXPORT(void) name (void); \
#define EVENTLIST_0th(param) param
#define EVENTLIST_1st(param) param
#define EVENTLIST_2nd(param) , param
-#define TWAIT_MASK (TW_ANY | TW_EVENT)
#else
#define EVENTLIST_0th(param) void
#define EVENTLIST_1st(param) /* nothing */
#define EVENTLIST_2nd(param) /* nothing */
-#define TWAIT_MASK TW_ANY
#endif
#if NCURSES_EXPANDED && NCURSES_EXT_FUNCS
@@ -1700,28 +1425,16 @@ extern NCURSES_EXPORT(void) _nc_toggle_attr_on (attr_t *, attr_t);
extern NCURSES_EXPORT(void) _nc_toggle_attr_off (attr_t *, attr_t);
#undef DelCharCost
-#define DelCharCost(sp, count) NCURSES_SP_NAME(_nc_DelCharCost)(NCURSES_SP_ARGx count)
+#define DelCharCost(count) _nc_DelCharCost(count)
+extern NCURSES_EXPORT(int) _nc_DelCharCost (int);
#undef InsCharCost
-#define InsCharCost(sp, count) NCURSES_SP_NAME(_nc_InsCharCost)(NCURSES_SP_ARGx count)
-
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_DelCharCost) (NCURSES_SP_DCLx int _c);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_InsCharCost) (NCURSES_SP_DCLx int _c);
+#define InsCharCost(count) _nc_InsCharCost(count)
+extern NCURSES_EXPORT(int) _nc_InsCharCost (int);
#undef UpdateAttrs
-#define UpdateAttrs(sp,c) NCURSES_SP_NAME(_nc_UpdateAttrs)(NCURSES_SP_ARGx CHREF(c))
-
-#if USE_WIDEC_SUPPORT || defined(NEED_NCURSES_CH_T)
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_UpdateAttrs) (NCURSES_SP_DCLx CARG_CH_T _c);
-#else
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_UpdateAttrs) (NCURSES_SP_DCLx chtype c);
-#endif
-
-#if NCURSES_SP_FUNCS
-extern NCURSES_EXPORT(int) _nc_DelCharCost (int);
-extern NCURSES_EXPORT(int) _nc_InsCharCost (int);
-extern NCURSES_EXPORT(void) _nc_UpdateAttrs (CARG_CH_T);
-#endif /* NCURSES_SP_FUNCS */
+#define UpdateAttrs(c) _nc_UpdateAttrs(c)
+extern NCURSES_EXPORT(void) _nc_UpdateAttrs (NCURSES_CH_T);
#else
@@ -1770,8 +1483,8 @@ extern NCURSES_EXPORT(void) _nc_linedump (void);
#endif
/* lib_acs.c */
-extern NCURSES_EXPORT(void) _nc_init_acs (void); /* corresponds to traditional 'init_acs()' */
-extern NCURSES_EXPORT(int) _nc_msec_cost (const char *const, int); /* used by 'tack' program */
+extern NCURSES_EXPORT(void) _nc_init_acs (void); /* corresponds to traditional 'init_acs()' */
+extern NCURSES_EXPORT(int) _nc_msec_cost (const char *const, int); /* used by 'tack' program */
/* lib_addch.c */
#if USE_WIDEC_SUPPORT
@@ -1779,7 +1492,7 @@ NCURSES_EXPORT(int) _nc_build_wch(WINDOW *win, ARG_CH_T ch);
#endif
/* lib_addstr.c */
-#if USE_WIDEC_SUPPORT && !(defined(USE_TERMLIB) || defined(USE_BUILD_CC))
+#if USE_WIDEC_SUPPORT && !defined(USE_TERMLIB)
extern NCURSES_EXPORT(int) _nc_wchstrlen(const cchar_t *);
#endif
@@ -1787,10 +1500,10 @@ extern NCURSES_EXPORT(int) _nc_wchstrlen(const cchar_t *);
extern NCURSES_EXPORT(bool) _nc_reset_colors(void);
/* lib_getch.c */
-extern NCURSES_EXPORT(int) _nc_wgetch(WINDOW *, int *, int EVENTLIST_2nd(_nc_eventlist *));
+extern NCURSES_EXPORT(int) _nc_wgetch(WINDOW *, unsigned long *, int EVENTLIST_2nd(_nc_eventlist *));
/* lib_insch.c */
-extern NCURSES_EXPORT(int) _nc_insert_ch(SCREEN *, WINDOW *, chtype);
+extern NCURSES_EXPORT(int) _nc_insert_ch(WINDOW *, chtype);
/* lib_mvcur.c */
#define INFINITY 1000000 /* cost: too high to use */
@@ -1806,7 +1519,7 @@ extern NCURSES_EXPORT(void) _nc_screen_resume (void);
extern NCURSES_EXPORT(void) _nc_screen_wrap (void);
/* lib_mouse.c */
-extern NCURSES_EXPORT(bool) _nc_has_mouse (SCREEN *);
+extern NCURSES_EXPORT(int) _nc_has_mouse (void);
/* lib_mvcur.c */
#define INFINITY 1000000 /* cost: too high to use */
@@ -1814,13 +1527,10 @@ extern NCURSES_EXPORT(bool) _nc_has_mouse (SCREEN *);
/* lib_setup.c */
extern NCURSES_EXPORT(char *) _nc_get_locale(void);
-extern NCURSES_EXPORT(int) _nc_unicode_locale(void);
-extern NCURSES_EXPORT(int) _nc_locale_breaks_acs(TERMINAL *);
-extern NCURSES_EXPORT(int) _nc_setupterm(NCURSES_CONST char *, int, int *, bool);
-extern NCURSES_EXPORT(void) _nc_tinfo_cmdch(TERMINAL *, char);
-
-/* lib_set_term.c */
-extern NCURSES_EXPORT(int) _nc_ripoffline(int, int(*)(WINDOW*, int));
+extern NCURSES_EXPORT(int) _nc_unicode_locale(void);
+extern NCURSES_EXPORT(int) _nc_locale_breaks_acs(TERMINAL *);
+extern NCURSES_EXPORT(int) _nc_setupterm(NCURSES_CONST char *, int, int *, bool);
+extern NCURSES_EXPORT(void) _nc_get_screensize(SCREEN *, int *, int *);
/* lib_tstp.c */
#if USE_SIGWINCH
@@ -1829,6 +1539,9 @@ extern NCURSES_EXPORT(int) _nc_handle_sigwinch(SCREEN *);
#define _nc_handle_sigwinch(a) /* nothing */
#endif
+/* lib_ungetch.c */
+extern NCURSES_EXPORT(int) _nc_ungetch (SCREEN *, int);
+
/* lib_wacs.c */
#if USE_WIDEC_SUPPORT
extern NCURSES_EXPORT(void) _nc_init_wacs(void);
@@ -1864,8 +1577,9 @@ extern NCURSES_EXPORT(int) _nc_remove_string (TRIES **, const char *);
/* elsewhere ... */
extern NCURSES_EXPORT(ENTRY *) _nc_delink_entry (ENTRY *, TERMTYPE *);
+extern NCURSES_EXPORT(NCURSES_CONST char *) _nc_keyname (SCREEN *, int);
+extern NCURSES_EXPORT(NCURSES_CONST char *) _nc_unctrl (SCREEN *, chtype);
extern NCURSES_EXPORT(SCREEN *) _nc_screen_of (WINDOW *);
-extern NCURSES_EXPORT(TERMINAL*) _nc_get_cur_term (void);
extern NCURSES_EXPORT(WINDOW *) _nc_makenew (int, int, int, int, int);
extern NCURSES_EXPORT(char *) _nc_trace_buf (int, size_t);
extern NCURSES_EXPORT(char *) _nc_trace_bufcat (int, const char *);
@@ -1878,15 +1592,12 @@ extern NCURSES_EXPORT(int) _nc_getenv_num (const char *);
extern NCURSES_EXPORT(int) _nc_keypad (SCREEN *, bool);
extern NCURSES_EXPORT(int) _nc_ospeed (int);
extern NCURSES_EXPORT(int) _nc_outch (int);
-extern NCURSES_EXPORT(int) _nc_putp(const char *, const char *);
-extern NCURSES_EXPORT(int) _nc_putp_flush(const char *, const char *);
extern NCURSES_EXPORT(int) _nc_read_termcap_entry (const char *const, TERMTYPE *const);
extern NCURSES_EXPORT(int) _nc_setupscreen (int, int, FILE *, bool, int);
-extern NCURSES_EXPORT(int) _nc_setup_tinfo(const char *, TERMTYPE *);
extern NCURSES_EXPORT(int) _nc_timed_wait (SCREEN *, int, int, int * EVENTLIST_2nd(_nc_eventlist *));
-extern NCURSES_EXPORT(void) _nc_do_color (short, short, bool, NCURSES_OUTC);
+extern NCURSES_EXPORT(void) _nc_do_color (short, short, bool, int (*)(int));
extern NCURSES_EXPORT(void) _nc_flush (void);
-extern NCURSES_EXPORT(void) _nc_free_and_exit (int) GCC_NORETURN;
+extern NCURSES_EXPORT(void) _nc_free_and_exit (int);
extern NCURSES_EXPORT(void) _nc_free_entry (ENTRY *, TERMTYPE *);
extern NCURSES_EXPORT(void) _nc_freeall (void);
extern NCURSES_EXPORT(void) _nc_hash_map (void);
@@ -1911,17 +1622,13 @@ extern NCURSES_EXPORT(void) _nc_names_leaks(void);
extern NCURSES_EXPORT(void) _nc_tgetent_leaks(void);
#endif
-#if !(defined(USE_TERMLIB) || defined(USE_BUILD_CC))
+#ifndef USE_TERMLIB
extern NCURSES_EXPORT(NCURSES_CH_T) _nc_render (WINDOW *, NCURSES_CH_T);
extern NCURSES_EXPORT(int) _nc_waddch_nosync (WINDOW *, const NCURSES_CH_T);
extern NCURSES_EXPORT(void) _nc_scroll_window (WINDOW *, int const, NCURSES_SIZE_T const, NCURSES_SIZE_T const, NCURSES_CH_T);
#endif
-#if USE_WIDEC_SUPPORT
-extern NCURSES_EXPORT(int) _nc_insert_wch(WINDOW *, const cchar_t *);
-#endif
-
-#if USE_WIDEC_SUPPORT && !(defined(USE_TERMLIB) || defined(USE_BUILD_CC))
+#if USE_WIDEC_SUPPORT && !defined(USE_TERMLIB)
extern NCURSES_EXPORT(size_t) _nc_wcrtomb (char *, wchar_t, mbstate_t *);
#endif
@@ -1943,26 +1650,6 @@ extern NCURSES_EXPORT(int) _nc_eventlist_timeout(_nc_eventlist *);
#endif
/*
- * Wide-character macros to hide some platform-differences.
- */
-#if USE_WIDEC_SUPPORT
-#if HAVE_MBTOWC && HAVE_MBLEN
-#define reset_mbytes(state) IGNORE_RC(mblen(NULL, 0)), IGNORE_RC(mbtowc(NULL, NULL, 0))
-#define count_mbytes(buffer,length,state) mblen(buffer,length)
-#define check_mbytes(wch,buffer,length,state) \
- (int) mbtowc(&wch, buffer, length)
-#define state_unused
-#elif HAVE_MBRTOWC && HAVE_MBRLEN
-#define reset_mbytes(state) init_mb(state)
-#define count_mbytes(buffer,length,state) mbrlen(buffer,length,&state)
-#define check_mbytes(wch,buffer,length,state) \
- (int) mbrtowc(&wch, buffer, length, &state)
-#else
-make an error
-#endif
-#endif
-
-/*
* Not everyone has vsscanf(), but we'd like to use it for scanw().
*/
#if !HAVE_VSSCANF
@@ -1974,34 +1661,24 @@ extern NCURSES_EXPORT_VAR(int *) _nc_oldnums;
#define USE_SETBUF_0 0
-#define NC_BUFFERED(sp,flag) NCURSES_SP_NAME(_nc_set_buffer)(NCURSES_SP_ARGx sp->_ofp, flag)
+#define NC_BUFFERED(flag) _nc_set_buffer(SP->_ofp, flag)
-#define NC_OUTPUT(sp) ((sp != 0) ? sp->_ofp : stdout)
+#define NC_OUTPUT ((SP != 0) ? SP->_ofp : stdout)
/*
* On systems with a broken linker, define 'SP' as a function to force the
* linker to pull in the data-only module with 'SP'.
*/
-#define _nc_alloc_screen_sp() typeCalloc(SCREEN, 1)
-
#if BROKEN_LINKER
#define SP _nc_screen()
extern NCURSES_EXPORT(SCREEN *) _nc_screen (void);
-extern NCURSES_EXPORT(int) _nc_alloc_screen (void);
-extern NCURSES_EXPORT(void) _nc_set_screen (SCREEN *);
-#define CURRENT_SCREEN _nc_screen()
+extern NCURSES_EXPORT(int) _nc_alloc_screen (void);
+extern NCURSES_EXPORT(void) _nc_set_screen (SCREEN *);
#else
/* current screen is private data; avoid possible linking conflicts too */
extern NCURSES_EXPORT_VAR(SCREEN *) SP;
-#define CURRENT_SCREEN SP
-#define _nc_alloc_screen() ((SP = _nc_alloc_screen_sp()) != 0)
-#define _nc_set_screen(sp) SP = sp
-#endif
-
-#if NCURSES_SP_FUNCS
-#define CURRENT_SCREEN_PRE (IsPreScreen(CURRENT_SCREEN) ? CURRENT_SCREEN : new_prescr())
-#else
-#define CURRENT_SCREEN_PRE CURRENT_SCREEN
+#define _nc_alloc_screen() ((SP = typeCalloc(SCREEN, 1)) != 0)
+#define _nc_set_screen(sp) SP = sp
#endif
/*
@@ -2009,11 +1686,10 @@ extern NCURSES_EXPORT_VAR(SCREEN *) SP;
* if the application is running multiple screens under X, it's quite possible
* they could all have type xterm but have different sizes! So...
*/
-#define screen_lines(sp) (sp)->_lines
-#define screen_columns(sp) (sp)->_columns
+#define screen_lines SP->_lines
+#define screen_columns SP->_columns
extern NCURSES_EXPORT(int) _nc_slk_initialize (WINDOW *, int);
-extern NCURSES_EXPORT(int) _nc_format_slks (NCURSES_SP_DCLx int _c);
/*
* Some constants related to SLK's
@@ -2031,282 +1707,16 @@ extern NCURSES_EXPORT(int) _nc_format_slks (NCURSES_SP_DCLx int _c);
#define MAX_SKEY(fmt) (SLK_STDFMT(fmt)? MAX_SKEY_OLD : MAX_SKEY_PC)
#define MAX_SKEY_LEN(fmt) (SLK_STDFMT(fmt)? MAX_SKEY_LEN_OLD : MAX_SKEY_LEN_PC)
+extern NCURSES_EXPORT(int) _nc_ripoffline (int line, int (*init)(WINDOW *,int));
+
/*
* Common error messages
*/
#define MSG_NO_MEMORY "Out of memory"
#define MSG_NO_INPUTS "Premature EOF"
-extern NCURSES_EXPORT(int) _nc_set_tty_mode(TTY *);
-extern NCURSES_EXPORT(int) _nc_get_tty_mode(TTY *);
-
-/* 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
-
-#define SetSafeOutcWrapper(outc) \
- SCREEN* sp = CURRENT_SCREEN; \
- if (sp==0) { \
- struct screen dummy; \
- sp = &dummy; \
- memset(sp,0,sizeof(struct screen)); \
- sp->_outch = _nc_outc_wrapper; \
- }\
- sp->jump = outc
-
-#ifdef USE_TERM_DRIVER
-typedef void* TERM_HANDLE;
-
-typedef struct _termInfo
-{
- bool caninit;
-
- bool hascolor;
- bool initcolor;
- bool canchange;
-
- int tabsize;
-
- int maxcolors;
- int maxpairs;
- int nocolorvideo;
-
- int numbuttons;
- int numlabels;
- int labelwidth;
- int labelheight;
-
- const color_t* defaultPalette;
-} TerminalInfo;
-
-typedef struct term_driver {
- bool isTerminfo;
- bool (*CanHandle)(struct DriverTCB*,const char*,int*);
- void (*init)(struct DriverTCB*);
- void (*release)(struct DriverTCB*);
- int (*size)(struct DriverTCB*, int* Line, int *Cols);
- int (*sgmode)(struct DriverTCB*, bool setFlag, TTY*);
- chtype (*conattr)(struct DriverTCB*);
- int (*hwcur)(struct DriverTCB*, int yold, int xold, int y, int x);
- int (*mode)(struct DriverTCB*, bool progFlag, bool defFlag);
- bool (*rescol)(struct DriverTCB*);
- bool (*rescolors)(struct DriverTCB*);
- void (*color)(struct DriverTCB*,bool fore, int color, int(*)(SCREEN*,int));
- int (*doBeepOrFlash)(struct DriverTCB*, bool);
- void (*initpair)(struct DriverTCB*,short,short,short);
- void (*initcolor)(struct DriverTCB*,short,short,short,short);
- void (*docolor)(struct DriverTCB*,short,short,bool,int(*)(SCREEN*,int));
- void (*initmouse)(struct DriverTCB*);
- int (*testmouse)(struct DriverTCB*,int);
- void (*setfilter)(struct DriverTCB*);
- void (*hwlabel)(struct DriverTCB*,int,char*);
- void (*hwlabelOnOff)(struct DriverTCB*,bool);
- int (*update)(struct DriverTCB*);
- int (*defaultcolors)(struct DriverTCB*,int,int);
- int (*print)(struct DriverTCB*,char*,int);
- int (*getsize)(struct DriverTCB*,int*,int*);
- int (*setsize)(struct DriverTCB*,int,int);
- void (*initacs)(struct DriverTCB*,chtype*,chtype*);
- void (*scinit)(SCREEN *);
- void (*scexit)(SCREEN *);
- int (*twait)(struct DriverTCB*,int,int,int* EVENTLIST_2nd(_nc_eventlist*));
- int (*read)(struct DriverTCB*,int*);
- int (*nap)(struct DriverTCB*,int);
- int (*kpad)(struct DriverTCB*, bool);
- int (*kyOk)(struct DriverTCB*, int, bool);
- bool (*kyExist)(struct DriverTCB*, int);
-} TERM_DRIVER;
-
-typedef struct DriverTCB
-{
- TERMINAL term; /* needs to be the first Element !!! */
- TERM_HANDLE inp; /* The input handle of the Terminal */
- TERM_HANDLE out; /* The output handle of the Terminal in shell mode */
- TERM_HANDLE hdl; /* The output handle of the Terminal in prog mode */
- TERM_DRIVER* drv; /* The driver for that Terminal */
- SCREEN* csp; /* The screen that owns that Terminal */
- TerminalInfo info; /* Driver independent core capabilities of the Terminal */
- void* prop; /* Driver dependent property storage to be used by the Driver */
- long magic;
-} TERMINAL_CONTROL_BLOCK;
-
-#define NCDRV_MAGIC(id) (0x47110000 | (id&0xffff))
-#define NCDRV_TINFO 0x01
-#define NCDRV_WINCONSOLE 0x02
-
-#define TCBOf(sp) ((TERMINAL_CONTROL_BLOCK*)(TerminalOf(sp)))
-#define InfoOf(sp) TCBOf(sp)->info
-#define CallDriver(sp,method) TCBOf(sp)->drv->method(TCBOf(sp))
-#define CallDriver_1(sp,method,arg1) TCBOf(sp)->drv->method(TCBOf(sp),arg1)
-#define CallDriver_2(sp,method,arg1,arg2) TCBOf(sp)->drv->method(TCBOf(sp),arg1,arg2)
-#define CallDriver_3(sp,method,arg1,arg2,arg3) TCBOf(sp)->drv->method(TCBOf(sp),arg1,arg2,arg3)
-#define CallDriver_4(sp,method,arg1,arg2,arg3,arg4) TCBOf(sp)->drv->method(TCBOf(sp),arg1,arg2,arg3,arg4)
-
-extern NCURSES_EXPORT_VAR(const color_t*) _nc_cga_palette;
-extern NCURSES_EXPORT_VAR(const color_t*) _nc_hls_palette;
-
-extern NCURSES_EXPORT(int) _nc_get_driver(TERMINAL_CONTROL_BLOCK*, const char*, int*);
-extern NCURSES_EXPORT(void) _nc_get_screensize_ex(SCREEN *, TERMINAL *, int *, int *);
-#endif /* USE_TERM_DRIVER */
-
-/*
- * Entrypoints which are actually provided in the terminal driver, which would
- * be an sp-name otherwise.
- */
-#ifdef USE_TERM_DRIVER
-#define TINFO_HAS_KEY _nc_tinfo_has_key
-#define TINFO_DOUPDATE _nc_tinfo_doupdate
-#define TINFO_MVCUR _nc_tinfo_mvcur
-extern NCURSES_EXPORT(int) TINFO_HAS_KEY(SCREEN*, int);
-extern NCURSES_EXPORT(int) TINFO_DOUPDATE(SCREEN *);
-extern NCURSES_EXPORT(int) TINFO_MVCUR(SCREEN*, int, int, int, int);
-#else
-#define TINFO_HAS_KEY NCURSES_SP_NAME(has_key)
-#define TINFO_DOUPDATE NCURSES_SP_NAME(doupdate)
-#define TINFO_MVCUR NCURSES_SP_NAME(mvcur)
-#endif
-
-/*
- * Entrypoints using an extra parameter with the terminal driver.
- */
-#ifdef USE_TERM_DRIVER
-extern NCURSES_EXPORT(void) _nc_get_screensize(SCREEN *, TERMINAL *, int *, int *);
-extern NCURSES_EXPORT(int) _nc_setupterm_ex(TERMINAL **, NCURSES_CONST char *, int , int *, bool);
-#define TINFO_GET_SIZE(sp, tp, lp, cp) \
- _nc_get_screensize(sp, tp, lp, cp)
-#define TINFO_SET_CURTERM(sp, tp) \
- NCURSES_SP_NAME(set_curterm)(sp, tp)
-#define TINFO_SETUP_TERM(tpp, name, fd, err, reuse) \
- _nc_setupterm_ex(tpp, name, fd, err, reuse)
-#else /* !USE_TERM_DRIVER */
-extern NCURSES_EXPORT(void) _nc_get_screensize(SCREEN *, int *, int *);
-#define TINFO_GET_SIZE(sp, tp, lp, cp) \
- _nc_get_screensize(sp, lp, cp)
-#define TINFO_SET_CURTERM(sp, tp) \
- set_curterm(tp)
-#define TINFO_SETUP_TERM(tpp, name, fd, err, reuse) \
- _nc_setupterm(name, fd, err, reuse)
-#endif /* !USE_TERM_DRIVER */
-
-#ifdef USE_TERM_DRIVER
-#ifdef __MINGW32__
-#include <nc_mingw.h>
-extern NCURSES_EXPORT_VAR(TERM_DRIVER) _nc_WIN_DRIVER;
-#endif
-extern NCURSES_EXPORT_VAR(TERM_DRIVER) _nc_TINFO_DRIVER;
-#endif
-
-#ifdef USE_TERM_DRIVER
-#define IsTermInfo(sp) (TCBOf(sp) && ((TCBOf(sp)->drv->isTerminfo)))
-#else
-#define IsTermInfo(sp) TRUE
-#endif
-
-#define HasTInfoTerminal(sp) ((0 != TerminalOf(sp)) && IsTermInfo(sp))
-#define IsValidTIScreen(sp) (HasTInfoTerminal(sp))
-
-/*
- * Exported entrypoints beyond the published API
- */
-#if NCURSES_SP_FUNCS
-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);
-
-#if USE_REENTRANT
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_TABSIZE)(SCREEN*);
-extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(longname)(SCREEN*);
-#endif
-
-#if NCURSES_EXT_FUNCS
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_set_tabsize)(SCREEN*, int);
-#endif
-
-/*
- * We put the safe versions of various calls here as they are not published
- * part of the API up to now
- */
-extern NCURSES_EXPORT(TERMINAL*) NCURSES_SP_NAME(_nc_get_cur_term) (SCREEN *sp);
-extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(_nc_makenew) (SCREEN*, int, int, int, int, int);
-extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(_nc_reset_colors)(SCREEN*);
-extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(_nc_printf_string)(SCREEN*, const char *, va_list);
-extern NCURSES_EXPORT(chtype) NCURSES_SP_NAME(_nc_acs_char)(SCREEN*,int);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_curs_set)(SCREEN*,int);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_get_tty_mode)(SCREEN*,TTY*);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_mcprint)(SCREEN*,char*, int);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_msec_cost)(SCREEN*, const char *, int);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_outch)(SCREEN*, int);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_putp)(SCREEN*, const char *, const char*);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_putp_flush)(SCREEN*, const char *, const char *);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_resetty)(SCREEN*);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_resize_term)(SCREEN*,int,int);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_ripoffline)(SCREEN*, int, int (*)(WINDOW *,int));
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_savetty)(SCREEN*);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_scr_init)(SCREEN*,const char*);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_scr_restore)(SCREEN*, const char*);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_scrolln)(SCREEN*, int, int, int, int);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_set_tty_mode)(SCREEN*, TTY*);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_setupscreen)(SCREEN**, int, int, FILE *, bool, int);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tgetent)(SCREEN*,char*,const char *);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tigetnum)(SCREEN*,NCURSES_CONST char*);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_vid_attr)(SCREEN *, attr_t, short, void *);
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_vidputs)(SCREEN*,chtype,int(*) (SCREEN*, int));
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_do_color)(SCREEN*, short, short, bool, NCURSES_SP_OUTC);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_do_xmc_glitch)(SCREEN*, attr_t);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_flush)(SCREEN*);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_free_and_exit)(SCREEN*, int) GCC_NORETURN;
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_freeall)(SCREEN*);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_hash_map)(SCREEN*);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_init_acs)(SCREEN*);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_make_oldhash)(SCREEN*, int i);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_mvcur_init)(SCREEN*);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_mvcur_resume)(SCREEN*);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_mvcur_wrap)(SCREEN*);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_screen_init)(SCREEN*);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_screen_resume)(SCREEN*);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_screen_wrap)(SCREEN*);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_scroll_oldhash)(SCREEN*, int n, int top, int bot);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_scroll_optimize)(SCREEN*);
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_set_buffer)(SCREEN*, FILE *, bool);
-
-extern NCURSES_EXPORT(void) _nc_cookie_init(SCREEN *sp);
-
-#if defined(TRACE) || defined(SCROLLDEBUG) || defined(HASHDEBUG)
-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_linedump)(SCREEN*);
-#endif
-
-#if USE_WIDEC_SUPPORT
-extern NCURSES_EXPORT(wchar_t *) NCURSES_SP_NAME(_nc_wunctrl)(SCREEN*, cchar_t *);
-#endif
-
-#endif /* NCURSES_SP_FUNCS */
-
-#if NCURSES_SP_FUNCS
-
-#define safe_keyname NCURSES_SP_NAME(keyname)
-#define safe_unctrl NCURSES_SP_NAME(unctrl)
-#define safe_ungetch NCURSES_SP_NAME(ungetch)
-
-#else
-
-#define safe_keyname _nc_keyname
-#define safe_unctrl _nc_unctrl
-#define safe_ungetch _nc_ungetch
-
-extern NCURSES_EXPORT(NCURSES_CONST char *) _nc_keyname (SCREEN *, int);
-extern NCURSES_EXPORT(int) _nc_ungetch (SCREEN *, int);
-extern NCURSES_EXPORT(NCURSES_CONST char *) _nc_unctrl (SCREEN *, chtype);
-
-#endif
-
#ifdef __cplusplus
}
#endif
-/* *INDENT-ON* */
-
#endif /* CURSES_PRIV_H */
diff --git a/ncurses/llib-lncurses b/ncurses/llib-lncurses
index 48f42830272a..cc0e3667e681 100644
--- a/ncurses/llib-lncurses
+++ b/ncurses/llib-lncurses
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -27,7 +27,7 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1996-2010,2011 *
+ * Author: Thomas E. Dickey 1996-2008 *
****************************************************************************/
/* LINTLIBRARY */
@@ -38,54 +38,27 @@
#undef _nc_oldnums
int *_nc_oldnums;
-#undef _nc_scroll_optimize_sp
-void _nc_scroll_optimize_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_scroll_optimize
void _nc_scroll_optimize(void)
{ /* void */ }
-#undef _nc_linedump_sp
-void _nc_linedump_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_linedump
void _nc_linedump(void)
{ /* void */ }
/* ./tty/hashmap.c */
-#undef _nc_hash_map_sp
-void _nc_hash_map_sp(
- SCREEN *sp)
- { /* void */ }
+#include <term.h>
#undef _nc_hash_map
void _nc_hash_map(void)
{ /* void */ }
-#undef _nc_make_oldhash_sp
-void _nc_make_oldhash_sp(
- SCREEN *sp,
- int i)
- { /* void */ }
-
#undef _nc_make_oldhash
void _nc_make_oldhash(
int i)
{ /* void */ }
-#undef _nc_scroll_oldhash_sp
-void _nc_scroll_oldhash_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot)
- { /* void */ }
-
#undef _nc_scroll_oldhash
void _nc_scroll_oldhash(
int n,
@@ -139,11 +112,6 @@ int waddchnstr(
/* ./base/lib_beep.c */
-#undef beep_sp
-int beep_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef beep
int beep(void)
{ return(*(int *)0); }
@@ -226,32 +194,14 @@ int COLOR_PAIRS;
#undef COLORS
int COLORS;
-#undef _nc_reset_colors_sp
-NCURSES_BOOL _nc_reset_colors_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef _nc_reset_colors
NCURSES_BOOL _nc_reset_colors(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef start_color_sp
-int start_color_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef start_color
int start_color(void)
{ return(*(int *)0); }
-#undef init_pair_sp
-int init_pair_sp(
- SCREEN *sp,
- short pair,
- short f,
- short b)
- { return(*(int *)0); }
-
#undef init_pair
int init_pair(
short pair,
@@ -259,15 +209,6 @@ int init_pair(
short b)
{ return(*(int *)0); }
-#undef init_color_sp
-int init_color_sp(
- SCREEN *sp,
- short color,
- short r,
- short g,
- short b)
- { return(*(int *)0); }
-
#undef init_color
int init_color(
short color,
@@ -276,33 +217,14 @@ int init_color(
short b)
{ return(*(int *)0); }
-#undef can_change_color_sp
-NCURSES_BOOL can_change_color_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef can_change_color
NCURSES_BOOL can_change_color(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef has_colors_sp
-NCURSES_BOOL has_colors_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef has_colors
NCURSES_BOOL has_colors(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef color_content_sp
-int color_content_sp(
- SCREEN *sp,
- short color,
- short *r,
- short *g,
- short *b)
- { return(*(int *)0); }
-
#undef color_content
int color_content(
short color,
@@ -311,14 +233,6 @@ int color_content(
short *b)
{ return(*(int *)0); }
-#undef pair_content_sp
-int pair_content_sp(
- SCREEN *sp,
- short pair,
- short *f,
- short *b)
- { return(*(int *)0); }
-
#undef pair_content
int pair_content(
short pair,
@@ -326,21 +240,13 @@ int pair_content(
short *b)
{ return(*(int *)0); }
-#undef _nc_do_color_sp
-void _nc_do_color_sp(
- SCREEN *sp,
- short old_pair,
- short pair,
- NCURSES_BOOL reverse,
- NCURSES_OUTC_sp outc)
- { /* void */ }
-
#undef _nc_do_color
void _nc_do_color(
short old_pair,
short pair,
NCURSES_BOOL reverse,
- NCURSES_OUTC outc)
+ int (*outc)(
+ int p1))
{ /* void */ }
/* ./base/lib_colorset.c */
@@ -368,31 +274,16 @@ int delwin(
/* ./base/lib_echo.c */
-#undef echo_sp
-int echo_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef echo
int echo(void)
{ return(*(int *)0); }
-#undef noecho_sp
-int noecho_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef noecho
int noecho(void)
{ return(*(int *)0); }
/* ./base/lib_endwin.c */
-#undef endwin_sp
-int endwin_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef endwin
int endwin(void)
{ return(*(int *)0); }
@@ -406,11 +297,6 @@ int werase(
/* ./base/lib_flash.c */
-#undef flash_sp
-int flash_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef flash
int flash(void)
{ return(*(int *)0); }
@@ -1221,21 +1107,11 @@ NCURSES_BOOL is_notimeout(
const WINDOW *z)
{ return(*(NCURSES_BOOL *)0); }
-#undef is_pad
-NCURSES_BOOL is_pad(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
#undef is_scrollok
NCURSES_BOOL is_scrollok(
const WINDOW *z)
{ return(*(NCURSES_BOOL *)0); }
-#undef is_subwin
-NCURSES_BOOL is_subwin(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
#undef is_syncok
NCURSES_BOOL is_syncok(
const WINDOW *z)
@@ -1262,30 +1138,15 @@ NCURSES_BOOL mouse_trafo(
#undef ESCDELAY
int ESCDELAY;
-#undef set_escdelay_sp
-int set_escdelay_sp(
- SCREEN *sp,
- int value)
- { return(*(int *)0); }
-
#undef set_escdelay
int set_escdelay(
int value)
{ return(*(int *)0); }
-#undef get_escdelay_sp
-int get_escdelay_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef get_escdelay
-int get_escdelay(void)
- { return(*(int *)0); }
-
#undef _nc_wgetch
int _nc_wgetch(
WINDOW *win,
- int *result,
+ unsigned long *result,
int use_meta)
{ return(*(int *)0); }
@@ -1339,7 +1200,6 @@ WINDOW *initscr(void)
#undef _nc_insert_ch
int _nc_insert_ch(
- SCREEN *sp,
WINDOW *win,
chtype ch)
{ return(*(int *)0); }
@@ -1378,11 +1238,6 @@ int winnstr(
/* ./base/lib_isendwin.c */
-#undef isendwin_sp
-NCURSES_BOOL isendwin_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef isendwin
NCURSES_BOOL isendwin(void)
{ return(*(NCURSES_BOOL *)0); }
@@ -1397,35 +1252,16 @@ int leaveok(
/* ./base/lib_mouse.c */
-#undef getmouse_sp
-int getmouse_sp(
- SCREEN *sp,
- MEVENT *aevent)
- { return(*(int *)0); }
-
#undef getmouse
int getmouse(
MEVENT *aevent)
{ return(*(int *)0); }
-#undef ungetmouse_sp
-int ungetmouse_sp(
- SCREEN *sp,
- MEVENT *aevent)
- { return(*(int *)0); }
-
#undef ungetmouse
int ungetmouse(
MEVENT *aevent)
{ return(*(int *)0); }
-#undef mousemask_sp
-mmask_t mousemask_sp(
- SCREEN *sp,
- mmask_t newmask,
- mmask_t *oldmask)
- { return(*(mmask_t *)0); }
-
#undef mousemask
mmask_t mousemask(
mmask_t newmask,
@@ -1439,30 +1275,14 @@ NCURSES_BOOL wenclose(
int x)
{ return(*(NCURSES_BOOL *)0); }
-#undef mouseinterval_sp
-int mouseinterval_sp(
- SCREEN *sp,
- int maxclick)
- { return(*(int *)0); }
-
#undef mouseinterval
int mouseinterval(
int maxclick)
{ return(*(int *)0); }
#undef _nc_has_mouse
-NCURSES_BOOL _nc_has_mouse(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_mouse_sp
-NCURSES_BOOL has_mouse_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_mouse
-NCURSES_BOOL has_mouse(void)
- { return(*(NCURSES_BOOL *)0); }
+int _nc_has_mouse(void)
+ { return(*(int *)0); }
#undef wmouse_trafo
NCURSES_BOOL wmouse_trafo(
@@ -1483,55 +1303,24 @@ int wmove(
/* ./tty/lib_mvcur.c */
-#undef _nc_msec_cost_sp
-int _nc_msec_cost_sp(
- SCREEN *sp,
- const char *const cap,
- int affcnt)
- { return(*(int *)0); }
-
#undef _nc_msec_cost
int _nc_msec_cost(
const char *const cap,
int affcnt)
{ return(*(int *)0); }
-#undef _nc_mvcur_resume_sp
-void _nc_mvcur_resume_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_mvcur_resume
void _nc_mvcur_resume(void)
{ /* void */ }
-#undef _nc_mvcur_init_sp
-void _nc_mvcur_init_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_mvcur_init
void _nc_mvcur_init(void)
{ /* void */ }
-#undef _nc_mvcur_wrap_sp
-void _nc_mvcur_wrap_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_mvcur_wrap
void _nc_mvcur_wrap(void)
{ /* void */ }
-#undef mvcur_sp
-int mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
- int xnew)
- { return(*(int *)0); }
-
#undef mvcur
int mvcur(
int yold,
@@ -1554,32 +1343,14 @@ int mvwin(
/* ./base/lib_newterm.c */
-#undef filter_sp
-void filter_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef filter
void filter(void)
{ /* void */ }
-#undef nofilter_sp
-void nofilter_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef nofilter
void nofilter(void)
{ /* void */ }
-#undef newterm_sp
-SCREEN *newterm_sp(
- SCREEN *sp,
- char *name,
- FILE *ofp,
- FILE *ifp)
- { return(*(SCREEN **)0); }
-
#undef newterm
SCREEN *newterm(
char *name,
@@ -1594,15 +1365,6 @@ int _nc_freewin(
WINDOW *win)
{ return(*(int *)0); }
-#undef newwin_sp
-WINDOW *newwin_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
- int begx)
- { return(*(WINDOW **)0); }
-
#undef newwin
WINDOW *newwin(
int num_lines,
@@ -1629,9 +1391,8 @@ WINDOW *subwin(
int x)
{ return(*(WINDOW **)0); }
-#undef _nc_makenew_sp
-WINDOW *_nc_makenew_sp(
- SCREEN *sp,
+#undef _nc_makenew
+WINDOW *_nc_makenew(
int num_lines,
int num_columns,
int begy,
@@ -1639,37 +1400,17 @@ WINDOW *_nc_makenew_sp(
int flags)
{ return(*(WINDOW **)0); }
-#undef _nc_curscr_of
-WINDOW *_nc_curscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
-
-#undef _nc_newscr_of
-WINDOW *_nc_newscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
-
-#undef _nc_stdscr_of
-WINDOW *_nc_stdscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
+#undef _nc_screen_of
+SCREEN *_nc_screen_of(
+ WINDOW *win)
+ { return(*(SCREEN **)0); }
/* ./base/lib_nl.c */
-#undef nl_sp
-int nl_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef nl
int nl(void)
{ return(*(int *)0); }
-#undef nonl_sp
-int nonl_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef nonl
int nonl(void)
{ return(*(int *)0); }
@@ -1703,13 +1444,6 @@ int copywin(
/* ./base/lib_pad.c */
-#undef newpad_sp
-WINDOW *newpad_sp(
- SCREEN *sp,
- int l,
- int c)
- { return(*(WINDOW **)0); }
-
#undef newpad
WINDOW *newpad(
int l,
@@ -1815,14 +1549,6 @@ int wnoutrefresh(
/* ./base/lib_restart.c */
-#undef restartterm_sp
-int restartterm_sp(
- SCREEN *sp,
- char *termp,
- int filenum,
- int *errret)
- { return(*(int *)0); }
-
#undef restartterm
int restartterm(
char *termp,
@@ -1871,12 +1597,6 @@ int mvwscanw(
/* ./base/lib_screen.c */
-#undef getwin_sp
-WINDOW *getwin_sp(
- SCREEN *sp,
- FILE *filep)
- { return(*(WINDOW **)0); }
-
#undef getwin
WINDOW *getwin(
FILE *filep)
@@ -1888,12 +1608,6 @@ int putwin(
FILE *filep)
{ return(*(int *)0); }
-#undef scr_restore_sp
-int scr_restore_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
#undef scr_restore
int scr_restore(
const char *file)
@@ -1904,23 +1618,11 @@ int scr_dump(
const char *file)
{ return(*(int *)0); }
-#undef scr_init_sp
-int scr_init_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
#undef scr_init
int scr_init(
const char *file)
{ return(*(int *)0); }
-#undef scr_set_sp
-int scr_set_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
#undef scr_set
int scr_set(
const char *file)
@@ -1972,16 +1674,6 @@ void delscreen(
SCREEN *sp)
{ /* void */ }
-#undef _nc_setupscreen_sp
-int _nc_setupscreen_sp(
- SCREEN **spp,
- int slines,
- int scolumns,
- FILE *output,
- NCURSES_BOOL filtered,
- int slk_format)
- { return(*(int *)0); }
-
#undef _nc_setupscreen
int _nc_setupscreen(
int slines,
@@ -1991,15 +1683,6 @@ int _nc_setupscreen(
int slk_format)
{ return(*(int *)0); }
-#undef _nc_ripoffline_sp
-int _nc_ripoffline_sp(
- SCREEN *sp,
- int line,
- int (*init)(
- WINDOW *p1,
- int p2))
- { return(*(int *)0); }
-
#undef _nc_ripoffline
int _nc_ripoffline(
int line,
@@ -2008,15 +1691,6 @@ int _nc_ripoffline(
int p2))
{ return(*(int *)0); }
-#undef ripoffline_sp
-int ripoffline_sp(
- SCREEN *sp,
- int line,
- int (*init)(
- WINDOW *p1,
- int p2))
- { return(*(int *)0); }
-
#undef ripoffline
int ripoffline(
int line,
@@ -2027,37 +1701,18 @@ int ripoffline(
/* ./base/lib_slk.c */
-#undef _nc_format_slks
-int _nc_format_slks(
- SCREEN *sp,
- int cols)
- { return(*(int *)0); }
-
#undef _nc_slk_initialize
int _nc_slk_initialize(
WINDOW *stwin,
int cols)
{ return(*(int *)0); }
-#undef slk_restore_sp
-int slk_restore_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_restore
int slk_restore(void)
{ return(*(int *)0); }
/* ./base/lib_slkatr_set.c */
-#undef slk_attr_set_sp
-int slk_attr_set_sp(
- SCREEN *sp,
- const attr_t attr,
- short color_pair_number,
- void *opts)
- { return(*(int *)0); }
-
#undef slk_attr_set
int slk_attr_set(
const attr_t attr,
@@ -2067,12 +1722,6 @@ int slk_attr_set(
/* ./base/lib_slkatrof.c */
-#undef slk_attroff_sp
-int slk_attroff_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
#undef slk_attroff
int slk_attroff(
const chtype attr)
@@ -2080,12 +1729,6 @@ int slk_attroff(
/* ./base/lib_slkatron.c */
-#undef slk_attron_sp
-int slk_attron_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
#undef slk_attron
int slk_attron(
const chtype attr)
@@ -2093,12 +1736,6 @@ int slk_attron(
/* ./base/lib_slkatrset.c */
-#undef slk_attrset_sp
-int slk_attrset_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
#undef slk_attrset
int slk_attrset(
const chtype attr)
@@ -2106,34 +1743,18 @@ int slk_attrset(
/* ./base/lib_slkattr.c */
-#undef slk_attr_sp
-attr_t slk_attr_sp(
- SCREEN *sp)
- { return(*(attr_t *)0); }
-
#undef slk_attr
attr_t slk_attr(void)
{ return(*(attr_t *)0); }
/* ./base/lib_slkclear.c */
-#undef slk_clear_sp
-int slk_clear_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_clear
int slk_clear(void)
{ return(*(int *)0); }
/* ./base/lib_slkcolor.c */
-#undef slk_color_sp
-int slk_color_sp(
- SCREEN *sp,
- short color_pair_number)
- { return(*(int *)0); }
-
#undef slk_color
int slk_color(
short color_pair_number)
@@ -2141,12 +1762,6 @@ int slk_color(
/* ./base/lib_slkinit.c */
-#undef slk_init_sp
-int slk_init_sp(
- SCREEN *sp,
- int format)
- { return(*(int *)0); }
-
#undef slk_init
int slk_init(
int format)
@@ -2154,12 +1769,6 @@ int slk_init(
/* ./base/lib_slklab.c */
-#undef slk_label_sp
-char *slk_label_sp(
- SCREEN *sp,
- int n)
- { return(*(char **)0); }
-
#undef slk_label
char *slk_label(
int n)
@@ -2167,34 +1776,16 @@ char *slk_label(
/* ./base/lib_slkrefr.c */
-#undef slk_noutrefresh_sp
-int slk_noutrefresh_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_noutrefresh
int slk_noutrefresh(void)
{ return(*(int *)0); }
-#undef slk_refresh_sp
-int slk_refresh_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_refresh
int slk_refresh(void)
{ return(*(int *)0); }
/* ./base/lib_slkset.c */
-#undef slk_set_sp
-int slk_set_sp(
- SCREEN *sp,
- int i,
- const char *astr,
- int format)
- { return(*(int *)0); }
-
#undef slk_set
int slk_set(
int i,
@@ -2204,11 +1795,6 @@ int slk_set(
/* ./base/lib_slktouch.c */
-#undef slk_touch_sp
-int slk_touch_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_touch
int slk_touch(void)
{ return(*(int *)0); }
@@ -2250,12 +1836,6 @@ char *_nc_tracemouse(
MEVENT const *ep)
{ return(*(char **)0); }
-#undef _nc_retrace_mmask_t
-mmask_t _nc_retrace_mmask_t(
- SCREEN *sp,
- mmask_t code)
- { return(*(mmask_t *)0); }
-
#undef _tracemouse
char *_tracemouse(
MEVENT const *ep)
@@ -2277,8 +1857,8 @@ void _nc_fifo_dump(
SCREEN *sp)
{ /* void */ }
-#undef ungetch_sp
-int ungetch_sp(
+#undef _nc_ungetch
+int _nc_ungetch(
SCREEN *sp,
int ch)
{ return(*(int *)0); }
@@ -2290,23 +1870,11 @@ int ungetch(
/* ./tty/lib_vidattr.c */
-#undef vidputs_sp
-int vidputs_sp(
- SCREEN *sp,
- chtype newmode,
- NCURSES_OUTC_sp outc)
- { return(*(int *)0); }
-
#undef vidputs
int vidputs(
chtype newmode,
- NCURSES_OUTC outc)
- { return(*(int *)0); }
-
-#undef vidattr_sp
-int vidattr_sp(
- SCREEN *sp,
- chtype newmode)
+ int (*outc)(
+ int p1))
{ return(*(int *)0); }
#undef vidattr
@@ -2314,11 +1882,6 @@ int vidattr(
chtype newmode)
{ return(*(int *)0); }
-#undef termattrs_sp
-chtype termattrs_sp(
- SCREEN *sp)
- { return(*(chtype *)0); }
-
#undef termattrs
chtype termattrs(void)
{ return(*(chtype *)0); }
@@ -2399,24 +1962,12 @@ WINDOW *dupwin(
/* ./base/nc_panel.c */
-#undef _nc_panelhook_sp
-struct panelhook *_nc_panelhook_sp(
- SCREEN *sp)
- { return(*(struct panelhook **)0); }
-
#undef _nc_panelhook
struct panelhook *_nc_panelhook(void)
{ return(*(struct panelhook **)0); }
/* ./base/safe_sprintf.c */
-#undef _nc_printf_string_sp
-char *_nc_printf_string_sp(
- SCREEN *sp,
- const char *fmt,
- va_list ap)
- { return(*(char **)0); }
-
#undef _nc_printf_string
char *_nc_printf_string(
const char *fmt,
@@ -2428,24 +1979,10 @@ char *_nc_printf_string(
#include <sys/time.h>
#include <sys/times.h>
-#undef doupdate_sp
-int doupdate_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef doupdate
int doupdate(void)
{ return(*(int *)0); }
-#undef _nc_scrolln_sp
-int _nc_scrolln_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot,
- int maxy)
- { return(*(int *)0); }
-
#undef _nc_scrolln
int _nc_scrolln(
int n,
@@ -2454,39 +1991,18 @@ int _nc_scrolln(
int maxy)
{ return(*(int *)0); }
-#undef _nc_screen_resume_sp
-void _nc_screen_resume_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_screen_resume
void _nc_screen_resume(void)
{ /* void */ }
-#undef _nc_screen_init_sp
-void _nc_screen_init_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_screen_init
void _nc_screen_init(void)
{ /* void */ }
-#undef _nc_screen_wrap_sp
-void _nc_screen_wrap_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_screen_wrap
void _nc_screen_wrap(void)
{ /* void */ }
-#undef _nc_do_xmc_glitch_sp
-void _nc_do_xmc_glitch_sp(
- SCREEN *sp,
- attr_t previous)
- { /* void */ }
-
#undef _nc_do_xmc_glitch
void _nc_do_xmc_glitch(
attr_t previous)
@@ -2518,16 +2034,12 @@ void _nc_vsscanf(void)
/* ./base/lib_freeall.c */
+#include <term_entry.h>
+
#undef _nc_freeall
void _nc_freeall(void)
{ /* void */ }
-#undef _nc_free_and_exit_sp
-void _nc_free_and_exit_sp(
- SCREEN *sp,
- int code)
- { /* void */ }
-
#undef _nc_free_and_exit
void _nc_free_and_exit(
int code)
@@ -2547,24 +2059,6 @@ void _nc_toggle_attr_off(
attr_t at)
{ /* void */ }
-#undef _nc_DelCharCost_sp
-int _nc_DelCharCost_sp(
- SCREEN *sp,
- int count)
- { return(*(int *)0); }
-
-#undef _nc_InsCharCost_sp
-int _nc_InsCharCost_sp(
- SCREEN *sp,
- int count)
- { return(*(int *)0); }
-
-#undef _nc_UpdateAttrs_sp
-void _nc_UpdateAttrs_sp(
- SCREEN *sp,
- chtype c)
- { /* void */ }
-
#undef _nc_DelCharCost
int _nc_DelCharCost(
int count)
@@ -2582,12 +2076,6 @@ void _nc_UpdateAttrs(
/* ./base/legacy_coding.c */
-#undef use_legacy_coding_sp
-int use_legacy_coding_sp(
- SCREEN *sp,
- int level)
- { return(*(int *)0); }
-
#undef use_legacy_coding
int use_legacy_coding(
int level)
@@ -2595,22 +2083,10 @@ int use_legacy_coding(
/* ./base/lib_dft_fgbg.c */
-#undef use_default_colors_sp
-int use_default_colors_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef use_default_colors
int use_default_colors(void)
{ return(*(int *)0); }
-#undef assume_default_colors_sp
-int assume_default_colors_sp(
- SCREEN *sp,
- int fg,
- int bg)
- { return(*(int *)0); }
-
#undef assume_default_colors
int assume_default_colors(
int fg,
@@ -2619,13 +2095,6 @@ int assume_default_colors(
/* ./tinfo/lib_print.c */
-#undef mcprint_sp
-int mcprint_sp(
- SCREEN *sp,
- char *data,
- int len)
- { return(*(int *)0); }
-
#undef mcprint
int mcprint(
char *data,
@@ -2634,39 +2103,18 @@ int mcprint(
/* ./base/resizeterm.c */
-#undef is_term_resized_sp
-NCURSES_BOOL is_term_resized_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(NCURSES_BOOL *)0); }
-
#undef is_term_resized
NCURSES_BOOL is_term_resized(
int ToLines,
int ToCols)
{ return(*(NCURSES_BOOL *)0); }
-#undef resize_term_sp
-int resize_term_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(int *)0); }
-
#undef resize_term
int resize_term(
int ToLines,
int ToCols)
{ return(*(int *)0); }
-#undef resizeterm_sp
-int resizeterm_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(int *)0); }
-
#undef resizeterm
int resizeterm(
int ToLines,
@@ -2709,6 +2157,9 @@ int wresize(
/* ./tinfo/access.c */
+#include <sys/stat.h>
+#include <nc_alloc.h>
+
#undef _nc_rootname
char *_nc_rootname(
char *path)
@@ -2781,32 +2232,7 @@ char *const numcodes[] = {0};
#undef strcodes
char *const strcodes[] = {0};
-/* ./comp_captab.c */
-
-#include <hashsize.h>
-
-#undef _nc_get_table
-const struct name_table_entry *_nc_get_table(
- NCURSES_BOOL termcap)
- { return(*(const struct name_table_entry **)0); }
-
-#undef _nc_get_hash_table
-const HashValue *_nc_get_hash_table(
- NCURSES_BOOL termcap)
- { return(*(const HashValue **)0); }
-
-#undef _nc_get_alias_table
-const struct alias *_nc_get_alias_table(
- NCURSES_BOOL termcap)
- { return(*(const struct alias **)0); }
-
-#undef _nc_get_hash_info
-const HashData *_nc_get_hash_info(
- NCURSES_BOOL termcap)
- { return(*(const HashData **)0); }
-
/* ./tinfo/comp_error.c */
-
#undef _nc_suppress_warnings
NCURSES_BOOL _nc_suppress_warnings;
#undef _nc_curr_line
@@ -2851,21 +2277,6 @@ void _nc_syserr_abort(
...)
{ /* void */ }
-/* ./tinfo/comp_hash.c */
-
-#undef _nc_find_entry
-struct name_table_entry const *_nc_find_entry(
- const char *string,
- const HashValue *hash_table)
- { return(*(struct name_table_entry const **)0); }
-
-#undef _nc_find_type_entry
-struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
- NCURSES_BOOL termcap)
- { return(*(struct name_table_entry const **)0); }
-
/* ./tinfo/db_iterator.c */
#undef _nc_tic_dir
@@ -2986,11 +2397,6 @@ void _nc_init_keytry(
#undef acs_map
chtype acs_map[128];
-#undef _nc_init_acs_sp
-void _nc_init_acs_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_init_acs
void _nc_init_acs(void)
{ /* void */ }
@@ -3014,11 +2420,6 @@ int _nc_ospeed(
int BaudRate)
{ return(*(int *)0); }
-#undef baudrate_sp
-int baudrate_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef baudrate
int baudrate(void)
{ return(*(int *)0); }
@@ -3028,23 +2429,11 @@ int baudrate(void)
#undef cur_term
TERMINAL *cur_term;
-#undef set_curterm_sp
-TERMINAL *set_curterm_sp(
- SCREEN *sp,
- TERMINAL *termp)
- { return(*(TERMINAL **)0); }
-
#undef set_curterm
TERMINAL *set_curterm(
TERMINAL *termp)
{ return(*(TERMINAL **)0); }
-#undef del_curterm_sp
-int del_curterm_sp(
- SCREEN *sp,
- TERMINAL *termp)
- { return(*(int *)0); }
-
#undef del_curterm
int del_curterm(
TERMINAL *termp)
@@ -3067,56 +2456,26 @@ NCURSES_GLOBALS _nc_globals;
#undef _nc_prescreen
NCURSES_PRESCREEN _nc_prescreen;
-#undef _nc_screen_of
-SCREEN *_nc_screen_of(
- WINDOW *win)
- { return(*(SCREEN **)0); }
-
/* ./tinfo/lib_has_cap.c */
-#undef has_ic_sp
-NCURSES_BOOL has_ic_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef has_ic
NCURSES_BOOL has_ic(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef has_il_sp
-NCURSES_BOOL has_il_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef has_il
NCURSES_BOOL has_il(void)
{ return(*(NCURSES_BOOL *)0); }
/* ./tinfo/lib_kernel.c */
-#undef erasechar_sp
-char erasechar_sp(
- SCREEN *sp)
- { return(*(char *)0); }
-
#undef erasechar
char erasechar(void)
{ return(*(char *)0); }
-#undef killchar_sp
-char killchar_sp(
- SCREEN *sp)
- { return(*(char *)0); }
-
#undef killchar
char killchar(void)
{ return(*(char *)0); }
-#undef flushinp_sp
-int flushinp_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef flushinp
int flushinp(void)
{ return(*(int *)0); }
@@ -3125,8 +2484,8 @@ int flushinp(void)
struct kn { short offset; int code; };
-#undef keyname_sp
-char *keyname_sp(
+#undef _nc_keyname
+char *_nc_keyname(
SCREEN *sp,
int c)
{ return(*(char **)0); }
@@ -3146,12 +2505,6 @@ char *longname(void)
#include <time.h>
-#undef napms_sp
-int napms_sp(
- SCREEN *sp,
- int ms)
- { return(*(int *)0); }
-
#undef napms
int napms(
int ms)
@@ -3171,12 +2524,6 @@ void idcok(
NCURSES_BOOL flag)
{ /* void */ }
-#undef halfdelay_sp
-int halfdelay_sp(
- SCREEN *sp,
- int t)
- { return(*(int *)0); }
-
#undef halfdelay
int halfdelay(
int t)
@@ -3212,46 +2559,21 @@ int meta(
NCURSES_BOOL flag)
{ return(*(int *)0); }
-#undef curs_set_sp
-int curs_set_sp(
- SCREEN *sp,
- int vis)
- { return(*(int *)0); }
-
#undef curs_set
int curs_set(
int vis)
{ return(*(int *)0); }
-#undef typeahead_sp
-int typeahead_sp(
- SCREEN *sp,
- int fd)
- { return(*(int *)0); }
-
#undef typeahead
int typeahead(
int fd)
{ return(*(int *)0); }
-#undef has_key_sp
-int has_key_sp(
- SCREEN *sp,
- int keycode)
- { return(*(int *)0); }
-
#undef has_key
int has_key(
int keycode)
{ return(*(int *)0); }
-#undef _nc_putp_flush_sp
-int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
- const char *value)
- { return(*(int *)0); }
-
#undef _nc_keypad
int _nc_keypad(
SCREEN *sp,
@@ -3260,67 +2582,30 @@ int _nc_keypad(
/* ./tinfo/lib_raw.c */
-#undef raw_sp
-int raw_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef raw
int raw(void)
{ return(*(int *)0); }
-#undef cbreak_sp
-int cbreak_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef cbreak
int cbreak(void)
{ return(*(int *)0); }
-#undef qiflush_sp
-void qiflush_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef qiflush
void qiflush(void)
{ /* void */ }
-#undef noraw_sp
-int noraw_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef noraw
int noraw(void)
{ return(*(int *)0); }
-#undef nocbreak_sp
-int nocbreak_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef nocbreak
int nocbreak(void)
{ return(*(int *)0); }
-#undef noqiflush_sp
-void noqiflush_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef noqiflush
void noqiflush(void)
{ /* void */ }
-#undef intrflush_sp
-int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
#undef intrflush
int intrflush(
WINDOW *win,
@@ -3342,12 +2627,6 @@ int COLS;
#undef TABSIZE
int TABSIZE;
-#undef set_tabsize_sp
-int set_tabsize_sp(
- SCREEN *sp,
- int value)
- { return(*(int *)0); }
-
#undef set_tabsize
int set_tabsize(
int value)
@@ -3358,12 +2637,6 @@ int _nc_handle_sigwinch(
SCREEN *sp)
{ return(*(int *)0); }
-#undef use_env_sp
-void use_env_sp(
- SCREEN *sp,
- NCURSES_BOOL f)
- { /* void */ }
-
#undef use_env
void use_env(
NCURSES_BOOL f)
@@ -3381,18 +2654,6 @@ void _nc_update_screensize(
SCREEN *sp)
{ /* void */ }
-#undef _nc_setup_tinfo
-int _nc_setup_tinfo(
- const char *const tn,
- TERMTYPE *const tp)
- { return(*(int *)0); }
-
-#undef _nc_tinfo_cmdch
-void _nc_tinfo_cmdch(
- TERMINAL *termp,
- char proto)
- { /* void */ }
-
#undef _nc_get_locale
char *_nc_get_locale(void)
{ return(*(char **)0); }
@@ -3414,10 +2675,6 @@ int _nc_setupterm(
NCURSES_BOOL reuse)
{ return(*(int *)0); }
-#undef new_prescr
-SCREEN *new_prescr(void)
- { return(*(SCREEN **)0); }
-
#undef setupterm
int setupterm(
char *tname,
@@ -3432,9 +2689,8 @@ char *UP;
#undef BC
char *BC;
-#undef tgetent_sp
-int tgetent_sp(
- SCREEN *sp,
+#undef tgetent
+int tgetent(
char *bufp,
const char *name)
{ return(*(int *)0); }
@@ -3445,41 +2701,16 @@ int tgetent_sp(
#endif
-#undef tgetent
-int tgetent(
- char *bufp,
- const char *name)
- { return(*(int *)0); }
-
-#undef tgetflag_sp
-int tgetflag_sp(
- SCREEN *sp,
- char *id)
- { return(*(int *)0); }
-
#undef tgetflag
int tgetflag(
char *id)
{ return(*(int *)0); }
-#undef tgetnum_sp
-int tgetnum_sp(
- SCREEN *sp,
- char *id)
- { return(*(int *)0); }
-
#undef tgetnum
int tgetnum(
char *id)
{ return(*(int *)0); }
-#undef tgetstr_sp
-char *tgetstr_sp(
- SCREEN *sp,
- char *id,
- char **area)
- { return(*(char **)0); }
-
#undef tgetstr
char *tgetstr(
char *id,
@@ -3488,11 +2719,6 @@ char *tgetstr(
/* ./tinfo/lib_termname.c */
-#undef termname_sp
-char *termname_sp(
- SCREEN *sp)
- { return(*(char **)0); }
-
#undef termname
char *termname(void)
{ return(*(char **)0); }
@@ -3508,34 +2734,16 @@ char *tgoto(
/* ./tinfo/lib_ti.c */
-#undef tigetflag_sp
-int tigetflag_sp(
- SCREEN *sp,
- char *str)
- { return(*(int *)0); }
-
#undef tigetflag
int tigetflag(
char *str)
{ return(*(int *)0); }
-#undef tigetnum_sp
-int tigetnum_sp(
- SCREEN *sp,
- char *str)
- { return(*(int *)0); }
-
#undef tigetnum
int tigetnum(
char *str)
{ return(*(int *)0); }
-#undef tigetstr_sp
-char *tigetstr_sp(
- SCREEN *sp,
- char *str)
- { return(*(char **)0); }
-
#undef tigetstr
char *tigetstr(
char *str)
@@ -3559,12 +2767,6 @@ char *tparm(
...)
{ return(*(char **)0); }
-#undef tiparm
-char *tiparm(
- const char *string,
- ...)
- { return(*(char **)0); }
-
/* ./tinfo/lib_tputs.c */
#undef PC
@@ -3579,75 +2781,25 @@ void _nc_set_no_padding(
SCREEN *sp)
{ /* void */ }
-#undef delay_output_sp
-int delay_output_sp(
- SCREEN *sp,
- int ms)
- { return(*(int *)0); }
-
#undef delay_output
int delay_output(
int ms)
{ return(*(int *)0); }
-#undef _nc_flush_sp
-void _nc_flush_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_flush
void _nc_flush(void)
{ /* void */ }
-#undef _nc_outch_sp
-int _nc_outch_sp(
- SCREEN *sp,
- int ch)
- { return(*(int *)0); }
-
#undef _nc_outch
int _nc_outch(
int ch)
{ return(*(int *)0); }
-#undef putp_sp
-int putp_sp(
- SCREEN *sp,
- const char *string)
- { return(*(int *)0); }
-
-#undef _nc_putp_sp
-int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
- const char *string)
- { return(*(int *)0); }
-
#undef putp
int putp(
const char *string)
{ return(*(int *)0); }
-#undef _nc_putp
-int _nc_putp(
- const char *name,
- const char *string)
- { return(*(int *)0); }
-
-#undef tputs_sp
-int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
- NCURSES_OUTC_sp outc)
- { return(*(int *)0); }
-
-#undef _nc_outc_wrapper
-int _nc_outc_wrapper(
- SCREEN *sp,
- int c)
- { return(*(int *)0); }
-
#undef tputs
int tputs(
const char *string,
@@ -3681,11 +2833,6 @@ NCURSES_BOOL _nc_retrace_bool(
NCURSES_BOOL code)
{ return(*(NCURSES_BOOL *)0); }
-#undef _nc_retrace_char
-char _nc_retrace_char(
- char code)
- { return(*(char *)0); }
-
#undef _nc_retrace_int
int _nc_retrace_int(
int code)
@@ -3739,11 +2886,6 @@ char *_traceattr(
attr_t newmode)
{ return(*(char **)0); }
-#undef _nc_retrace_int_attr_t
-int _nc_retrace_int_attr_t(
- attr_t code)
- { return(*(int *)0); }
-
#undef _nc_retrace_attr_t
attr_t _nc_retrace_attr_t(
attr_t code)
@@ -3802,78 +2944,36 @@ char *_tracechar(
/* ./tinfo/lib_ttyflags.c */
-#undef _nc_get_tty_mode_sp
-int _nc_get_tty_mode_sp(
- SCREEN *sp,
- struct termios *buf)
- { return(*(int *)0); }
-
#undef _nc_get_tty_mode
int _nc_get_tty_mode(
struct termios *buf)
{ return(*(int *)0); }
-#undef _nc_set_tty_mode_sp
-int _nc_set_tty_mode_sp(
- SCREEN *sp,
- struct termios *buf)
- { return(*(int *)0); }
-
#undef _nc_set_tty_mode
int _nc_set_tty_mode(
struct termios *buf)
{ return(*(int *)0); }
-#undef def_shell_mode_sp
-int def_shell_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef def_shell_mode
int def_shell_mode(void)
{ return(*(int *)0); }
-#undef def_prog_mode_sp
-int def_prog_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef def_prog_mode
int def_prog_mode(void)
{ return(*(int *)0); }
-#undef reset_prog_mode_sp
-int reset_prog_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef reset_prog_mode
int reset_prog_mode(void)
{ return(*(int *)0); }
-#undef reset_shell_mode_sp
-int reset_shell_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef reset_shell_mode
int reset_shell_mode(void)
{ return(*(int *)0); }
-#undef savetty_sp
-int savetty_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef savetty
int savetty(void)
{ return(*(int *)0); }
-#undef resetty_sp
-int resetty_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef resetty
int resetty(void)
{ return(*(int *)0); }
@@ -3953,13 +3053,6 @@ int _nc_read_termcap_entry(
/* ./tinfo/setbuf.c */
-#undef _nc_set_buffer_sp
-void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
- NCURSES_BOOL buffered)
- { /* void */ }
-
#undef _nc_set_buffer
void _nc_set_buffer(
FILE *ofp,
@@ -4051,8 +3144,8 @@ char *_nc_trim_sgr0(
/* ./unctrl.c */
-#undef unctrl_sp
-char *unctrl_sp(
+#undef _nc_unctrl
+char *_nc_unctrl(
SCREEN *sp,
chtype ch)
{ return(*(char **)0); }
@@ -4139,6 +3232,25 @@ char *_nc_infotocap(
int const parameterized)
{ return(*(char **)0); }
+/* ./comp_captab.c */
+
+#include <hashsize.h>
+
+#undef _nc_get_table
+const struct name_table_entry *_nc_get_table(
+ NCURSES_BOOL termcap)
+ { return(*(const struct name_table_entry **)0); }
+
+#undef _nc_get_hash_table
+const short *_nc_get_hash_table(
+ NCURSES_BOOL termcap)
+ { return(*(const short **)0); }
+
+#undef _nc_get_alias_table
+const struct alias *_nc_get_alias_table(
+ NCURSES_BOOL termcap)
+ { return(*(const struct alias **)0); }
+
/* ./tinfo/comp_expand.c */
#undef _nc_tic_expand
@@ -4148,6 +3260,21 @@ char *_nc_tic_expand(
int numbers)
{ return(*(char **)0); }
+/* ./tinfo/comp_hash.c */
+
+#undef _nc_find_entry
+struct name_table_entry const *_nc_find_entry(
+ const char *string,
+ const short *hash_table)
+ { return(*(struct name_table_entry const **)0); }
+
+#undef _nc_find_type_entry
+struct name_table_entry const *_nc_find_type_entry(
+ const char *string,
+ int type,
+ const struct name_table_entry *table)
+ { return(*(struct name_table_entry const **)0); }
+
/* ./tinfo/comp_parse.c */
#undef _nc_check_termtype2
@@ -4267,13 +3394,6 @@ int _nc_tic_written(void)
/* ./base/define_key.c */
-#undef define_key_sp
-int define_key_sp(
- SCREEN *sp,
- const char *str,
- int keycode)
- { return(*(int *)0); }
-
#undef define_key
int define_key(
const char *str,
@@ -4288,12 +3408,6 @@ void _nc_hashed_db(void)
/* ./base/key_defined.c */
-#undef key_defined_sp
-int key_defined_sp(
- SCREEN *sp,
- const char *str)
- { return(*(int *)0); }
-
#undef key_defined
int key_defined(
const char *str)
@@ -4301,13 +3415,6 @@ int key_defined(
/* ./base/keybound.c */
-#undef keybound_sp
-char *keybound_sp(
- SCREEN *sp,
- int code,
- int count)
- { return(*(char **)0); }
-
#undef keybound
char *keybound(
int code,
@@ -4316,13 +3423,6 @@ char *keybound(
/* ./base/keyok.c */
-#undef keyok_sp
-int keyok_sp(
- SCREEN *sp,
- int c,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
#undef keyok
int keyok(
int c,
diff --git a/ncurses/llib-lncursest b/ncurses/llib-lncursest
index f5739cb1e79d..d29ef60d561b 100644
--- a/ncurses/llib-lncursest
+++ b/ncurses/llib-lncursest
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2008-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 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 *
@@ -27,7 +27,7 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2008-on *
+ * Author: Thomas E. Dickey 2008 *
****************************************************************************/
/* LINTLIBRARY */
@@ -38,54 +38,27 @@
#undef _nc_oldnums
int *_nc_oldnums;
-#undef _nc_scroll_optimize_sp
-void _nc_scroll_optimize_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_scroll_optimize
void _nc_scroll_optimize(void)
{ /* void */ }
-#undef _nc_linedump_sp
-void _nc_linedump_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_linedump
void _nc_linedump(void)
{ /* void */ }
/* ./tty/hashmap.c */
-#undef _nc_hash_map_sp
-void _nc_hash_map_sp(
- SCREEN *sp)
- { /* void */ }
+#include <term.h>
#undef _nc_hash_map
void _nc_hash_map(void)
{ /* void */ }
-#undef _nc_make_oldhash_sp
-void _nc_make_oldhash_sp(
- SCREEN *sp,
- int i)
- { /* void */ }
-
#undef _nc_make_oldhash
void _nc_make_oldhash(
int i)
{ /* void */ }
-#undef _nc_scroll_oldhash_sp
-void _nc_scroll_oldhash_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot)
- { /* void */ }
-
#undef _nc_scroll_oldhash
void _nc_scroll_oldhash(
int n,
@@ -139,11 +112,6 @@ int waddchnstr(
/* ./base/lib_beep.c */
-#undef beep_sp
-int beep_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef beep
int beep(void)
{ return(*(int *)0); }
@@ -229,32 +197,14 @@ int _nc_COLOR_PAIRS(void)
int _nc_COLORS(void)
{ return(*(int *)0); }
-#undef _nc_reset_colors_sp
-NCURSES_BOOL _nc_reset_colors_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef _nc_reset_colors
NCURSES_BOOL _nc_reset_colors(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef start_color_sp
-int start_color_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef start_color
int start_color(void)
{ return(*(int *)0); }
-#undef init_pair_sp
-int init_pair_sp(
- SCREEN *sp,
- short pair,
- short f,
- short b)
- { return(*(int *)0); }
-
#undef init_pair
int init_pair(
short pair,
@@ -262,15 +212,6 @@ int init_pair(
short b)
{ return(*(int *)0); }
-#undef init_color_sp
-int init_color_sp(
- SCREEN *sp,
- short color,
- short r,
- short g,
- short b)
- { return(*(int *)0); }
-
#undef init_color
int init_color(
short color,
@@ -279,33 +220,14 @@ int init_color(
short b)
{ return(*(int *)0); }
-#undef can_change_color_sp
-NCURSES_BOOL can_change_color_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef can_change_color
NCURSES_BOOL can_change_color(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef has_colors_sp
-NCURSES_BOOL has_colors_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef has_colors
NCURSES_BOOL has_colors(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef color_content_sp
-int color_content_sp(
- SCREEN *sp,
- short color,
- short *r,
- short *g,
- short *b)
- { return(*(int *)0); }
-
#undef color_content
int color_content(
short color,
@@ -314,14 +236,6 @@ int color_content(
short *b)
{ return(*(int *)0); }
-#undef pair_content_sp
-int pair_content_sp(
- SCREEN *sp,
- short pair,
- short *f,
- short *b)
- { return(*(int *)0); }
-
#undef pair_content
int pair_content(
short pair,
@@ -329,21 +243,13 @@ int pair_content(
short *b)
{ return(*(int *)0); }
-#undef _nc_do_color_sp
-void _nc_do_color_sp(
- SCREEN *sp,
- short old_pair,
- short pair,
- NCURSES_BOOL reverse,
- NCURSES_OUTC_sp outc)
- { /* void */ }
-
#undef _nc_do_color
void _nc_do_color(
short old_pair,
short pair,
NCURSES_BOOL reverse,
- NCURSES_OUTC outc)
+ int (*outc)(
+ int p1))
{ /* void */ }
/* ./base/lib_colorset.c */
@@ -371,31 +277,16 @@ int delwin(
/* ./base/lib_echo.c */
-#undef echo_sp
-int echo_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef echo
int echo(void)
{ return(*(int *)0); }
-#undef noecho_sp
-int noecho_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef noecho
int noecho(void)
{ return(*(int *)0); }
/* ./base/lib_endwin.c */
-#undef endwin_sp
-int endwin_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef endwin
int endwin(void)
{ return(*(int *)0); }
@@ -409,11 +300,6 @@ int werase(
/* ./base/lib_flash.c */
-#undef flash_sp
-int flash_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef flash
int flash(void)
{ return(*(int *)0); }
@@ -1224,21 +1110,11 @@ NCURSES_BOOL is_notimeout(
const WINDOW *z)
{ return(*(NCURSES_BOOL *)0); }
-#undef is_pad
-NCURSES_BOOL is_pad(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
#undef is_scrollok
NCURSES_BOOL is_scrollok(
const WINDOW *z)
{ return(*(NCURSES_BOOL *)0); }
-#undef is_subwin
-NCURSES_BOOL is_subwin(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
#undef is_syncok
NCURSES_BOOL is_syncok(
const WINDOW *z)
@@ -1266,35 +1142,15 @@ NCURSES_BOOL mouse_trafo(
int _nc_ESCDELAY(void)
{ return(*(int *)0); }
-#undef _nc_ptr_Escdelay
-int *_nc_ptr_Escdelay(
- SCREEN *sp)
- { return(*(int **)0); }
-
-#undef set_escdelay_sp
-int set_escdelay_sp(
- SCREEN *sp,
- int value)
- { return(*(int *)0); }
-
#undef set_escdelay
int set_escdelay(
int value)
{ return(*(int *)0); }
-#undef get_escdelay_sp
-int get_escdelay_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef get_escdelay
-int get_escdelay(void)
- { return(*(int *)0); }
-
#undef _nc_wgetch
int _nc_wgetch(
WINDOW *win,
- int *result,
+ unsigned long *result,
int use_meta)
{ return(*(int *)0); }
@@ -1348,7 +1204,6 @@ WINDOW *initscr(void)
#undef _nc_insert_ch
int _nc_insert_ch(
- SCREEN *sp,
WINDOW *win,
chtype ch)
{ return(*(int *)0); }
@@ -1387,11 +1242,6 @@ int winnstr(
/* ./base/lib_isendwin.c */
-#undef isendwin_sp
-NCURSES_BOOL isendwin_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef isendwin
NCURSES_BOOL isendwin(void)
{ return(*(NCURSES_BOOL *)0); }
@@ -1406,35 +1256,16 @@ int leaveok(
/* ./base/lib_mouse.c */
-#undef getmouse_sp
-int getmouse_sp(
- SCREEN *sp,
- MEVENT *aevent)
- { return(*(int *)0); }
-
#undef getmouse
int getmouse(
MEVENT *aevent)
{ return(*(int *)0); }
-#undef ungetmouse_sp
-int ungetmouse_sp(
- SCREEN *sp,
- MEVENT *aevent)
- { return(*(int *)0); }
-
#undef ungetmouse
int ungetmouse(
MEVENT *aevent)
{ return(*(int *)0); }
-#undef mousemask_sp
-mmask_t mousemask_sp(
- SCREEN *sp,
- mmask_t newmask,
- mmask_t *oldmask)
- { return(*(mmask_t *)0); }
-
#undef mousemask
mmask_t mousemask(
mmask_t newmask,
@@ -1448,30 +1279,14 @@ NCURSES_BOOL wenclose(
int x)
{ return(*(NCURSES_BOOL *)0); }
-#undef mouseinterval_sp
-int mouseinterval_sp(
- SCREEN *sp,
- int maxclick)
- { return(*(int *)0); }
-
#undef mouseinterval
int mouseinterval(
int maxclick)
{ return(*(int *)0); }
#undef _nc_has_mouse
-NCURSES_BOOL _nc_has_mouse(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_mouse_sp
-NCURSES_BOOL has_mouse_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_mouse
-NCURSES_BOOL has_mouse(void)
- { return(*(NCURSES_BOOL *)0); }
+int _nc_has_mouse(void)
+ { return(*(int *)0); }
#undef wmouse_trafo
NCURSES_BOOL wmouse_trafo(
@@ -1492,55 +1307,24 @@ int wmove(
/* ./tty/lib_mvcur.c */
-#undef _nc_msec_cost_sp
-int _nc_msec_cost_sp(
- SCREEN *sp,
- const char *const cap,
- int affcnt)
- { return(*(int *)0); }
-
#undef _nc_msec_cost
int _nc_msec_cost(
const char *const cap,
int affcnt)
{ return(*(int *)0); }
-#undef _nc_mvcur_resume_sp
-void _nc_mvcur_resume_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_mvcur_resume
void _nc_mvcur_resume(void)
{ /* void */ }
-#undef _nc_mvcur_init_sp
-void _nc_mvcur_init_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_mvcur_init
void _nc_mvcur_init(void)
{ /* void */ }
-#undef _nc_mvcur_wrap_sp
-void _nc_mvcur_wrap_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_mvcur_wrap
void _nc_mvcur_wrap(void)
{ /* void */ }
-#undef mvcur_sp
-int mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
- int xnew)
- { return(*(int *)0); }
-
#undef mvcur
int mvcur(
int yold,
@@ -1563,32 +1347,14 @@ int mvwin(
/* ./base/lib_newterm.c */
-#undef filter_sp
-void filter_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef filter
void filter(void)
{ /* void */ }
-#undef nofilter_sp
-void nofilter_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef nofilter
void nofilter(void)
{ /* void */ }
-#undef newterm_sp
-SCREEN *newterm_sp(
- SCREEN *sp,
- char *name,
- FILE *ofp,
- FILE *ifp)
- { return(*(SCREEN **)0); }
-
#undef newterm
SCREEN *newterm(
char *name,
@@ -1603,15 +1369,6 @@ int _nc_freewin(
WINDOW *win)
{ return(*(int *)0); }
-#undef newwin_sp
-WINDOW *newwin_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
- int begx)
- { return(*(WINDOW **)0); }
-
#undef newwin
WINDOW *newwin(
int num_lines,
@@ -1638,9 +1395,8 @@ WINDOW *subwin(
int x)
{ return(*(WINDOW **)0); }
-#undef _nc_makenew_sp
-WINDOW *_nc_makenew_sp(
- SCREEN *sp,
+#undef _nc_makenew
+WINDOW *_nc_makenew(
int num_lines,
int num_columns,
int begy,
@@ -1648,37 +1404,17 @@ WINDOW *_nc_makenew_sp(
int flags)
{ return(*(WINDOW **)0); }
-#undef _nc_curscr_of
-WINDOW *_nc_curscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
-
-#undef _nc_newscr_of
-WINDOW *_nc_newscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
-
-#undef _nc_stdscr_of
-WINDOW *_nc_stdscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
+#undef _nc_screen_of
+SCREEN *_nc_screen_of(
+ WINDOW *win)
+ { return(*(SCREEN **)0); }
/* ./base/lib_nl.c */
-#undef nl_sp
-int nl_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef nl
int nl(void)
{ return(*(int *)0); }
-#undef nonl_sp
-int nonl_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef nonl
int nonl(void)
{ return(*(int *)0); }
@@ -1712,13 +1448,6 @@ int copywin(
/* ./base/lib_pad.c */
-#undef newpad_sp
-WINDOW *newpad_sp(
- SCREEN *sp,
- int l,
- int c)
- { return(*(WINDOW **)0); }
-
#undef newpad
WINDOW *newpad(
int l,
@@ -1824,14 +1553,6 @@ int wnoutrefresh(
/* ./base/lib_restart.c */
-#undef restartterm_sp
-int restartterm_sp(
- SCREEN *sp,
- char *termp,
- int filenum,
- int *errret)
- { return(*(int *)0); }
-
#undef restartterm
int restartterm(
char *termp,
@@ -1880,12 +1601,6 @@ int mvwscanw(
/* ./base/lib_screen.c */
-#undef getwin_sp
-WINDOW *getwin_sp(
- SCREEN *sp,
- FILE *filep)
- { return(*(WINDOW **)0); }
-
#undef getwin
WINDOW *getwin(
FILE *filep)
@@ -1897,12 +1612,6 @@ int putwin(
FILE *filep)
{ return(*(int *)0); }
-#undef scr_restore_sp
-int scr_restore_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
#undef scr_restore
int scr_restore(
const char *file)
@@ -1913,23 +1622,11 @@ int scr_dump(
const char *file)
{ return(*(int *)0); }
-#undef scr_init_sp
-int scr_init_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
#undef scr_init
int scr_init(
const char *file)
{ return(*(int *)0); }
-#undef scr_set_sp
-int scr_set_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
#undef scr_set
int scr_set(
const char *file)
@@ -1981,16 +1678,6 @@ void delscreen(
SCREEN *sp)
{ /* void */ }
-#undef _nc_setupscreen_sp
-int _nc_setupscreen_sp(
- SCREEN **spp,
- int slines,
- int scolumns,
- FILE *output,
- NCURSES_BOOL filtered,
- int slk_format)
- { return(*(int *)0); }
-
#undef _nc_setupscreen
int _nc_setupscreen(
int slines,
@@ -2000,15 +1687,6 @@ int _nc_setupscreen(
int slk_format)
{ return(*(int *)0); }
-#undef _nc_ripoffline_sp
-int _nc_ripoffline_sp(
- SCREEN *sp,
- int line,
- int (*init)(
- WINDOW *p1,
- int p2))
- { return(*(int *)0); }
-
#undef _nc_ripoffline
int _nc_ripoffline(
int line,
@@ -2017,15 +1695,6 @@ int _nc_ripoffline(
int p2))
{ return(*(int *)0); }
-#undef ripoffline_sp
-int ripoffline_sp(
- SCREEN *sp,
- int line,
- int (*init)(
- WINDOW *p1,
- int p2))
- { return(*(int *)0); }
-
#undef ripoffline
int ripoffline(
int line,
@@ -2036,37 +1705,18 @@ int ripoffline(
/* ./base/lib_slk.c */
-#undef _nc_format_slks
-int _nc_format_slks(
- SCREEN *sp,
- int cols)
- { return(*(int *)0); }
-
#undef _nc_slk_initialize
int _nc_slk_initialize(
WINDOW *stwin,
int cols)
{ return(*(int *)0); }
-#undef slk_restore_sp
-int slk_restore_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_restore
int slk_restore(void)
{ return(*(int *)0); }
/* ./base/lib_slkatr_set.c */
-#undef slk_attr_set_sp
-int slk_attr_set_sp(
- SCREEN *sp,
- const attr_t attr,
- short color_pair_number,
- void *opts)
- { return(*(int *)0); }
-
#undef slk_attr_set
int slk_attr_set(
const attr_t attr,
@@ -2076,12 +1726,6 @@ int slk_attr_set(
/* ./base/lib_slkatrof.c */
-#undef slk_attroff_sp
-int slk_attroff_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
#undef slk_attroff
int slk_attroff(
const chtype attr)
@@ -2089,12 +1733,6 @@ int slk_attroff(
/* ./base/lib_slkatron.c */
-#undef slk_attron_sp
-int slk_attron_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
#undef slk_attron
int slk_attron(
const chtype attr)
@@ -2102,12 +1740,6 @@ int slk_attron(
/* ./base/lib_slkatrset.c */
-#undef slk_attrset_sp
-int slk_attrset_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
#undef slk_attrset
int slk_attrset(
const chtype attr)
@@ -2115,34 +1747,18 @@ int slk_attrset(
/* ./base/lib_slkattr.c */
-#undef slk_attr_sp
-attr_t slk_attr_sp(
- SCREEN *sp)
- { return(*(attr_t *)0); }
-
#undef slk_attr
attr_t slk_attr(void)
{ return(*(attr_t *)0); }
/* ./base/lib_slkclear.c */
-#undef slk_clear_sp
-int slk_clear_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_clear
int slk_clear(void)
{ return(*(int *)0); }
/* ./base/lib_slkcolor.c */
-#undef slk_color_sp
-int slk_color_sp(
- SCREEN *sp,
- short color_pair_number)
- { return(*(int *)0); }
-
#undef slk_color
int slk_color(
short color_pair_number)
@@ -2150,12 +1766,6 @@ int slk_color(
/* ./base/lib_slkinit.c */
-#undef slk_init_sp
-int slk_init_sp(
- SCREEN *sp,
- int format)
- { return(*(int *)0); }
-
#undef slk_init
int slk_init(
int format)
@@ -2163,12 +1773,6 @@ int slk_init(
/* ./base/lib_slklab.c */
-#undef slk_label_sp
-char *slk_label_sp(
- SCREEN *sp,
- int n)
- { return(*(char **)0); }
-
#undef slk_label
char *slk_label(
int n)
@@ -2176,34 +1780,16 @@ char *slk_label(
/* ./base/lib_slkrefr.c */
-#undef slk_noutrefresh_sp
-int slk_noutrefresh_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_noutrefresh
int slk_noutrefresh(void)
{ return(*(int *)0); }
-#undef slk_refresh_sp
-int slk_refresh_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_refresh
int slk_refresh(void)
{ return(*(int *)0); }
/* ./base/lib_slkset.c */
-#undef slk_set_sp
-int slk_set_sp(
- SCREEN *sp,
- int i,
- const char *astr,
- int format)
- { return(*(int *)0); }
-
#undef slk_set
int slk_set(
int i,
@@ -2213,11 +1799,6 @@ int slk_set(
/* ./base/lib_slktouch.c */
-#undef slk_touch_sp
-int slk_touch_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_touch
int slk_touch(void)
{ return(*(int *)0); }
@@ -2259,12 +1840,6 @@ char *_nc_tracemouse(
MEVENT const *ep)
{ return(*(char **)0); }
-#undef _nc_retrace_mmask_t
-mmask_t _nc_retrace_mmask_t(
- SCREEN *sp,
- mmask_t code)
- { return(*(mmask_t *)0); }
-
#undef _tracemouse
char *_tracemouse(
MEVENT const *ep)
@@ -2286,8 +1861,8 @@ void _nc_fifo_dump(
SCREEN *sp)
{ /* void */ }
-#undef ungetch_sp
-int ungetch_sp(
+#undef _nc_ungetch
+int _nc_ungetch(
SCREEN *sp,
int ch)
{ return(*(int *)0); }
@@ -2299,23 +1874,11 @@ int ungetch(
/* ./tty/lib_vidattr.c */
-#undef vidputs_sp
-int vidputs_sp(
- SCREEN *sp,
- chtype newmode,
- NCURSES_OUTC_sp outc)
- { return(*(int *)0); }
-
#undef vidputs
int vidputs(
chtype newmode,
- NCURSES_OUTC outc)
- { return(*(int *)0); }
-
-#undef vidattr_sp
-int vidattr_sp(
- SCREEN *sp,
- chtype newmode)
+ int (*outc)(
+ int p1))
{ return(*(int *)0); }
#undef vidattr
@@ -2323,11 +1886,6 @@ int vidattr(
chtype newmode)
{ return(*(int *)0); }
-#undef termattrs_sp
-chtype termattrs_sp(
- SCREEN *sp)
- { return(*(chtype *)0); }
-
#undef termattrs
chtype termattrs(void)
{ return(*(chtype *)0); }
@@ -2408,24 +1966,12 @@ WINDOW *dupwin(
/* ./base/nc_panel.c */
-#undef _nc_panelhook_sp
-struct panelhook *_nc_panelhook_sp(
- SCREEN *sp)
- { return(*(struct panelhook **)0); }
-
#undef _nc_panelhook
struct panelhook *_nc_panelhook(void)
{ return(*(struct panelhook **)0); }
/* ./base/safe_sprintf.c */
-#undef _nc_printf_string_sp
-char *_nc_printf_string_sp(
- SCREEN *sp,
- const char *fmt,
- va_list ap)
- { return(*(char **)0); }
-
#undef _nc_printf_string
char *_nc_printf_string(
const char *fmt,
@@ -2437,24 +1983,10 @@ char *_nc_printf_string(
#include <sys/time.h>
#include <sys/times.h>
-#undef doupdate_sp
-int doupdate_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef doupdate
int doupdate(void)
{ return(*(int *)0); }
-#undef _nc_scrolln_sp
-int _nc_scrolln_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot,
- int maxy)
- { return(*(int *)0); }
-
#undef _nc_scrolln
int _nc_scrolln(
int n,
@@ -2463,39 +1995,18 @@ int _nc_scrolln(
int maxy)
{ return(*(int *)0); }
-#undef _nc_screen_resume_sp
-void _nc_screen_resume_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_screen_resume
void _nc_screen_resume(void)
{ /* void */ }
-#undef _nc_screen_init_sp
-void _nc_screen_init_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_screen_init
void _nc_screen_init(void)
{ /* void */ }
-#undef _nc_screen_wrap_sp
-void _nc_screen_wrap_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_screen_wrap
void _nc_screen_wrap(void)
{ /* void */ }
-#undef _nc_do_xmc_glitch_sp
-void _nc_do_xmc_glitch_sp(
- SCREEN *sp,
- attr_t previous)
- { /* void */ }
-
#undef _nc_do_xmc_glitch
void _nc_do_xmc_glitch(
attr_t previous)
@@ -2527,16 +2038,12 @@ void _nc_vsscanf(void)
/* ./base/lib_freeall.c */
+#include <term_entry.h>
+
#undef _nc_freeall
void _nc_freeall(void)
{ /* void */ }
-#undef _nc_free_and_exit_sp
-void _nc_free_and_exit_sp(
- SCREEN *sp,
- int code)
- { /* void */ }
-
#undef _nc_free_and_exit
void _nc_free_and_exit(
int code)
@@ -2556,24 +2063,6 @@ void _nc_toggle_attr_off(
attr_t at)
{ /* void */ }
-#undef _nc_DelCharCost_sp
-int _nc_DelCharCost_sp(
- SCREEN *sp,
- int count)
- { return(*(int *)0); }
-
-#undef _nc_InsCharCost_sp
-int _nc_InsCharCost_sp(
- SCREEN *sp,
- int count)
- { return(*(int *)0); }
-
-#undef _nc_UpdateAttrs_sp
-void _nc_UpdateAttrs_sp(
- SCREEN *sp,
- chtype c)
- { /* void */ }
-
#undef _nc_DelCharCost
int _nc_DelCharCost(
int count)
@@ -2591,12 +2080,6 @@ void _nc_UpdateAttrs(
/* ./base/legacy_coding.c */
-#undef use_legacy_coding_sp
-int use_legacy_coding_sp(
- SCREEN *sp,
- int level)
- { return(*(int *)0); }
-
#undef use_legacy_coding
int use_legacy_coding(
int level)
@@ -2604,22 +2087,10 @@ int use_legacy_coding(
/* ./base/lib_dft_fgbg.c */
-#undef use_default_colors_sp
-int use_default_colors_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef use_default_colors
int use_default_colors(void)
{ return(*(int *)0); }
-#undef assume_default_colors_sp
-int assume_default_colors_sp(
- SCREEN *sp,
- int fg,
- int bg)
- { return(*(int *)0); }
-
#undef assume_default_colors
int assume_default_colors(
int fg,
@@ -2628,13 +2099,6 @@ int assume_default_colors(
/* ./tinfo/lib_print.c */
-#undef mcprint_sp
-int mcprint_sp(
- SCREEN *sp,
- char *data,
- int len)
- { return(*(int *)0); }
-
#undef mcprint
int mcprint(
char *data,
@@ -2643,39 +2107,18 @@ int mcprint(
/* ./base/resizeterm.c */
-#undef is_term_resized_sp
-NCURSES_BOOL is_term_resized_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(NCURSES_BOOL *)0); }
-
#undef is_term_resized
NCURSES_BOOL is_term_resized(
int ToLines,
int ToCols)
{ return(*(NCURSES_BOOL *)0); }
-#undef resize_term_sp
-int resize_term_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(int *)0); }
-
#undef resize_term
int resize_term(
int ToLines,
int ToCols)
{ return(*(int *)0); }
-#undef resizeterm_sp
-int resizeterm_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(int *)0); }
-
#undef resizeterm
int resizeterm(
int ToLines,
@@ -2718,6 +2161,9 @@ int wresize(
/* ./tinfo/access.c */
+#include <sys/stat.h>
+#include <nc_alloc.h>
+
#undef _nc_rootname
char *_nc_rootname(
char *path)
@@ -2795,30 +2241,6 @@ char *const *_nc_numcodes(void)
char *const *_nc_strcodes(void)
{ return(*(char **)0); }
-/* ./comp_captab.c */
-
-#include <hashsize.h>
-
-#undef _nc_get_table
-const struct name_table_entry *_nc_get_table(
- NCURSES_BOOL termcap)
- { return(*(const struct name_table_entry **)0); }
-
-#undef _nc_get_hash_table
-const HashValue *_nc_get_hash_table(
- NCURSES_BOOL termcap)
- { return(*(const HashValue **)0); }
-
-#undef _nc_get_alias_table
-const struct alias *_nc_get_alias_table(
- NCURSES_BOOL termcap)
- { return(*(const struct alias **)0); }
-
-#undef _nc_get_hash_info
-const HashData *_nc_get_hash_info(
- NCURSES_BOOL termcap)
- { return(*(const HashData **)0); }
-
/* ./tinfo/comp_error.c */
#undef _nc_suppress_warnings
@@ -2865,21 +2287,6 @@ void _nc_syserr_abort(
...)
{ /* void */ }
-/* ./tinfo/comp_hash.c */
-
-#undef _nc_find_entry
-struct name_table_entry const *_nc_find_entry(
- const char *string,
- const HashValue *hash_table)
- { return(*(struct name_table_entry const **)0); }
-
-#undef _nc_find_type_entry
-struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
- NCURSES_BOOL termcap)
- { return(*(struct name_table_entry const **)0); }
-
/* ./tinfo/db_iterator.c */
#undef _nc_tic_dir
@@ -3001,11 +2408,6 @@ void _nc_init_keytry(
chtype *_nc_acs_map(void)
{ return(*(chtype **)0); }
-#undef _nc_init_acs_sp
-void _nc_init_acs_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_init_acs
void _nc_init_acs(void)
{ /* void */ }
@@ -3029,47 +2431,21 @@ int _nc_ospeed(
int BaudRate)
{ return(*(int *)0); }
-#undef baudrate_sp
-int baudrate_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef baudrate
int baudrate(void)
{ return(*(int *)0); }
/* ./tinfo/lib_cur_term.c */
-#undef _nc_get_cur_term_sp
-TERMINAL *_nc_get_cur_term_sp(
- SCREEN *sp)
- { return(*(TERMINAL **)0); }
-
-#undef _nc_get_cur_term
-TERMINAL *_nc_get_cur_term(void)
- { return(*(TERMINAL **)0); }
-
#undef _nc_cur_term
TERMINAL *_nc_cur_term(void)
{ return(*(TERMINAL **)0); }
-#undef set_curterm_sp
-TERMINAL *set_curterm_sp(
- SCREEN *sp,
- TERMINAL *termp)
- { return(*(TERMINAL **)0); }
-
#undef set_curterm
TERMINAL *set_curterm(
TERMINAL *termp)
{ return(*(TERMINAL **)0); }
-#undef del_curterm_sp
-int del_curterm_sp(
- SCREEN *sp,
- TERMINAL *termp)
- { return(*(int *)0); }
-
#undef del_curterm
int del_curterm(
TERMINAL *termp)
@@ -3098,11 +2474,6 @@ NCURSES_GLOBALS _nc_globals;
#undef _nc_prescreen
NCURSES_PRESCREEN _nc_prescreen;
-#undef _nc_screen_of
-SCREEN *_nc_screen_of(
- WINDOW *win)
- { return(*(SCREEN **)0); }
-
#undef _nc_init_pthreads
void _nc_init_pthreads(void)
{ /* void */ }
@@ -3129,49 +2500,24 @@ int _nc_mutex_unlock(
/* ./tinfo/lib_has_cap.c */
-#undef has_ic_sp
-NCURSES_BOOL has_ic_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef has_ic
NCURSES_BOOL has_ic(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef has_il_sp
-NCURSES_BOOL has_il_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef has_il
NCURSES_BOOL has_il(void)
{ return(*(NCURSES_BOOL *)0); }
/* ./tinfo/lib_kernel.c */
-#undef erasechar_sp
-char erasechar_sp(
- SCREEN *sp)
- { return(*(char *)0); }
-
#undef erasechar
char erasechar(void)
{ return(*(char *)0); }
-#undef killchar_sp
-char killchar_sp(
- SCREEN *sp)
- { return(*(char *)0); }
-
#undef killchar
char killchar(void)
{ return(*(char *)0); }
-#undef flushinp_sp
-int flushinp_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef flushinp
int flushinp(void)
{ return(*(int *)0); }
@@ -3180,8 +2526,8 @@ int flushinp(void)
struct kn { short offset; int code; };
-#undef keyname_sp
-char *keyname_sp(
+#undef _nc_keyname
+char *_nc_keyname(
SCREEN *sp,
int c)
{ return(*(char **)0); }
@@ -3193,23 +2539,12 @@ char *keyname(
/* ./tinfo/lib_longname.c */
-#undef longname_sp
-char *longname_sp(
- SCREEN *sp)
- { return(*(char **)0); }
-
#undef longname
char *longname(void)
{ return(*(char **)0); }
/* ./tinfo/lib_napms.c */
-#undef napms_sp
-int napms_sp(
- SCREEN *sp,
- int ms)
- { return(*(int *)0); }
-
#undef napms
int napms(
int ms)
@@ -3229,12 +2564,6 @@ void idcok(
NCURSES_BOOL flag)
{ /* void */ }
-#undef halfdelay_sp
-int halfdelay_sp(
- SCREEN *sp,
- int t)
- { return(*(int *)0); }
-
#undef halfdelay
int halfdelay(
int t)
@@ -3270,46 +2599,21 @@ int meta(
NCURSES_BOOL flag)
{ return(*(int *)0); }
-#undef curs_set_sp
-int curs_set_sp(
- SCREEN *sp,
- int vis)
- { return(*(int *)0); }
-
#undef curs_set
int curs_set(
int vis)
{ return(*(int *)0); }
-#undef typeahead_sp
-int typeahead_sp(
- SCREEN *sp,
- int fd)
- { return(*(int *)0); }
-
#undef typeahead
int typeahead(
int fd)
{ return(*(int *)0); }
-#undef has_key_sp
-int has_key_sp(
- SCREEN *sp,
- int keycode)
- { return(*(int *)0); }
-
#undef has_key
int has_key(
int keycode)
{ return(*(int *)0); }
-#undef _nc_putp_flush_sp
-int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
- const char *value)
- { return(*(int *)0); }
-
#undef _nc_keypad
int _nc_keypad(
SCREEN *sp,
@@ -3318,67 +2622,30 @@ int _nc_keypad(
/* ./tinfo/lib_raw.c */
-#undef raw_sp
-int raw_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef raw
int raw(void)
{ return(*(int *)0); }
-#undef cbreak_sp
-int cbreak_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef cbreak
int cbreak(void)
{ return(*(int *)0); }
-#undef qiflush_sp
-void qiflush_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef qiflush
void qiflush(void)
{ /* void */ }
-#undef noraw_sp
-int noraw_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef noraw
int noraw(void)
{ return(*(int *)0); }
-#undef nocbreak_sp
-int nocbreak_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef nocbreak
int nocbreak(void)
{ return(*(int *)0); }
-#undef noqiflush_sp
-void noqiflush_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef noqiflush
void noqiflush(void)
{ /* void */ }
-#undef intrflush_sp
-int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
#undef intrflush
int intrflush(
WINDOW *win,
@@ -3396,8 +2663,7 @@ char *_nc_ttytype(void)
{ return(*(char **)0); }
#undef _nc_ptr_Lines
-int *_nc_ptr_Lines(
- SCREEN *sp)
+int *_nc_ptr_Lines(void)
{ return(*(int **)0); }
#undef _nc_LINES
@@ -3405,29 +2671,17 @@ int _nc_LINES(void)
{ return(*(int *)0); }
#undef _nc_ptr_Cols
-int *_nc_ptr_Cols(
- SCREEN *sp)
+int *_nc_ptr_Cols(void)
{ return(*(int **)0); }
#undef _nc_COLS
int _nc_COLS(void)
{ return(*(int *)0); }
-#undef _nc_ptr_Tabsize
-int *_nc_ptr_Tabsize(
- SCREEN *sp)
- { return(*(int **)0); }
-
#undef _nc_TABSIZE
int _nc_TABSIZE(void)
{ return(*(int *)0); }
-#undef set_tabsize_sp
-int set_tabsize_sp(
- SCREEN *sp,
- int value)
- { return(*(int *)0); }
-
#undef set_tabsize
int set_tabsize(
int value)
@@ -3438,12 +2692,6 @@ int _nc_handle_sigwinch(
SCREEN *sp)
{ return(*(int *)0); }
-#undef use_env_sp
-void use_env_sp(
- SCREEN *sp,
- NCURSES_BOOL f)
- { /* void */ }
-
#undef use_env
void use_env(
NCURSES_BOOL f)
@@ -3461,18 +2709,6 @@ void _nc_update_screensize(
SCREEN *sp)
{ /* void */ }
-#undef _nc_setup_tinfo
-int _nc_setup_tinfo(
- const char *const tn,
- TERMTYPE *const tp)
- { return(*(int *)0); }
-
-#undef _nc_tinfo_cmdch
-void _nc_tinfo_cmdch(
- TERMINAL *termp,
- char proto)
- { /* void */ }
-
#undef _nc_get_locale
char *_nc_get_locale(void)
{ return(*(char **)0); }
@@ -3494,10 +2730,6 @@ int _nc_setupterm(
NCURSES_BOOL reuse)
{ return(*(int *)0); }
-#undef new_prescr
-SCREEN *new_prescr(void)
- { return(*(SCREEN **)0); }
-
#undef setupterm
int setupterm(
char *tname,
@@ -3512,9 +2744,8 @@ char *UP;
#undef BC
char *BC;
-#undef tgetent_sp
-int tgetent_sp(
- SCREEN *sp,
+#undef tgetent
+int tgetent(
char *bufp,
const char *name)
{ return(*(int *)0); }
@@ -3525,41 +2756,16 @@ int tgetent_sp(
#endif
-#undef tgetent
-int tgetent(
- char *bufp,
- const char *name)
- { return(*(int *)0); }
-
-#undef tgetflag_sp
-int tgetflag_sp(
- SCREEN *sp,
- char *id)
- { return(*(int *)0); }
-
#undef tgetflag
int tgetflag(
char *id)
{ return(*(int *)0); }
-#undef tgetnum_sp
-int tgetnum_sp(
- SCREEN *sp,
- char *id)
- { return(*(int *)0); }
-
#undef tgetnum
int tgetnum(
char *id)
{ return(*(int *)0); }
-#undef tgetstr_sp
-char *tgetstr_sp(
- SCREEN *sp,
- char *id,
- char **area)
- { return(*(char **)0); }
-
#undef tgetstr
char *tgetstr(
char *id,
@@ -3568,11 +2774,6 @@ char *tgetstr(
/* ./tinfo/lib_termname.c */
-#undef termname_sp
-char *termname_sp(
- SCREEN *sp)
- { return(*(char **)0); }
-
#undef termname
char *termname(void)
{ return(*(char **)0); }
@@ -3588,34 +2789,16 @@ char *tgoto(
/* ./tinfo/lib_ti.c */
-#undef tigetflag_sp
-int tigetflag_sp(
- SCREEN *sp,
- char *str)
- { return(*(int *)0); }
-
#undef tigetflag
int tigetflag(
char *str)
{ return(*(int *)0); }
-#undef tigetnum_sp
-int tigetnum_sp(
- SCREEN *sp,
- char *str)
- { return(*(int *)0); }
-
#undef tigetnum
int tigetnum(
char *str)
{ return(*(int *)0); }
-#undef tigetstr_sp
-char *tigetstr_sp(
- SCREEN *sp,
- char *str)
- { return(*(char **)0); }
-
#undef tigetstr
char *tigetstr(
char *str)
@@ -3639,12 +2822,6 @@ char *tparm(
...)
{ return(*(char **)0); }
-#undef tiparm
-char *tiparm(
- const char *string,
- ...)
- { return(*(char **)0); }
-
/* ./tinfo/lib_tputs.c */
#undef PC
@@ -3659,75 +2836,25 @@ void _nc_set_no_padding(
SCREEN *sp)
{ /* void */ }
-#undef delay_output_sp
-int delay_output_sp(
- SCREEN *sp,
- int ms)
- { return(*(int *)0); }
-
#undef delay_output
int delay_output(
int ms)
{ return(*(int *)0); }
-#undef _nc_flush_sp
-void _nc_flush_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_flush
void _nc_flush(void)
{ /* void */ }
-#undef _nc_outch_sp
-int _nc_outch_sp(
- SCREEN *sp,
- int ch)
- { return(*(int *)0); }
-
#undef _nc_outch
int _nc_outch(
int ch)
{ return(*(int *)0); }
-#undef putp_sp
-int putp_sp(
- SCREEN *sp,
- const char *string)
- { return(*(int *)0); }
-
-#undef _nc_putp_sp
-int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
- const char *string)
- { return(*(int *)0); }
-
#undef putp
int putp(
const char *string)
{ return(*(int *)0); }
-#undef _nc_putp
-int _nc_putp(
- const char *name,
- const char *string)
- { return(*(int *)0); }
-
-#undef tputs_sp
-int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
- NCURSES_OUTC_sp outc)
- { return(*(int *)0); }
-
-#undef _nc_outc_wrapper
-int _nc_outc_wrapper(
- SCREEN *sp,
- int c)
- { return(*(int *)0); }
-
#undef tputs
int tputs(
const char *string,
@@ -3775,11 +2902,6 @@ NCURSES_BOOL _nc_retrace_bool(
NCURSES_BOOL code)
{ return(*(NCURSES_BOOL *)0); }
-#undef _nc_retrace_char
-char _nc_retrace_char(
- char code)
- { return(*(char *)0); }
-
#undef _nc_retrace_int
int _nc_retrace_int(
int code)
@@ -3844,11 +2966,6 @@ char *_traceattr(
attr_t newmode)
{ return(*(char **)0); }
-#undef _nc_retrace_int_attr_t
-int _nc_retrace_int_attr_t(
- attr_t code)
- { return(*(int *)0); }
-
#undef _nc_retrace_attr_t
attr_t _nc_retrace_attr_t(
attr_t code)
@@ -3907,78 +3024,36 @@ char *_tracechar(
/* ./tinfo/lib_ttyflags.c */
-#undef _nc_get_tty_mode_sp
-int _nc_get_tty_mode_sp(
- SCREEN *sp,
- struct termios *buf)
- { return(*(int *)0); }
-
#undef _nc_get_tty_mode
int _nc_get_tty_mode(
struct termios *buf)
{ return(*(int *)0); }
-#undef _nc_set_tty_mode_sp
-int _nc_set_tty_mode_sp(
- SCREEN *sp,
- struct termios *buf)
- { return(*(int *)0); }
-
#undef _nc_set_tty_mode
int _nc_set_tty_mode(
struct termios *buf)
{ return(*(int *)0); }
-#undef def_shell_mode_sp
-int def_shell_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef def_shell_mode
int def_shell_mode(void)
{ return(*(int *)0); }
-#undef def_prog_mode_sp
-int def_prog_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef def_prog_mode
int def_prog_mode(void)
{ return(*(int *)0); }
-#undef reset_prog_mode_sp
-int reset_prog_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef reset_prog_mode
int reset_prog_mode(void)
{ return(*(int *)0); }
-#undef reset_shell_mode_sp
-int reset_shell_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef reset_shell_mode
int reset_shell_mode(void)
{ return(*(int *)0); }
-#undef savetty_sp
-int savetty_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef savetty
int savetty(void)
{ return(*(int *)0); }
-#undef resetty_sp
-int resetty_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef resetty
int resetty(void)
{ return(*(int *)0); }
@@ -4069,13 +3144,6 @@ int _nc_read_termcap_entry(
/* ./tinfo/setbuf.c */
-#undef _nc_set_buffer_sp
-void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
- NCURSES_BOOL buffered)
- { /* void */ }
-
#undef _nc_set_buffer
void _nc_set_buffer(
FILE *ofp,
@@ -4167,8 +3235,8 @@ char *_nc_trim_sgr0(
/* ./unctrl.c */
-#undef unctrl_sp
-char *unctrl_sp(
+#undef _nc_unctrl
+char *_nc_unctrl(
SCREEN *sp,
chtype ch)
{ return(*(char **)0); }
@@ -4255,6 +3323,25 @@ char *_nc_infotocap(
int const parameterized)
{ return(*(char **)0); }
+/* ./comp_captab.c */
+
+#include <hashsize.h>
+
+#undef _nc_get_table
+const struct name_table_entry *_nc_get_table(
+ NCURSES_BOOL termcap)
+ { return(*(const struct name_table_entry **)0); }
+
+#undef _nc_get_hash_table
+const short *_nc_get_hash_table(
+ NCURSES_BOOL termcap)
+ { return(*(const short **)0); }
+
+#undef _nc_get_alias_table
+const struct alias *_nc_get_alias_table(
+ NCURSES_BOOL termcap)
+ { return(*(const struct alias **)0); }
+
/* ./tinfo/comp_expand.c */
#undef _nc_tic_expand
@@ -4264,6 +3351,21 @@ char *_nc_tic_expand(
int numbers)
{ return(*(char **)0); }
+/* ./tinfo/comp_hash.c */
+
+#undef _nc_find_entry
+struct name_table_entry const *_nc_find_entry(
+ const char *string,
+ const short *hash_table)
+ { return(*(struct name_table_entry const **)0); }
+
+#undef _nc_find_type_entry
+struct name_table_entry const *_nc_find_type_entry(
+ const char *string,
+ int type,
+ const struct name_table_entry *table)
+ { return(*(struct name_table_entry const **)0); }
+
/* ./tinfo/comp_parse.c */
#undef _nc_check_termtype2
@@ -4383,13 +3485,6 @@ int _nc_tic_written(void)
/* ./base/define_key.c */
-#undef define_key_sp
-int define_key_sp(
- SCREEN *sp,
- const char *str,
- int keycode)
- { return(*(int *)0); }
-
#undef define_key
int define_key(
const char *str,
@@ -4404,12 +3499,6 @@ void _nc_hashed_db(void)
/* ./base/key_defined.c */
-#undef key_defined_sp
-int key_defined_sp(
- SCREEN *sp,
- const char *str)
- { return(*(int *)0); }
-
#undef key_defined
int key_defined(
const char *str)
@@ -4417,13 +3506,6 @@ int key_defined(
/* ./base/keybound.c */
-#undef keybound_sp
-char *keybound_sp(
- SCREEN *sp,
- int code,
- int count)
- { return(*(char **)0); }
-
#undef keybound
char *keybound(
int code,
@@ -4432,13 +3514,6 @@ char *keybound(
/* ./base/keyok.c */
-#undef keyok_sp
-int keyok_sp(
- SCREEN *sp,
- int c,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
#undef keyok
int keyok(
int c,
diff --git a/ncurses/llib-lncursestw b/ncurses/llib-lncursestw
deleted file mode 100644
index 5230bc758aff..000000000000
--- a/ncurses/llib-lncursestw
+++ /dev/null
@@ -1,5270 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2009-2010,2011 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"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************/
-
-/****************************************************************************
- * Author: Thomas E. Dickey 2009-2010,2011 *
- ****************************************************************************/
-/* LINTLIBRARY */
-
-/* ./tty/hardscroll.c */
-
-#include <curses.priv.h>
-
-#undef _nc_oldnums
-int *_nc_oldnums;
-
-#undef _nc_scroll_optimize_sp
-void _nc_scroll_optimize_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_scroll_optimize
-void _nc_scroll_optimize(void)
- { /* void */ }
-
-#undef _nc_linedump_sp
-void _nc_linedump_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_linedump
-void _nc_linedump(void)
- { /* void */ }
-
-/* ./tty/hashmap.c */
-
-#undef _nc_hash_map_sp
-void _nc_hash_map_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_hash_map
-void _nc_hash_map(void)
- { /* void */ }
-
-#undef _nc_make_oldhash_sp
-void _nc_make_oldhash_sp(
- SCREEN *sp,
- int i)
- { /* void */ }
-
-#undef _nc_make_oldhash
-void _nc_make_oldhash(
- int i)
- { /* void */ }
-
-#undef _nc_scroll_oldhash_sp
-void _nc_scroll_oldhash_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot)
- { /* void */ }
-
-#undef _nc_scroll_oldhash
-void _nc_scroll_oldhash(
- int n,
- int top,
- int bot)
- { /* void */ }
-
-/* ./base/lib_addch.c */
-
-#include <ctype.h>
-
-#undef _nc_render
-cchar_t _nc_render(
- WINDOW *win,
- cchar_t ch)
- { return(*(cchar_t *)0); }
-
-#undef _nc_build_wch
-int _nc_build_wch(
- WINDOW *win,
- cchar_t *ch)
- { return(*(int *)0); }
-
-#undef _nc_waddch_nosync
-int _nc_waddch_nosync(
- WINDOW *win,
- const cchar_t c)
- { return(*(int *)0); }
-
-#undef waddch
-int waddch(
- WINDOW *win,
- const chtype ch)
- { return(*(int *)0); }
-
-#undef wechochar
-int wechochar(
- WINDOW *win,
- const chtype ch)
- { return(*(int *)0); }
-
-/* ./base/lib_addstr.c */
-
-#undef waddnstr
-int waddnstr(
- WINDOW *win,
- const char *astr,
- int n)
- { return(*(int *)0); }
-
-#undef waddchnstr
-int waddchnstr(
- WINDOW *win,
- const chtype *astr,
- int n)
- { return(*(int *)0); }
-
-#undef _nc_wchstrlen
-int _nc_wchstrlen(
- const cchar_t *s)
- { return(*(int *)0); }
-
-#undef wadd_wchnstr
-int wadd_wchnstr(
- WINDOW *win,
- const cchar_t *astr,
- int n)
- { return(*(int *)0); }
-
-#undef waddnwstr
-int waddnwstr(
- WINDOW *win,
- const wchar_t *str,
- int n)
- { return(*(int *)0); }
-
-/* ./base/lib_beep.c */
-
-#undef beep_sp
-int beep_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef beep
-int beep(void)
- { return(*(int *)0); }
-
-/* ./base/lib_bkgd.c */
-
-#undef wbkgrndset
-void wbkgrndset(
- WINDOW *win,
- const cchar_t *ch)
- { /* void */ }
-
-#undef wbkgdset
-void wbkgdset(
- WINDOW *win,
- chtype ch)
- { /* void */ }
-
-#undef wbkgrnd
-int wbkgrnd(
- WINDOW *win,
- const cchar_t *ch)
- { return(*(int *)0); }
-
-#undef wbkgd
-int wbkgd(
- WINDOW *win,
- chtype ch)
- { return(*(int *)0); }
-
-/* ./base/lib_box.c */
-
-#undef wborder
-int wborder(
- WINDOW *win,
- chtype ls,
- chtype rs,
- chtype ts,
- chtype bs,
- chtype tl,
- chtype tr,
- chtype bl,
- chtype br)
- { return(*(int *)0); }
-
-/* ./base/lib_chgat.c */
-
-#undef wchgat
-int wchgat(
- WINDOW *win,
- int n,
- attr_t attr,
- short color,
- const void *opts)
- { return(*(int *)0); }
-
-/* ./base/lib_clear.c */
-
-#undef wclear
-int wclear(
- WINDOW *win)
- { return(*(int *)0); }
-
-/* ./base/lib_clearok.c */
-
-#undef clearok
-int clearok(
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-/* ./base/lib_clrbot.c */
-
-#undef wclrtobot
-int wclrtobot(
- WINDOW *win)
- { return(*(int *)0); }
-
-/* ./base/lib_clreol.c */
-
-#undef wclrtoeol
-int wclrtoeol(
- WINDOW *win)
- { return(*(int *)0); }
-
-/* ./base/lib_color.c */
-
-#include <tic.h>
-
-#undef _nc_COLOR_PAIRS
-int _nc_COLOR_PAIRS(void)
- { return(*(int *)0); }
-
-#undef _nc_COLORS
-int _nc_COLORS(void)
- { return(*(int *)0); }
-
-#undef _nc_reset_colors_sp
-NCURSES_BOOL _nc_reset_colors_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef _nc_reset_colors
-NCURSES_BOOL _nc_reset_colors(void)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef start_color_sp
-int start_color_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef start_color
-int start_color(void)
- { return(*(int *)0); }
-
-#undef init_pair_sp
-int init_pair_sp(
- SCREEN *sp,
- short pair,
- short f,
- short b)
- { return(*(int *)0); }
-
-#undef init_pair
-int init_pair(
- short pair,
- short f,
- short b)
- { return(*(int *)0); }
-
-#undef init_color_sp
-int init_color_sp(
- SCREEN *sp,
- short color,
- short r,
- short g,
- short b)
- { return(*(int *)0); }
-
-#undef init_color
-int init_color(
- short color,
- short r,
- short g,
- short b)
- { return(*(int *)0); }
-
-#undef can_change_color_sp
-NCURSES_BOOL can_change_color_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef can_change_color
-NCURSES_BOOL can_change_color(void)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_colors_sp
-NCURSES_BOOL has_colors_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_colors
-NCURSES_BOOL has_colors(void)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef color_content_sp
-int color_content_sp(
- SCREEN *sp,
- short color,
- short *r,
- short *g,
- short *b)
- { return(*(int *)0); }
-
-#undef color_content
-int color_content(
- short color,
- short *r,
- short *g,
- short *b)
- { return(*(int *)0); }
-
-#undef pair_content_sp
-int pair_content_sp(
- SCREEN *sp,
- short pair,
- short *f,
- short *b)
- { return(*(int *)0); }
-
-#undef pair_content
-int pair_content(
- short pair,
- short *f,
- short *b)
- { return(*(int *)0); }
-
-#undef _nc_do_color_sp
-void _nc_do_color_sp(
- SCREEN *sp,
- short old_pair,
- short pair,
- NCURSES_BOOL reverse,
- NCURSES_OUTC_sp outc)
- { /* void */ }
-
-#undef _nc_do_color
-void _nc_do_color(
- short old_pair,
- short pair,
- NCURSES_BOOL reverse,
- NCURSES_OUTC outc)
- { /* void */ }
-
-/* ./base/lib_colorset.c */
-
-#undef wcolor_set
-int wcolor_set(
- WINDOW *win,
- short color_pair_number,
- void *opts)
- { return(*(int *)0); }
-
-/* ./base/lib_delch.c */
-
-#undef wdelch
-int wdelch(
- WINDOW *win)
- { return(*(int *)0); }
-
-/* ./base/lib_delwin.c */
-
-#undef delwin
-int delwin(
- WINDOW *win)
- { return(*(int *)0); }
-
-/* ./base/lib_echo.c */
-
-#undef echo_sp
-int echo_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef echo
-int echo(void)
- { return(*(int *)0); }
-
-#undef noecho_sp
-int noecho_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef noecho
-int noecho(void)
- { return(*(int *)0); }
-
-/* ./base/lib_endwin.c */
-
-#undef endwin_sp
-int endwin_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef endwin
-int endwin(void)
- { return(*(int *)0); }
-
-/* ./base/lib_erase.c */
-
-#undef werase
-int werase(
- WINDOW *win)
- { return(*(int *)0); }
-
-/* ./base/lib_flash.c */
-
-#undef flash_sp
-int flash_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef flash
-int flash(void)
- { return(*(int *)0); }
-
-/* ./lib_gen.c */
-
-#undef addch
-int addch(
- const chtype z)
- { return(*(int *)0); }
-
-#undef addchnstr
-int addchnstr(
- const chtype *a1,
- int z)
- { return(*(int *)0); }
-
-#undef addchstr
-int addchstr(
- const chtype *z)
- { return(*(int *)0); }
-
-#undef addnstr
-int addnstr(
- const char *a1,
- int z)
- { return(*(int *)0); }
-
-#undef addstr
-int addstr(
- const char *z)
- { return(*(int *)0); }
-
-#undef attroff
-int attroff(
- NCURSES_ATTR_T z)
- { return(*(int *)0); }
-
-#undef attron
-int attron(
- NCURSES_ATTR_T z)
- { return(*(int *)0); }
-
-#undef attrset
-int attrset(
- NCURSES_ATTR_T z)
- { return(*(int *)0); }
-
-#undef attr_get
-int attr_get(
- attr_t *a1,
- short *a2,
- void *z)
- { return(*(int *)0); }
-
-#undef attr_off
-int attr_off(
- attr_t a1,
- void *z)
- { return(*(int *)0); }
-
-#undef attr_on
-int attr_on(
- attr_t a1,
- void *z)
- { return(*(int *)0); }
-
-#undef attr_set
-int attr_set(
- attr_t a1,
- short a2,
- void *z)
- { return(*(int *)0); }
-
-#undef bkgd
-int bkgd(
- chtype z)
- { return(*(int *)0); }
-
-#undef bkgdset
-void bkgdset(
- chtype z)
- { /* void */ }
-
-#undef border
-int border(
- chtype a1,
- chtype a2,
- chtype a3,
- chtype a4,
- chtype a5,
- chtype a6,
- chtype a7,
- chtype z)
- { return(*(int *)0); }
-
-#undef box
-int box(
- WINDOW *a1,
- chtype a2,
- chtype z)
- { return(*(int *)0); }
-
-#undef chgat
-int chgat(
- int a1,
- attr_t a2,
- short a3,
- const void *z)
- { return(*(int *)0); }
-
-#undef clear
-int clear(void)
- { return(*(int *)0); }
-
-#undef clrtobot
-int clrtobot(void)
- { return(*(int *)0); }
-
-#undef clrtoeol
-int clrtoeol(void)
- { return(*(int *)0); }
-
-#undef color_set
-int color_set(
- short a1,
- void *z)
- { return(*(int *)0); }
-
-#undef COLOR_PAIR
-int COLOR_PAIR(
- int z)
- { return(*(int *)0); }
-
-#undef delch
-int delch(void)
- { return(*(int *)0); }
-
-#undef deleteln
-int deleteln(void)
- { return(*(int *)0); }
-
-#undef echochar
-int echochar(
- const chtype z)
- { return(*(int *)0); }
-
-#undef erase
-int erase(void)
- { return(*(int *)0); }
-
-#undef getbkgd
-chtype getbkgd(
- WINDOW *z)
- { return(*(chtype *)0); }
-
-#undef getch
-int getch(void)
- { return(*(int *)0); }
-
-#undef getnstr
-int getnstr(
- char *a1,
- int z)
- { return(*(int *)0); }
-
-#undef getstr
-int getstr(
- char *z)
- { return(*(int *)0); }
-
-#undef hline
-int hline(
- chtype a1,
- int z)
- { return(*(int *)0); }
-
-#undef inch
-chtype inch(void)
- { return(*(chtype *)0); }
-
-#undef inchnstr
-int inchnstr(
- chtype *a1,
- int z)
- { return(*(int *)0); }
-
-#undef inchstr
-int inchstr(
- chtype *z)
- { return(*(int *)0); }
-
-#undef innstr
-int innstr(
- char *a1,
- int z)
- { return(*(int *)0); }
-
-#undef insch
-int insch(
- chtype z)
- { return(*(int *)0); }
-
-#undef insdelln
-int insdelln(
- int z)
- { return(*(int *)0); }
-
-#undef insertln
-int insertln(void)
- { return(*(int *)0); }
-
-#undef insnstr
-int insnstr(
- const char *a1,
- int z)
- { return(*(int *)0); }
-
-#undef insstr
-int insstr(
- const char *z)
- { return(*(int *)0); }
-
-#undef instr
-int instr(
- char *z)
- { return(*(int *)0); }
-
-#undef move
-int move(
- int a1,
- int z)
- { return(*(int *)0); }
-
-#undef mvaddch
-int mvaddch(
- int a1,
- int a2,
- const chtype z)
- { return(*(int *)0); }
-
-#undef mvaddchnstr
-int mvaddchnstr(
- int a1,
- int a2,
- const chtype *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvaddchstr
-int mvaddchstr(
- int a1,
- int a2,
- const chtype *z)
- { return(*(int *)0); }
-
-#undef mvaddnstr
-int mvaddnstr(
- int a1,
- int a2,
- const char *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvaddstr
-int mvaddstr(
- int a1,
- int a2,
- const char *z)
- { return(*(int *)0); }
-
-#undef mvchgat
-int mvchgat(
- int a1,
- int a2,
- int a3,
- attr_t a4,
- short a5,
- const void *z)
- { return(*(int *)0); }
-
-#undef mvdelch
-int mvdelch(
- int a1,
- int z)
- { return(*(int *)0); }
-
-#undef mvgetch
-int mvgetch(
- int a1,
- int z)
- { return(*(int *)0); }
-
-#undef mvgetnstr
-int mvgetnstr(
- int a1,
- int a2,
- char *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvgetstr
-int mvgetstr(
- int a1,
- int a2,
- char *z)
- { return(*(int *)0); }
-
-#undef mvhline
-int mvhline(
- int a1,
- int a2,
- chtype a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvinch
-chtype mvinch(
- int a1,
- int z)
- { return(*(chtype *)0); }
-
-#undef mvinchnstr
-int mvinchnstr(
- int a1,
- int a2,
- chtype *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvinchstr
-int mvinchstr(
- int a1,
- int a2,
- chtype *z)
- { return(*(int *)0); }
-
-#undef mvinnstr
-int mvinnstr(
- int a1,
- int a2,
- char *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvinsch
-int mvinsch(
- int a1,
- int a2,
- chtype z)
- { return(*(int *)0); }
-
-#undef mvinsnstr
-int mvinsnstr(
- int a1,
- int a2,
- const char *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvinsstr
-int mvinsstr(
- int a1,
- int a2,
- const char *z)
- { return(*(int *)0); }
-
-#undef mvinstr
-int mvinstr(
- int a1,
- int a2,
- char *z)
- { return(*(int *)0); }
-
-#undef mvvline
-int mvvline(
- int a1,
- int a2,
- chtype a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvwaddch
-int mvwaddch(
- WINDOW *a1,
- int a2,
- int a3,
- const chtype z)
- { return(*(int *)0); }
-
-#undef mvwaddchnstr
-int mvwaddchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const chtype *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwaddchstr
-int mvwaddchstr(
- WINDOW *a1,
- int a2,
- int a3,
- const chtype *z)
- { return(*(int *)0); }
-
-#undef mvwaddnstr
-int mvwaddnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwaddstr
-int mvwaddstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *z)
- { return(*(int *)0); }
-
-#undef mvwchgat
-int mvwchgat(
- WINDOW *a1,
- int a2,
- int a3,
- int a4,
- attr_t a5,
- short a6,
- const void *z)
- { return(*(int *)0); }
-
-#undef mvwdelch
-int mvwdelch(
- WINDOW *a1,
- int a2,
- int z)
- { return(*(int *)0); }
-
-#undef mvwgetch
-int mvwgetch(
- WINDOW *a1,
- int a2,
- int z)
- { return(*(int *)0); }
-
-#undef mvwgetnstr
-int mvwgetnstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwgetstr
-int mvwgetstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *z)
- { return(*(int *)0); }
-
-#undef mvwhline
-int mvwhline(
- WINDOW *a1,
- int a2,
- int a3,
- chtype a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwinch
-chtype mvwinch(
- WINDOW *a1,
- int a2,
- int z)
- { return(*(chtype *)0); }
-
-#undef mvwinchnstr
-int mvwinchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- chtype *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwinchstr
-int mvwinchstr(
- WINDOW *a1,
- int a2,
- int a3,
- chtype *z)
- { return(*(int *)0); }
-
-#undef mvwinnstr
-int mvwinnstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwinsch
-int mvwinsch(
- WINDOW *a1,
- int a2,
- int a3,
- chtype z)
- { return(*(int *)0); }
-
-#undef mvwinsnstr
-int mvwinsnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwinsstr
-int mvwinsstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *z)
- { return(*(int *)0); }
-
-#undef mvwinstr
-int mvwinstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *z)
- { return(*(int *)0); }
-
-#undef mvwvline
-int mvwvline(
- WINDOW *a1,
- int a2,
- int a3,
- chtype a4,
- int z)
- { return(*(int *)0); }
-
-#undef PAIR_NUMBER
-int PAIR_NUMBER(
- int z)
- { return(*(int *)0); }
-
-#undef redrawwin
-int redrawwin(
- WINDOW *z)
- { return(*(int *)0); }
-
-#undef refresh
-int refresh(void)
- { return(*(int *)0); }
-
-#undef scrl
-int scrl(
- int z)
- { return(*(int *)0); }
-
-#undef scroll
-int scroll(
- WINDOW *z)
- { return(*(int *)0); }
-
-#undef setscrreg
-int setscrreg(
- int a1,
- int z)
- { return(*(int *)0); }
-
-#undef slk_attr_off
-int slk_attr_off(
- const attr_t a1,
- void *z)
- { return(*(int *)0); }
-
-#undef slk_attr_on
-int slk_attr_on(
- attr_t a1,
- void *z)
- { return(*(int *)0); }
-
-#undef standout
-int standout(void)
- { return(*(int *)0); }
-
-#undef standend
-int standend(void)
- { return(*(int *)0); }
-
-#undef timeout
-void timeout(
- int z)
- { /* void */ }
-
-#undef touchline
-int touchline(
- WINDOW *a1,
- int a2,
- int z)
- { return(*(int *)0); }
-
-#undef touchwin
-int touchwin(
- WINDOW *z)
- { return(*(int *)0); }
-
-#undef untouchwin
-int untouchwin(
- WINDOW *z)
- { return(*(int *)0); }
-
-#undef vline
-int vline(
- chtype a1,
- int z)
- { return(*(int *)0); }
-
-#undef vw_printw
-int vw_printw(
- WINDOW *a1,
- const char *a2,
- va_list z)
- { return(*(int *)0); }
-
-#undef vw_scanw
-int vw_scanw(
- WINDOW *a1,
- char *a2,
- va_list z)
- { return(*(int *)0); }
-
-#undef waddchstr
-int waddchstr(
- WINDOW *a1,
- const chtype *z)
- { return(*(int *)0); }
-
-#undef waddstr
-int waddstr(
- WINDOW *a1,
- const char *z)
- { return(*(int *)0); }
-
-#undef wattron
-int wattron(
- WINDOW *a1,
- int z)
- { return(*(int *)0); }
-
-#undef wattroff
-int wattroff(
- WINDOW *a1,
- int z)
- { return(*(int *)0); }
-
-#undef wattrset
-int wattrset(
- WINDOW *a1,
- int z)
- { return(*(int *)0); }
-
-#undef wattr_get
-int wattr_get(
- WINDOW *a1,
- attr_t *a2,
- short *a3,
- void *z)
- { return(*(int *)0); }
-
-#undef wattr_set
-int wattr_set(
- WINDOW *a1,
- attr_t a2,
- short a3,
- void *z)
- { return(*(int *)0); }
-
-#undef wdeleteln
-int wdeleteln(
- WINDOW *z)
- { return(*(int *)0); }
-
-#undef wgetstr
-int wgetstr(
- WINDOW *a1,
- char *z)
- { return(*(int *)0); }
-
-#undef winchstr
-int winchstr(
- WINDOW *a1,
- chtype *z)
- { return(*(int *)0); }
-
-#undef winsertln
-int winsertln(
- WINDOW *z)
- { return(*(int *)0); }
-
-#undef winsstr
-int winsstr(
- WINDOW *a1,
- const char *z)
- { return(*(int *)0); }
-
-#undef winstr
-int winstr(
- WINDOW *a1,
- char *z)
- { return(*(int *)0); }
-
-#undef wstandout
-int wstandout(
- WINDOW *z)
- { return(*(int *)0); }
-
-#undef wstandend
-int wstandend(
- WINDOW *z)
- { return(*(int *)0); }
-
-#undef getattrs
-int getattrs(
- const WINDOW *z)
- { return(*(int *)0); }
-
-#undef getcurx
-int getcurx(
- const WINDOW *z)
- { return(*(int *)0); }
-
-#undef getcury
-int getcury(
- const WINDOW *z)
- { return(*(int *)0); }
-
-#undef getbegx
-int getbegx(
- const WINDOW *z)
- { return(*(int *)0); }
-
-#undef getbegy
-int getbegy(
- const WINDOW *z)
- { return(*(int *)0); }
-
-#undef getmaxx
-int getmaxx(
- const WINDOW *z)
- { return(*(int *)0); }
-
-#undef getmaxy
-int getmaxy(
- const WINDOW *z)
- { return(*(int *)0); }
-
-#undef getparx
-int getparx(
- const WINDOW *z)
- { return(*(int *)0); }
-
-#undef getpary
-int getpary(
- const WINDOW *z)
- { return(*(int *)0); }
-
-#undef wgetparent
-WINDOW *wgetparent(
- const WINDOW *z)
- { return(*(WINDOW **)0); }
-
-#undef is_cleared
-NCURSES_BOOL is_cleared(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_idcok
-NCURSES_BOOL is_idcok(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_idlok
-NCURSES_BOOL is_idlok(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_immedok
-NCURSES_BOOL is_immedok(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_keypad
-NCURSES_BOOL is_keypad(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_leaveok
-NCURSES_BOOL is_leaveok(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_nodelay
-NCURSES_BOOL is_nodelay(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_notimeout
-NCURSES_BOOL is_notimeout(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_pad
-NCURSES_BOOL is_pad(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_scrollok
-NCURSES_BOOL is_scrollok(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_subwin
-NCURSES_BOOL is_subwin(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_syncok
-NCURSES_BOOL is_syncok(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef wgetscrreg
-int wgetscrreg(
- const WINDOW *a1,
- int *a2,
- int *z)
- { return(*(int *)0); }
-
-#undef add_wch
-int add_wch(
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef add_wchnstr
-int add_wchnstr(
- const cchar_t *a1,
- int z)
- { return(*(int *)0); }
-
-#undef add_wchstr
-int add_wchstr(
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef addnwstr
-int addnwstr(
- const wchar_t *a1,
- int z)
- { return(*(int *)0); }
-
-#undef addwstr
-int addwstr(
- const wchar_t *z)
- { return(*(int *)0); }
-
-#undef bkgrnd
-int bkgrnd(
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef bkgrndset
-void bkgrndset(
- const cchar_t *z)
- { /* void */ }
-
-#undef border_set
-int border_set(
- const cchar_t *a1,
- const cchar_t *a2,
- const cchar_t *a3,
- const cchar_t *a4,
- const cchar_t *a5,
- const cchar_t *a6,
- const cchar_t *a7,
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef box_set
-int box_set(
- WINDOW *a1,
- const cchar_t *a2,
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef echo_wchar
-int echo_wchar(
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef get_wch
-int get_wch(
- wint_t *z)
- { return(*(int *)0); }
-
-#undef get_wstr
-int get_wstr(
- wint_t *z)
- { return(*(int *)0); }
-
-#undef getbkgrnd
-int getbkgrnd(
- cchar_t *z)
- { return(*(int *)0); }
-
-#undef getn_wstr
-int getn_wstr(
- wint_t *a1,
- int z)
- { return(*(int *)0); }
-
-#undef hline_set
-int hline_set(
- const cchar_t *a1,
- int z)
- { return(*(int *)0); }
-
-#undef in_wch
-int in_wch(
- cchar_t *z)
- { return(*(int *)0); }
-
-#undef in_wchnstr
-int in_wchnstr(
- cchar_t *a1,
- int z)
- { return(*(int *)0); }
-
-#undef in_wchstr
-int in_wchstr(
- cchar_t *z)
- { return(*(int *)0); }
-
-#undef innwstr
-int innwstr(
- wchar_t *a1,
- int z)
- { return(*(int *)0); }
-
-#undef ins_nwstr
-int ins_nwstr(
- const wchar_t *a1,
- int z)
- { return(*(int *)0); }
-
-#undef ins_wch
-int ins_wch(
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef ins_wstr
-int ins_wstr(
- const wchar_t *z)
- { return(*(int *)0); }
-
-#undef inwstr
-int inwstr(
- wchar_t *z)
- { return(*(int *)0); }
-
-#undef mvadd_wch
-int mvadd_wch(
- int a1,
- int a2,
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef mvadd_wchnstr
-int mvadd_wchnstr(
- int a1,
- int a2,
- const cchar_t *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvadd_wchstr
-int mvadd_wchstr(
- int a1,
- int a2,
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef mvaddnwstr
-int mvaddnwstr(
- int a1,
- int a2,
- const wchar_t *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvaddwstr
-int mvaddwstr(
- int a1,
- int a2,
- const wchar_t *z)
- { return(*(int *)0); }
-
-#undef mvget_wch
-int mvget_wch(
- int a1,
- int a2,
- wint_t *z)
- { return(*(int *)0); }
-
-#undef mvget_wstr
-int mvget_wstr(
- int a1,
- int a2,
- wint_t *z)
- { return(*(int *)0); }
-
-#undef mvgetn_wstr
-int mvgetn_wstr(
- int a1,
- int a2,
- wint_t *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvhline_set
-int mvhline_set(
- int a1,
- int a2,
- const cchar_t *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvin_wch
-int mvin_wch(
- int a1,
- int a2,
- cchar_t *z)
- { return(*(int *)0); }
-
-#undef mvin_wchnstr
-int mvin_wchnstr(
- int a1,
- int a2,
- cchar_t *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvin_wchstr
-int mvin_wchstr(
- int a1,
- int a2,
- cchar_t *z)
- { return(*(int *)0); }
-
-#undef mvinnwstr
-int mvinnwstr(
- int a1,
- int a2,
- wchar_t *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvins_nwstr
-int mvins_nwstr(
- int a1,
- int a2,
- const wchar_t *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvins_wch
-int mvins_wch(
- int a1,
- int a2,
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef mvins_wstr
-int mvins_wstr(
- int a1,
- int a2,
- const wchar_t *z)
- { return(*(int *)0); }
-
-#undef mvinwstr
-int mvinwstr(
- int a1,
- int a2,
- wchar_t *z)
- { return(*(int *)0); }
-
-#undef mvvline_set
-int mvvline_set(
- int a1,
- int a2,
- const cchar_t *a3,
- int z)
- { return(*(int *)0); }
-
-#undef mvwadd_wch
-int mvwadd_wch(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef mvwadd_wchnstr
-int mvwadd_wchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwadd_wchstr
-int mvwadd_wchstr(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef mvwaddnwstr
-int mvwaddnwstr(
- WINDOW *a1,
- int a2,
- int a3,
- const wchar_t *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwaddwstr
-int mvwaddwstr(
- WINDOW *a1,
- int a2,
- int a3,
- const wchar_t *z)
- { return(*(int *)0); }
-
-#undef mvwget_wch
-int mvwget_wch(
- WINDOW *a1,
- int a2,
- int a3,
- wint_t *z)
- { return(*(int *)0); }
-
-#undef mvwget_wstr
-int mvwget_wstr(
- WINDOW *a1,
- int a2,
- int a3,
- wint_t *z)
- { return(*(int *)0); }
-
-#undef mvwgetn_wstr
-int mvwgetn_wstr(
- WINDOW *a1,
- int a2,
- int a3,
- wint_t *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwhline_set
-int mvwhline_set(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwin_wch
-int mvwin_wch(
- WINDOW *a1,
- int a2,
- int a3,
- cchar_t *z)
- { return(*(int *)0); }
-
-#undef mvwin_wchnstr
-int mvwin_wchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- cchar_t *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwin_wchstr
-int mvwin_wchstr(
- WINDOW *a1,
- int a2,
- int a3,
- cchar_t *z)
- { return(*(int *)0); }
-
-#undef mvwinnwstr
-int mvwinnwstr(
- WINDOW *a1,
- int a2,
- int a3,
- wchar_t *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwins_nwstr
-int mvwins_nwstr(
- WINDOW *a1,
- int a2,
- int a3,
- const wchar_t *a4,
- int z)
- { return(*(int *)0); }
-
-#undef mvwins_wch
-int mvwins_wch(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef mvwins_wstr
-int mvwins_wstr(
- WINDOW *a1,
- int a2,
- int a3,
- const wchar_t *z)
- { return(*(int *)0); }
-
-#undef mvwinwstr
-int mvwinwstr(
- WINDOW *a1,
- int a2,
- int a3,
- wchar_t *z)
- { return(*(int *)0); }
-
-#undef mvwvline_set
-int mvwvline_set(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *a4,
- int z)
- { return(*(int *)0); }
-
-#undef vline_set
-int vline_set(
- const cchar_t *a1,
- int z)
- { return(*(int *)0); }
-
-#undef wadd_wchstr
-int wadd_wchstr(
- WINDOW *a1,
- const cchar_t *z)
- { return(*(int *)0); }
-
-#undef waddwstr
-int waddwstr(
- WINDOW *a1,
- const wchar_t *z)
- { return(*(int *)0); }
-
-#undef wget_wstr
-int wget_wstr(
- WINDOW *a1,
- wint_t *z)
- { return(*(int *)0); }
-
-#undef wgetbkgrnd
-int wgetbkgrnd(
- WINDOW *a1,
- cchar_t *z)
- { return(*(int *)0); }
-
-#undef win_wchstr
-int win_wchstr(
- WINDOW *a1,
- cchar_t *z)
- { return(*(int *)0); }
-
-#undef wins_wstr
-int wins_wstr(
- WINDOW *a1,
- const wchar_t *z)
- { return(*(int *)0); }
-
-#undef mouse_trafo
-NCURSES_BOOL mouse_trafo(
- int *a1,
- int *a2,
- NCURSES_BOOL z)
- { return(*(NCURSES_BOOL *)0); }
-
-/* ./base/lib_getch.c */
-
-#include <fifo_defs.h>
-
-#undef _nc_ESCDELAY
-int _nc_ESCDELAY(void)
- { return(*(int *)0); }
-
-#undef _nc_ptr_Escdelay
-int *_nc_ptr_Escdelay(
- SCREEN *sp)
- { return(*(int **)0); }
-
-#undef set_escdelay_sp
-int set_escdelay_sp(
- SCREEN *sp,
- int value)
- { return(*(int *)0); }
-
-#undef set_escdelay
-int set_escdelay(
- int value)
- { return(*(int *)0); }
-
-#undef get_escdelay_sp
-int get_escdelay_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef get_escdelay
-int get_escdelay(void)
- { return(*(int *)0); }
-
-#undef _nc_wgetch
-int _nc_wgetch(
- WINDOW *win,
- int *result,
- int use_meta)
- { return(*(int *)0); }
-
-#undef wgetch
-int wgetch(
- WINDOW *win)
- { return(*(int *)0); }
-
-/* ./base/lib_getstr.c */
-
-#undef wgetnstr
-int wgetnstr(
- WINDOW *win,
- char *str,
- int maxlen)
- { return(*(int *)0); }
-
-/* ./base/lib_hline.c */
-
-#undef whline
-int whline(
- WINDOW *win,
- chtype ch,
- int n)
- { return(*(int *)0); }
-
-/* ./base/lib_immedok.c */
-
-#undef immedok
-void immedok(
- WINDOW *win,
- NCURSES_BOOL flag)
- { /* void */ }
-
-/* ./base/lib_inchstr.c */
-
-#undef winchnstr
-int winchnstr(
- WINDOW *win,
- chtype *str,
- int n)
- { return(*(int *)0); }
-
-/* ./base/lib_initscr.c */
-
-#undef initscr
-WINDOW *initscr(void)
- { return(*(WINDOW **)0); }
-
-/* ./base/lib_insch.c */
-
-#undef _nc_insert_ch
-int _nc_insert_ch(
- SCREEN *sp,
- WINDOW *win,
- chtype ch)
- { return(*(int *)0); }
-
-#undef winsch
-int winsch(
- WINDOW *win,
- chtype c)
- { return(*(int *)0); }
-
-/* ./base/lib_insdel.c */
-
-#undef winsdelln
-int winsdelln(
- WINDOW *win,
- int n)
- { return(*(int *)0); }
-
-/* ./base/lib_insnstr.c */
-
-#undef winsnstr
-int winsnstr(
- WINDOW *win,
- const char *s,
- int n)
- { return(*(int *)0); }
-
-/* ./base/lib_instr.c */
-
-#undef winnstr
-int winnstr(
- WINDOW *win,
- char *str,
- int n)
- { return(*(int *)0); }
-
-/* ./base/lib_isendwin.c */
-
-#undef isendwin_sp
-NCURSES_BOOL isendwin_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef isendwin
-NCURSES_BOOL isendwin(void)
- { return(*(NCURSES_BOOL *)0); }
-
-/* ./base/lib_leaveok.c */
-
-#undef leaveok
-int leaveok(
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-/* ./base/lib_mouse.c */
-
-#undef getmouse_sp
-int getmouse_sp(
- SCREEN *sp,
- MEVENT *aevent)
- { return(*(int *)0); }
-
-#undef getmouse
-int getmouse(
- MEVENT *aevent)
- { return(*(int *)0); }
-
-#undef ungetmouse_sp
-int ungetmouse_sp(
- SCREEN *sp,
- MEVENT *aevent)
- { return(*(int *)0); }
-
-#undef ungetmouse
-int ungetmouse(
- MEVENT *aevent)
- { return(*(int *)0); }
-
-#undef mousemask_sp
-mmask_t mousemask_sp(
- SCREEN *sp,
- mmask_t newmask,
- mmask_t *oldmask)
- { return(*(mmask_t *)0); }
-
-#undef mousemask
-mmask_t mousemask(
- mmask_t newmask,
- mmask_t *oldmask)
- { return(*(mmask_t *)0); }
-
-#undef wenclose
-NCURSES_BOOL wenclose(
- const WINDOW *win,
- int y,
- int x)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef mouseinterval_sp
-int mouseinterval_sp(
- SCREEN *sp,
- int maxclick)
- { return(*(int *)0); }
-
-#undef mouseinterval
-int mouseinterval(
- int maxclick)
- { return(*(int *)0); }
-
-#undef _nc_has_mouse
-NCURSES_BOOL _nc_has_mouse(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_mouse_sp
-NCURSES_BOOL has_mouse_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_mouse
-NCURSES_BOOL has_mouse(void)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef wmouse_trafo
-NCURSES_BOOL wmouse_trafo(
- const WINDOW *win,
- int *pY,
- int *pX,
- NCURSES_BOOL to_screen)
- { return(*(NCURSES_BOOL *)0); }
-
-/* ./base/lib_move.c */
-
-#undef wmove
-int wmove(
- WINDOW *win,
- int y,
- int x)
- { return(*(int *)0); }
-
-/* ./tty/lib_mvcur.c */
-
-#undef _nc_msec_cost_sp
-int _nc_msec_cost_sp(
- SCREEN *sp,
- const char *const cap,
- int affcnt)
- { return(*(int *)0); }
-
-#undef _nc_msec_cost
-int _nc_msec_cost(
- const char *const cap,
- int affcnt)
- { return(*(int *)0); }
-
-#undef _nc_mvcur_resume_sp
-void _nc_mvcur_resume_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_mvcur_resume
-void _nc_mvcur_resume(void)
- { /* void */ }
-
-#undef _nc_mvcur_init_sp
-void _nc_mvcur_init_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_mvcur_init
-void _nc_mvcur_init(void)
- { /* void */ }
-
-#undef _nc_mvcur_wrap_sp
-void _nc_mvcur_wrap_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_mvcur_wrap
-void _nc_mvcur_wrap(void)
- { /* void */ }
-
-#undef mvcur_sp
-int mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
- int xnew)
- { return(*(int *)0); }
-
-#undef mvcur
-int mvcur(
- int yold,
- int xold,
- int ynew,
- int xnew)
- { return(*(int *)0); }
-
-#undef _nc_optimize_enable
-int _nc_optimize_enable;
-
-/* ./base/lib_mvwin.c */
-
-#undef mvwin
-int mvwin(
- WINDOW *win,
- int by,
- int bx)
- { return(*(int *)0); }
-
-/* ./base/lib_newterm.c */
-
-#undef filter_sp
-void filter_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef filter
-void filter(void)
- { /* void */ }
-
-#undef nofilter_sp
-void nofilter_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef nofilter
-void nofilter(void)
- { /* void */ }
-
-#undef newterm_sp
-SCREEN *newterm_sp(
- SCREEN *sp,
- char *name,
- FILE *ofp,
- FILE *ifp)
- { return(*(SCREEN **)0); }
-
-#undef newterm
-SCREEN *newterm(
- char *name,
- FILE *ofp,
- FILE *ifp)
- { return(*(SCREEN **)0); }
-
-/* ./base/lib_newwin.c */
-
-#undef _nc_freewin
-int _nc_freewin(
- WINDOW *win)
- { return(*(int *)0); }
-
-#undef newwin_sp
-WINDOW *newwin_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
- int begx)
- { return(*(WINDOW **)0); }
-
-#undef newwin
-WINDOW *newwin(
- int num_lines,
- int num_columns,
- int begy,
- int begx)
- { return(*(WINDOW **)0); }
-
-#undef derwin
-WINDOW *derwin(
- WINDOW *orig,
- int num_lines,
- int num_columns,
- int begy,
- int begx)
- { return(*(WINDOW **)0); }
-
-#undef subwin
-WINDOW *subwin(
- WINDOW *w,
- int l,
- int c,
- int y,
- int x)
- { return(*(WINDOW **)0); }
-
-#undef _nc_makenew_sp
-WINDOW *_nc_makenew_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
- int begx,
- int flags)
- { return(*(WINDOW **)0); }
-
-#undef _nc_curscr_of
-WINDOW *_nc_curscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
-
-#undef _nc_newscr_of
-WINDOW *_nc_newscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
-
-#undef _nc_stdscr_of
-WINDOW *_nc_stdscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
-
-/* ./base/lib_nl.c */
-
-#undef nl_sp
-int nl_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef nl
-int nl(void)
- { return(*(int *)0); }
-
-#undef nonl_sp
-int nonl_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef nonl
-int nonl(void)
- { return(*(int *)0); }
-
-/* ./base/lib_overlay.c */
-
-#undef overlay
-int overlay(
- const WINDOW *win1,
- WINDOW *win2)
- { return(*(int *)0); }
-
-#undef overwrite
-int overwrite(
- const WINDOW *win1,
- WINDOW *win2)
- { return(*(int *)0); }
-
-#undef copywin
-int copywin(
- const WINDOW *src,
- WINDOW *dst,
- int sminrow,
- int smincol,
- int dminrow,
- int dmincol,
- int dmaxrow,
- int dmaxcol,
- int over)
- { return(*(int *)0); }
-
-/* ./base/lib_pad.c */
-
-#undef newpad_sp
-WINDOW *newpad_sp(
- SCREEN *sp,
- int l,
- int c)
- { return(*(WINDOW **)0); }
-
-#undef newpad
-WINDOW *newpad(
- int l,
- int c)
- { return(*(WINDOW **)0); }
-
-#undef subpad
-WINDOW *subpad(
- WINDOW *orig,
- int l,
- int c,
- int begy,
- int begx)
- { return(*(WINDOW **)0); }
-
-#undef prefresh
-int prefresh(
- WINDOW *win,
- int pminrow,
- int pmincol,
- int sminrow,
- int smincol,
- int smaxrow,
- int smaxcol)
- { return(*(int *)0); }
-
-#undef pnoutrefresh
-int pnoutrefresh(
- WINDOW *win,
- int pminrow,
- int pmincol,
- int sminrow,
- int smincol,
- int smaxrow,
- int smaxcol)
- { return(*(int *)0); }
-
-#undef pechochar
-int pechochar(
- WINDOW *pad,
- const chtype ch)
- { return(*(int *)0); }
-
-/* ./base/lib_printw.c */
-
-#undef printw
-int printw(
- const char *fmt,
- ...)
- { return(*(int *)0); }
-
-#undef wprintw
-int wprintw(
- WINDOW *win,
- const char *fmt,
- ...)
- { return(*(int *)0); }
-
-#undef mvprintw
-int mvprintw(
- int y,
- int x,
- const char *fmt,
- ...)
- { return(*(int *)0); }
-
-#undef mvwprintw
-int mvwprintw(
- WINDOW *win,
- int y,
- int x,
- const char *fmt,
- ...)
- { return(*(int *)0); }
-
-#undef vwprintw
-int vwprintw(
- WINDOW *win,
- const char *fmt,
- va_list argp)
- { return(*(int *)0); }
-
-/* ./base/lib_redrawln.c */
-
-#undef wredrawln
-int wredrawln(
- WINDOW *win,
- int beg,
- int num)
- { return(*(int *)0); }
-
-/* ./base/lib_refresh.c */
-
-#undef wrefresh
-int wrefresh(
- WINDOW *win)
- { return(*(int *)0); }
-
-#undef wnoutrefresh
-int wnoutrefresh(
- WINDOW *win)
- { return(*(int *)0); }
-
-/* ./base/lib_restart.c */
-
-#undef restartterm_sp
-int restartterm_sp(
- SCREEN *sp,
- char *termp,
- int filenum,
- int *errret)
- { return(*(int *)0); }
-
-#undef restartterm
-int restartterm(
- char *termp,
- int filenum,
- int *errret)
- { return(*(int *)0); }
-
-/* ./base/lib_scanw.c */
-
-#undef vwscanw
-int vwscanw(
- WINDOW *win,
- char *fmt,
- va_list argp)
- { return(*(int *)0); }
-
-#undef scanw
-int scanw(
- char *fmt,
- ...)
- { return(*(int *)0); }
-
-#undef wscanw
-int wscanw(
- WINDOW *win,
- char *fmt,
- ...)
- { return(*(int *)0); }
-
-#undef mvscanw
-int mvscanw(
- int y,
- int x,
- char *fmt,
- ...)
- { return(*(int *)0); }
-
-#undef mvwscanw
-int mvwscanw(
- WINDOW *win,
- int y,
- int x,
- char *fmt,
- ...)
- { return(*(int *)0); }
-
-/* ./base/lib_screen.c */
-
-#undef getwin_sp
-WINDOW *getwin_sp(
- SCREEN *sp,
- FILE *filep)
- { return(*(WINDOW **)0); }
-
-#undef getwin
-WINDOW *getwin(
- FILE *filep)
- { return(*(WINDOW **)0); }
-
-#undef putwin
-int putwin(
- WINDOW *win,
- FILE *filep)
- { return(*(int *)0); }
-
-#undef scr_restore_sp
-int scr_restore_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
-#undef scr_restore
-int scr_restore(
- const char *file)
- { return(*(int *)0); }
-
-#undef scr_dump
-int scr_dump(
- const char *file)
- { return(*(int *)0); }
-
-#undef scr_init_sp
-int scr_init_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
-#undef scr_init
-int scr_init(
- const char *file)
- { return(*(int *)0); }
-
-#undef scr_set_sp
-int scr_set_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
-#undef scr_set
-int scr_set(
- const char *file)
- { return(*(int *)0); }
-
-/* ./base/lib_scroll.c */
-
-#undef _nc_scroll_window
-void _nc_scroll_window(
- WINDOW *win,
- int const n,
- int const top,
- int const bottom,
- cchar_t blank)
- { /* void */ }
-
-#undef wscrl
-int wscrl(
- WINDOW *win,
- int n)
- { return(*(int *)0); }
-
-/* ./base/lib_scrollok.c */
-
-#undef scrollok
-int scrollok(
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-/* ./base/lib_scrreg.c */
-
-#undef wsetscrreg
-int wsetscrreg(
- WINDOW *win,
- int top,
- int bottom)
- { return(*(int *)0); }
-
-/* ./base/lib_set_term.c */
-
-#undef set_term
-SCREEN *set_term(
- SCREEN *screenp)
- { return(*(SCREEN **)0); }
-
-#undef delscreen
-void delscreen(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_setupscreen_sp
-int _nc_setupscreen_sp(
- SCREEN **spp,
- int slines,
- int scolumns,
- FILE *output,
- NCURSES_BOOL filtered,
- int slk_format)
- { return(*(int *)0); }
-
-#undef _nc_setupscreen
-int _nc_setupscreen(
- int slines,
- int scolumns,
- FILE *output,
- NCURSES_BOOL filtered,
- int slk_format)
- { return(*(int *)0); }
-
-#undef _nc_ripoffline_sp
-int _nc_ripoffline_sp(
- SCREEN *sp,
- int line,
- int (*init)(
- WINDOW *p1,
- int p2))
- { return(*(int *)0); }
-
-#undef _nc_ripoffline
-int _nc_ripoffline(
- int line,
- int (*init)(
- WINDOW *p1,
- int p2))
- { return(*(int *)0); }
-
-#undef ripoffline_sp
-int ripoffline_sp(
- SCREEN *sp,
- int line,
- int (*init)(
- WINDOW *p1,
- int p2))
- { return(*(int *)0); }
-
-#undef ripoffline
-int ripoffline(
- int line,
- int (*init)(
- WINDOW *p1,
- int p2))
- { return(*(int *)0); }
-
-/* ./base/lib_slk.c */
-
-#undef _nc_format_slks
-int _nc_format_slks(
- SCREEN *sp,
- int cols)
- { return(*(int *)0); }
-
-#undef _nc_slk_initialize
-int _nc_slk_initialize(
- WINDOW *stwin,
- int cols)
- { return(*(int *)0); }
-
-#undef slk_restore_sp
-int slk_restore_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef slk_restore
-int slk_restore(void)
- { return(*(int *)0); }
-
-/* ./base/lib_slkatr_set.c */
-
-#undef slk_attr_set_sp
-int slk_attr_set_sp(
- SCREEN *sp,
- const attr_t attr,
- short color_pair_number,
- void *opts)
- { return(*(int *)0); }
-
-#undef slk_attr_set
-int slk_attr_set(
- const attr_t attr,
- short color_pair_number,
- void *opts)
- { return(*(int *)0); }
-
-/* ./base/lib_slkatrof.c */
-
-#undef slk_attroff_sp
-int slk_attroff_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
-#undef slk_attroff
-int slk_attroff(
- const chtype attr)
- { return(*(int *)0); }
-
-/* ./base/lib_slkatron.c */
-
-#undef slk_attron_sp
-int slk_attron_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
-#undef slk_attron
-int slk_attron(
- const chtype attr)
- { return(*(int *)0); }
-
-/* ./base/lib_slkatrset.c */
-
-#undef slk_attrset_sp
-int slk_attrset_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
-#undef slk_attrset
-int slk_attrset(
- const chtype attr)
- { return(*(int *)0); }
-
-/* ./base/lib_slkattr.c */
-
-#undef slk_attr_sp
-attr_t slk_attr_sp(
- SCREEN *sp)
- { return(*(attr_t *)0); }
-
-#undef slk_attr
-attr_t slk_attr(void)
- { return(*(attr_t *)0); }
-
-/* ./base/lib_slkclear.c */
-
-#undef slk_clear_sp
-int slk_clear_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef slk_clear
-int slk_clear(void)
- { return(*(int *)0); }
-
-/* ./base/lib_slkcolor.c */
-
-#undef slk_color_sp
-int slk_color_sp(
- SCREEN *sp,
- short color_pair_number)
- { return(*(int *)0); }
-
-#undef slk_color
-int slk_color(
- short color_pair_number)
- { return(*(int *)0); }
-
-/* ./base/lib_slkinit.c */
-
-#undef slk_init_sp
-int slk_init_sp(
- SCREEN *sp,
- int format)
- { return(*(int *)0); }
-
-#undef slk_init
-int slk_init(
- int format)
- { return(*(int *)0); }
-
-/* ./base/lib_slklab.c */
-
-#undef slk_label_sp
-char *slk_label_sp(
- SCREEN *sp,
- int n)
- { return(*(char **)0); }
-
-#undef slk_label
-char *slk_label(
- int n)
- { return(*(char **)0); }
-
-/* ./base/lib_slkrefr.c */
-
-#undef slk_noutrefresh_sp
-int slk_noutrefresh_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef slk_noutrefresh
-int slk_noutrefresh(void)
- { return(*(int *)0); }
-
-#undef slk_refresh_sp
-int slk_refresh_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef slk_refresh
-int slk_refresh(void)
- { return(*(int *)0); }
-
-/* ./base/lib_slkset.c */
-
-#include <wctype.h>
-
-#undef slk_set_sp
-int slk_set_sp(
- SCREEN *sp,
- int i,
- const char *astr,
- int format)
- { return(*(int *)0); }
-
-#undef slk_set
-int slk_set(
- int i,
- const char *astr,
- int format)
- { return(*(int *)0); }
-
-/* ./base/lib_slktouch.c */
-
-#undef slk_touch_sp
-int slk_touch_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef slk_touch
-int slk_touch(void)
- { return(*(int *)0); }
-
-/* ./base/lib_touch.c */
-
-#undef is_linetouched
-NCURSES_BOOL is_linetouched(
- WINDOW *win,
- int line)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_wintouched
-NCURSES_BOOL is_wintouched(
- WINDOW *win)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef wtouchln
-int wtouchln(
- WINDOW *win,
- int y,
- int n,
- int changed)
- { return(*(int *)0); }
-
-/* ./trace/lib_tracedmp.c */
-
-#undef _tracedump
-void _tracedump(
- const char *name,
- WINDOW *win)
- { /* void */ }
-
-/* ./trace/lib_tracemse.c */
-
-#undef _nc_tracemouse
-char *_nc_tracemouse(
- SCREEN *sp,
- MEVENT const *ep)
- { return(*(char **)0); }
-
-#undef _nc_retrace_mmask_t
-mmask_t _nc_retrace_mmask_t(
- SCREEN *sp,
- mmask_t code)
- { return(*(mmask_t *)0); }
-
-#undef _tracemouse
-char *_tracemouse(
- MEVENT const *ep)
- { return(*(char **)0); }
-
-/* ./tty/lib_tstp.c */
-
-#include <SigAction.h>
-
-#undef _nc_signal_handler
-void _nc_signal_handler(
- NCURSES_BOOL enable)
- { /* void */ }
-
-/* ./base/lib_ungetch.c */
-
-#undef _nc_fifo_dump
-void _nc_fifo_dump(
- SCREEN *sp)
- { /* void */ }
-
-#undef ungetch_sp
-int ungetch_sp(
- SCREEN *sp,
- int ch)
- { return(*(int *)0); }
-
-#undef ungetch
-int ungetch(
- int ch)
- { return(*(int *)0); }
-
-/* ./tty/lib_vidattr.c */
-
-#undef vidputs_sp
-int vidputs_sp(
- SCREEN *sp,
- chtype newmode,
- NCURSES_OUTC_sp outc)
- { return(*(int *)0); }
-
-#undef vidputs
-int vidputs(
- chtype newmode,
- NCURSES_OUTC outc)
- { return(*(int *)0); }
-
-#undef vidattr_sp
-int vidattr_sp(
- SCREEN *sp,
- chtype newmode)
- { return(*(int *)0); }
-
-#undef vidattr
-int vidattr(
- chtype newmode)
- { return(*(int *)0); }
-
-#undef termattrs_sp
-chtype termattrs_sp(
- SCREEN *sp)
- { return(*(chtype *)0); }
-
-#undef termattrs
-chtype termattrs(void)
- { return(*(chtype *)0); }
-
-/* ./base/lib_vline.c */
-
-#undef wvline
-int wvline(
- WINDOW *win,
- chtype ch,
- int n)
- { return(*(int *)0); }
-
-/* ./base/lib_wattroff.c */
-
-#undef wattr_off
-int wattr_off(
- WINDOW *win,
- attr_t at,
- void *opts)
- { return(*(int *)0); }
-
-/* ./base/lib_wattron.c */
-
-#undef wattr_on
-int wattr_on(
- WINDOW *win,
- attr_t at,
- void *opts)
- { return(*(int *)0); }
-
-/* ./base/lib_winch.c */
-
-#undef winch
-chtype winch(
- WINDOW *win)
- { return(*(chtype *)0); }
-
-/* ./base/lib_window.c */
-
-#undef _nc_synchook
-void _nc_synchook(
- WINDOW *win)
- { /* void */ }
-
-#undef mvderwin
-int mvderwin(
- WINDOW *win,
- int y,
- int x)
- { return(*(int *)0); }
-
-#undef syncok
-int syncok(
- WINDOW *win,
- NCURSES_BOOL bf)
- { return(*(int *)0); }
-
-#undef wsyncup
-void wsyncup(
- WINDOW *win)
- { /* void */ }
-
-#undef wsyncdown
-void wsyncdown(
- WINDOW *win)
- { /* void */ }
-
-#undef wcursyncup
-void wcursyncup(
- WINDOW *win)
- { /* void */ }
-
-#undef dupwin
-WINDOW *dupwin(
- WINDOW *win)
- { return(*(WINDOW **)0); }
-
-/* ./base/nc_panel.c */
-
-#undef _nc_panelhook_sp
-struct panelhook *_nc_panelhook_sp(
- SCREEN *sp)
- { return(*(struct panelhook **)0); }
-
-#undef _nc_panelhook
-struct panelhook *_nc_panelhook(void)
- { return(*(struct panelhook **)0); }
-
-/* ./base/safe_sprintf.c */
-
-#undef _nc_printf_string_sp
-char *_nc_printf_string_sp(
- SCREEN *sp,
- const char *fmt,
- va_list ap)
- { return(*(char **)0); }
-
-#undef _nc_printf_string
-char *_nc_printf_string(
- const char *fmt,
- va_list ap)
- { return(*(char **)0); }
-
-/* ./tty/tty_update.c */
-
-#include <sys/time.h>
-#include <sys/times.h>
-
-#undef doupdate_sp
-int doupdate_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef doupdate
-int doupdate(void)
- { return(*(int *)0); }
-
-#undef _nc_scrolln_sp
-int _nc_scrolln_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot,
- int maxy)
- { return(*(int *)0); }
-
-#undef _nc_scrolln
-int _nc_scrolln(
- int n,
- int top,
- int bot,
- int maxy)
- { return(*(int *)0); }
-
-#undef _nc_screen_resume_sp
-void _nc_screen_resume_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_screen_resume
-void _nc_screen_resume(void)
- { /* void */ }
-
-#undef _nc_screen_init_sp
-void _nc_screen_init_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_screen_init
-void _nc_screen_init(void)
- { /* void */ }
-
-#undef _nc_screen_wrap_sp
-void _nc_screen_wrap_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_screen_wrap
-void _nc_screen_wrap(void)
- { /* void */ }
-
-#undef _nc_do_xmc_glitch_sp
-void _nc_do_xmc_glitch_sp(
- SCREEN *sp,
- attr_t previous)
- { /* void */ }
-
-#undef _nc_do_xmc_glitch
-void _nc_do_xmc_glitch(
- attr_t previous)
- { /* void */ }
-
-/* ./trace/varargs.c */
-
-typedef enum {
- atUnknown = 0, atInteger, atFloat, atPoint, atString
-} ARGTYPE;
-
-#undef _nc_varargs
-char *_nc_varargs(
- const char *fmt,
- va_list ap)
- { return(*(char **)0); }
-
-/* ./base/memmove.c */
-
-#undef _nc_memmove
-void _nc_memmove(void)
- { /* void */ }
-
-/* ./base/vsscanf.c */
-
-#undef _nc_vsscanf
-void _nc_vsscanf(void)
- { /* void */ }
-
-/* ./base/lib_freeall.c */
-
-#undef _nc_freeall
-void _nc_freeall(void)
- { /* void */ }
-
-#undef _nc_free_and_exit_sp
-void _nc_free_and_exit_sp(
- SCREEN *sp,
- int code)
- { /* void */ }
-
-#undef _nc_free_and_exit
-void _nc_free_and_exit(
- int code)
- { /* void */ }
-
-/* ./widechar/charable.c */
-
-#undef _nc_is_charable
-NCURSES_BOOL _nc_is_charable(
- wchar_t ch)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef _nc_to_char
-int _nc_to_char(
- wint_t ch)
- { return(*(int *)0); }
-
-#undef _nc_to_widechar
-wint_t _nc_to_widechar(
- int ch)
- { return(*(wint_t *)0); }
-
-/* ./widechar/lib_add_wch.c */
-
-#undef wadd_wch
-int wadd_wch(
- WINDOW *win,
- const cchar_t *wch)
- { return(*(int *)0); }
-
-#undef wecho_wchar
-int wecho_wchar(
- WINDOW *win,
- const cchar_t *wch)
- { return(*(int *)0); }
-
-/* ./widechar/lib_box_set.c */
-
-#undef wborder_set
-int wborder_set(
- WINDOW *win,
- const cchar_t *ls,
- const cchar_t *rs,
- const cchar_t *ts,
- const cchar_t *bs,
- const cchar_t *tl,
- const cchar_t *tr,
- const cchar_t *bl,
- const cchar_t *br)
- { return(*(int *)0); }
-
-/* ./widechar/lib_cchar.c */
-
-#undef setcchar
-int setcchar(
- cchar_t *wcval,
- const wchar_t *wch,
- const attr_t attrs,
- short color_pair,
- const void *opts)
- { return(*(int *)0); }
-
-#undef getcchar
-int getcchar(
- const cchar_t *wcval,
- wchar_t *wch,
- attr_t *attrs,
- short *color_pair,
- void *opts)
- { return(*(int *)0); }
-
-/* ./widechar/lib_erasewchar.c */
-
-#undef erasewchar
-int erasewchar(
- wchar_t *wch)
- { return(*(int *)0); }
-
-#undef killwchar
-int killwchar(
- wchar_t *wch)
- { return(*(int *)0); }
-
-/* ./widechar/lib_get_wch.c */
-
-#undef wget_wch
-int wget_wch(
- WINDOW *win,
- wint_t *result)
- { return(*(int *)0); }
-
-/* ./widechar/lib_get_wstr.c */
-
-#undef wgetn_wstr
-int wgetn_wstr(
- WINDOW *win,
- wint_t *str,
- int maxlen)
- { return(*(int *)0); }
-
-/* ./widechar/lib_hline_set.c */
-
-#undef whline_set
-int whline_set(
- WINDOW *win,
- const cchar_t *ch,
- int n)
- { return(*(int *)0); }
-
-/* ./widechar/lib_in_wch.c */
-
-#undef win_wch
-int win_wch(
- WINDOW *win,
- cchar_t *wcval)
- { return(*(int *)0); }
-
-/* ./widechar/lib_in_wchnstr.c */
-
-#undef win_wchnstr
-int win_wchnstr(
- WINDOW *win,
- cchar_t *wchstr,
- int n)
- { return(*(int *)0); }
-
-/* ./widechar/lib_ins_wch.c */
-
-#undef _nc_insert_wch
-int _nc_insert_wch(
- WINDOW *win,
- const cchar_t *wch)
- { return(*(int *)0); }
-
-#undef wins_wch
-int wins_wch(
- WINDOW *win,
- const cchar_t *wch)
- { return(*(int *)0); }
-
-#undef wins_nwstr
-int wins_nwstr(
- WINDOW *win,
- const wchar_t *wstr,
- int n)
- { return(*(int *)0); }
-
-/* ./widechar/lib_inwstr.c */
-
-#undef winnwstr
-int winnwstr(
- WINDOW *win,
- wchar_t *wstr,
- int n)
- { return(*(int *)0); }
-
-#undef winwstr
-int winwstr(
- WINDOW *win,
- wchar_t *wstr)
- { return(*(int *)0); }
-
-/* ./widechar/lib_key_name.c */
-
-#undef key_name
-char *key_name(
- wchar_t c)
- { return(*(char **)0); }
-
-/* ./widechar/lib_pecho_wchar.c */
-
-#undef pecho_wchar
-int pecho_wchar(
- WINDOW *pad,
- const cchar_t *wch)
- { return(*(int *)0); }
-
-/* ./widechar/lib_slk_wset.c */
-
-#undef slk_wset
-int slk_wset(
- int i,
- const wchar_t *astr,
- int format)
- { return(*(int *)0); }
-
-/* ./widechar/lib_unget_wch.c */
-
-#undef _nc_wcrtomb
-size_t _nc_wcrtomb(
- char *target,
- wchar_t source,
- mbstate_t *state)
- { return(*(size_t *)0); }
-
-#undef unget_wch_sp
-int unget_wch_sp(
- SCREEN *sp,
- const wchar_t wch)
- { return(*(int *)0); }
-
-#undef unget_wch
-int unget_wch(
- const wchar_t wch)
- { return(*(int *)0); }
-
-/* ./widechar/lib_vid_attr.c */
-
-#undef vid_puts_sp
-int vid_puts_sp(
- SCREEN *sp,
- attr_t newmode,
- short pair,
- void *opts,
- NCURSES_OUTC_sp outc)
- { return(*(int *)0); }
-
-#undef vid_puts
-int vid_puts(
- attr_t newmode,
- short pair,
- void *opts,
- NCURSES_OUTC outc)
- { return(*(int *)0); }
-
-#undef vid_attr_sp
-int vid_attr_sp(
- SCREEN *sp,
- attr_t newmode,
- short pair,
- void *opts)
- { return(*(int *)0); }
-
-#undef vid_attr
-int vid_attr(
- attr_t newmode,
- short pair,
- void *opts)
- { return(*(int *)0); }
-
-#undef term_attrs_sp
-attr_t term_attrs_sp(
- SCREEN *sp)
- { return(*(attr_t *)0); }
-
-#undef term_attrs
-attr_t term_attrs(void)
- { return(*(attr_t *)0); }
-
-/* ./widechar/lib_vline_set.c */
-
-#undef wvline_set
-int wvline_set(
- WINDOW *win,
- const cchar_t *ch,
- int n)
- { return(*(int *)0); }
-
-/* ./widechar/lib_wacs.c */
-
-#undef _nc_wacs
-cchar_t *_nc_wacs;
-
-#undef _nc_init_wacs
-void _nc_init_wacs(void)
- { /* void */ }
-
-/* ./widechar/lib_wunctrl.c */
-
-#undef wunctrl_sp
-wchar_t *wunctrl_sp(
- SCREEN *sp,
- cchar_t *wc)
- { return(*(wchar_t **)0); }
-
-#undef wunctrl
-wchar_t *wunctrl(
- cchar_t *wc)
- { return(*(wchar_t **)0); }
-
-/* ./expanded.c */
-
-#undef _nc_toggle_attr_on
-void _nc_toggle_attr_on(
- attr_t *S,
- attr_t at)
- { /* void */ }
-
-#undef _nc_toggle_attr_off
-void _nc_toggle_attr_off(
- attr_t *S,
- attr_t at)
- { /* void */ }
-
-#undef _nc_DelCharCost_sp
-int _nc_DelCharCost_sp(
- SCREEN *sp,
- int count)
- { return(*(int *)0); }
-
-#undef _nc_InsCharCost_sp
-int _nc_InsCharCost_sp(
- SCREEN *sp,
- int count)
- { return(*(int *)0); }
-
-#undef _nc_UpdateAttrs_sp
-void _nc_UpdateAttrs_sp(
- SCREEN *sp,
- const cchar_t *c)
- { /* void */ }
-
-#undef _nc_DelCharCost
-int _nc_DelCharCost(
- int count)
- { return(*(int *)0); }
-
-#undef _nc_InsCharCost
-int _nc_InsCharCost(
- int count)
- { return(*(int *)0); }
-
-#undef _nc_UpdateAttrs
-void _nc_UpdateAttrs(
- const cchar_t *c)
- { /* void */ }
-
-/* ./base/legacy_coding.c */
-
-#undef use_legacy_coding_sp
-int use_legacy_coding_sp(
- SCREEN *sp,
- int level)
- { return(*(int *)0); }
-
-#undef use_legacy_coding
-int use_legacy_coding(
- int level)
- { return(*(int *)0); }
-
-/* ./base/lib_dft_fgbg.c */
-
-#undef use_default_colors_sp
-int use_default_colors_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef use_default_colors
-int use_default_colors(void)
- { return(*(int *)0); }
-
-#undef assume_default_colors_sp
-int assume_default_colors_sp(
- SCREEN *sp,
- int fg,
- int bg)
- { return(*(int *)0); }
-
-#undef assume_default_colors
-int assume_default_colors(
- int fg,
- int bg)
- { return(*(int *)0); }
-
-/* ./tinfo/lib_print.c */
-
-#undef mcprint_sp
-int mcprint_sp(
- SCREEN *sp,
- char *data,
- int len)
- { return(*(int *)0); }
-
-#undef mcprint
-int mcprint(
- char *data,
- int len)
- { return(*(int *)0); }
-
-/* ./base/resizeterm.c */
-
-#undef is_term_resized_sp
-NCURSES_BOOL is_term_resized_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef is_term_resized
-NCURSES_BOOL is_term_resized(
- int ToLines,
- int ToCols)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef resize_term_sp
-int resize_term_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(int *)0); }
-
-#undef resize_term
-int resize_term(
- int ToLines,
- int ToCols)
- { return(*(int *)0); }
-
-#undef resizeterm_sp
-int resizeterm_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(int *)0); }
-
-#undef resizeterm
-int resizeterm(
- int ToLines,
- int ToCols)
- { return(*(int *)0); }
-
-/* ./trace/trace_xnames.c */
-
-#undef _nc_trace_xnames
-void _nc_trace_xnames(
- TERMTYPE *tp)
- { /* void */ }
-
-/* ./tinfo/use_screen.c */
-
-#undef use_screen
-int use_screen(
- SCREEN *screen,
- NCURSES_SCREEN_CB func,
- void *data)
- { return(*(int *)0); }
-
-/* ./base/use_window.c */
-
-#undef use_window
-int use_window(
- WINDOW *win,
- NCURSES_WINDOW_CB func,
- void *data)
- { return(*(int *)0); }
-
-/* ./base/wresize.c */
-
-#undef wresize
-int wresize(
- WINDOW *win,
- int ToLines,
- int ToCols)
- { return(*(int *)0); }
-
-/* ./tinfo/access.c */
-
-#undef _nc_rootname
-char *_nc_rootname(
- char *path)
- { return(*(char **)0); }
-
-#undef _nc_is_abs_path
-NCURSES_BOOL _nc_is_abs_path(
- const char *path)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef _nc_pathlast
-unsigned _nc_pathlast(
- const char *path)
- { return(*(unsigned *)0); }
-
-#undef _nc_basename
-char *_nc_basename(
- char *path)
- { return(*(char **)0); }
-
-#undef _nc_access
-int _nc_access(
- const char *path,
- int mode)
- { return(*(int *)0); }
-
-#undef _nc_is_dir_path
-NCURSES_BOOL _nc_is_dir_path(
- const char *path)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef _nc_is_file_path
-NCURSES_BOOL _nc_is_file_path(
- const char *path)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef _nc_env_access
-int _nc_env_access(void)
- { return(*(int *)0); }
-
-/* ./tinfo/add_tries.c */
-
-#undef _nc_add_to_try
-int _nc_add_to_try(
- TRIES **tree,
- const char *str,
- unsigned code)
- { return(*(int *)0); }
-
-/* ./tinfo/alloc_ttype.c */
-
-#undef _nc_align_termtype
-void _nc_align_termtype(
- TERMTYPE *to,
- TERMTYPE *from)
- { /* void */ }
-
-#undef _nc_copy_termtype
-void _nc_copy_termtype(
- TERMTYPE *dst,
- TERMTYPE *src)
- { /* void */ }
-
-/* ./codes.c */
-
-#undef _nc_boolcodes
-char *const *_nc_boolcodes(void)
- { return(*(char **)0); }
-
-#undef _nc_numcodes
-char *const *_nc_numcodes(void)
- { return(*(char **)0); }
-
-#undef _nc_strcodes
-char *const *_nc_strcodes(void)
- { return(*(char **)0); }
-
-/* ./comp_captab.c */
-
-#include <hashsize.h>
-
-#undef _nc_get_table
-const struct name_table_entry *_nc_get_table(
- NCURSES_BOOL termcap)
- { return(*(const struct name_table_entry **)0); }
-
-#undef _nc_get_hash_table
-const HashValue *_nc_get_hash_table(
- NCURSES_BOOL termcap)
- { return(*(const HashValue **)0); }
-
-#undef _nc_get_alias_table
-const struct alias *_nc_get_alias_table(
- NCURSES_BOOL termcap)
- { return(*(const struct alias **)0); }
-
-#undef _nc_get_hash_info
-const HashData *_nc_get_hash_info(
- NCURSES_BOOL termcap)
- { return(*(const HashData **)0); }
-
-/* ./tinfo/comp_error.c */
-
-#undef _nc_suppress_warnings
-NCURSES_BOOL _nc_suppress_warnings;
-#undef _nc_curr_line
-int _nc_curr_line;
-#undef _nc_curr_col
-int _nc_curr_col;
-
-#undef _nc_get_source
-const char *_nc_get_source(void)
- { return(*(const char **)0); }
-
-#undef _nc_set_source
-void _nc_set_source(
- const char *const name)
- { /* void */ }
-
-#undef _nc_set_type
-void _nc_set_type(
- const char *const name)
- { /* void */ }
-
-#undef _nc_get_type
-void _nc_get_type(
- char *name)
- { /* void */ }
-
-#undef _nc_warning
-void _nc_warning(
- const char *const fmt,
- ...)
- { /* void */ }
-
-#undef _nc_err_abort
-void _nc_err_abort(
- const char *const fmt,
- ...)
- { /* void */ }
-
-#undef _nc_syserr_abort
-void _nc_syserr_abort(
- const char *const fmt,
- ...)
- { /* void */ }
-
-/* ./tinfo/comp_hash.c */
-
-#undef _nc_find_entry
-struct name_table_entry const *_nc_find_entry(
- const char *string,
- const HashValue *hash_table)
- { return(*(struct name_table_entry const **)0); }
-
-#undef _nc_find_type_entry
-struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
- NCURSES_BOOL termcap)
- { return(*(struct name_table_entry const **)0); }
-
-/* ./tinfo/db_iterator.c */
-
-#undef _nc_tic_dir
-const char *_nc_tic_dir(
- const char *path)
- { return(*(const char **)0); }
-
-#undef _nc_keep_tic_dir
-void _nc_keep_tic_dir(
- const char *path)
- { /* void */ }
-
-#undef _nc_last_db
-void _nc_last_db(void)
- { /* void */ }
-
-#undef _nc_next_db
-const char *_nc_next_db(
- DBDIRS *state,
- int *offset)
- { return(*(const char **)0); }
-
-#undef _nc_first_db
-void _nc_first_db(
- DBDIRS *state,
- int *offset)
- { /* void */ }
-
-/* ./tinfo/doalloc.c */
-
-#undef _nc_doalloc
-void *_nc_doalloc(
- void *oldp,
- size_t amount)
- { return(*(void **)0); }
-
-/* ./tinfo/entries.c */
-
-#undef _nc_head
-ENTRY *_nc_head;
-#undef _nc_tail
-ENTRY *_nc_tail;
-
-#undef _nc_free_entry
-void _nc_free_entry(
- ENTRY *headp,
- TERMTYPE *tterm)
- { /* void */ }
-
-#undef _nc_free_entries
-void _nc_free_entries(
- ENTRY *headp)
- { /* void */ }
-
-#undef _nc_delink_entry
-ENTRY *_nc_delink_entry(
- ENTRY *headp,
- TERMTYPE *tterm)
- { return(*(ENTRY **)0); }
-
-#undef _nc_leaks_tinfo
-void _nc_leaks_tinfo(void)
- { /* void */ }
-
-/* ./fallback.c */
-
-#undef _nc_fallback
-const TERMTYPE *_nc_fallback(
- const char *name)
- { return(*(const TERMTYPE **)0); }
-
-/* ./tinfo/free_ttype.c */
-
-#undef _nc_free_termtype
-void _nc_free_termtype(
- TERMTYPE *ptr)
- { /* void */ }
-
-#undef _nc_user_definable
-NCURSES_BOOL _nc_user_definable;
-
-#undef use_extended_names
-int use_extended_names(
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-/* ./tinfo/getenv_num.c */
-
-#undef _nc_getenv_num
-int _nc_getenv_num(
- const char *name)
- { return(*(int *)0); }
-
-/* ./tinfo/home_terminfo.c */
-
-#undef _nc_home_terminfo
-char *_nc_home_terminfo(void)
- { return(*(char **)0); }
-
-/* ./tinfo/init_keytry.c */
-
-#if 0
-
-#include <init_keytry.h>
-
-#undef _nc_tinfo_fkeys
-const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
-
-#endif
-
-#undef _nc_init_keytry
-void _nc_init_keytry(
- SCREEN *sp)
- { /* void */ }
-
-/* ./tinfo/lib_acs.c */
-
-#undef _nc_acs_map
-chtype *_nc_acs_map(void)
- { return(*(chtype **)0); }
-
-#undef _nc_init_acs_sp
-void _nc_init_acs_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_init_acs
-void _nc_init_acs(void)
- { /* void */ }
-
-/* ./tinfo/lib_baudrate.c */
-
-#include <termcap.h>
-
-struct speed {
- int s;
- int sp;
-};
-
-#undef _nc_baudrate
-int _nc_baudrate(
- int OSpeed)
- { return(*(int *)0); }
-
-#undef _nc_ospeed
-int _nc_ospeed(
- int BaudRate)
- { return(*(int *)0); }
-
-#undef baudrate_sp
-int baudrate_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef baudrate
-int baudrate(void)
- { return(*(int *)0); }
-
-/* ./tinfo/lib_cur_term.c */
-
-#undef _nc_get_cur_term_sp
-TERMINAL *_nc_get_cur_term_sp(
- SCREEN *sp)
- { return(*(TERMINAL **)0); }
-
-#undef _nc_get_cur_term
-TERMINAL *_nc_get_cur_term(void)
- { return(*(TERMINAL **)0); }
-
-#undef _nc_cur_term
-TERMINAL *_nc_cur_term(void)
- { return(*(TERMINAL **)0); }
-
-#undef set_curterm_sp
-TERMINAL *set_curterm_sp(
- SCREEN *sp,
- TERMINAL *termp)
- { return(*(TERMINAL **)0); }
-
-#undef set_curterm
-TERMINAL *set_curterm(
- TERMINAL *termp)
- { return(*(TERMINAL **)0); }
-
-#undef del_curterm_sp
-int del_curterm_sp(
- SCREEN *sp,
- TERMINAL *termp)
- { return(*(int *)0); }
-
-#undef del_curterm
-int del_curterm(
- TERMINAL *termp)
- { return(*(int *)0); }
-
-/* ./tinfo/lib_data.c */
-
-#undef _nc_stdscr
-WINDOW *_nc_stdscr(void)
- { return(*(WINDOW **)0); }
-
-#undef _nc_curscr
-WINDOW *_nc_curscr(void)
- { return(*(WINDOW **)0); }
-
-#undef _nc_newscr
-WINDOW *_nc_newscr(void)
- { return(*(WINDOW **)0); }
-
-#undef _nc_screen_chain
-SCREEN *_nc_screen_chain;
-#undef SP
-SCREEN *SP;
-#undef _nc_globals
-NCURSES_GLOBALS _nc_globals;
-#undef _nc_prescreen
-NCURSES_PRESCREEN _nc_prescreen;
-
-#undef _nc_screen_of
-SCREEN *_nc_screen_of(
- WINDOW *win)
- { return(*(SCREEN **)0); }
-
-#undef _nc_init_pthreads
-void _nc_init_pthreads(void)
- { /* void */ }
-
-#undef _nc_mutex_init
-void _nc_mutex_init(
- pthread_mutex_t *obj)
- { /* void */ }
-
-#undef _nc_mutex_lock
-int _nc_mutex_lock(
- pthread_mutex_t *obj)
- { return(*(int *)0); }
-
-#undef _nc_mutex_trylock
-int _nc_mutex_trylock(
- pthread_mutex_t *obj)
- { return(*(int *)0); }
-
-#undef _nc_mutex_unlock
-int _nc_mutex_unlock(
- pthread_mutex_t *obj)
- { return(*(int *)0); }
-
-/* ./tinfo/lib_has_cap.c */
-
-#undef has_ic_sp
-NCURSES_BOOL has_ic_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_ic
-NCURSES_BOOL has_ic(void)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_il_sp
-NCURSES_BOOL has_il_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_il
-NCURSES_BOOL has_il(void)
- { return(*(NCURSES_BOOL *)0); }
-
-/* ./tinfo/lib_kernel.c */
-
-#undef erasechar_sp
-char erasechar_sp(
- SCREEN *sp)
- { return(*(char *)0); }
-
-#undef erasechar
-char erasechar(void)
- { return(*(char *)0); }
-
-#undef killchar_sp
-char killchar_sp(
- SCREEN *sp)
- { return(*(char *)0); }
-
-#undef killchar
-char killchar(void)
- { return(*(char *)0); }
-
-#undef flushinp_sp
-int flushinp_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef flushinp
-int flushinp(void)
- { return(*(int *)0); }
-
-/* ./lib_keyname.c */
-
-struct kn { short offset; int code; };
-
-#undef keyname_sp
-char *keyname_sp(
- SCREEN *sp,
- int c)
- { return(*(char **)0); }
-
-#undef keyname
-char *keyname(
- int c)
- { return(*(char **)0); }
-
-/* ./tinfo/lib_longname.c */
-
-#undef longname_sp
-char *longname_sp(
- SCREEN *sp)
- { return(*(char **)0); }
-
-#undef longname
-char *longname(void)
- { return(*(char **)0); }
-
-/* ./tinfo/lib_napms.c */
-
-#undef napms_sp
-int napms_sp(
- SCREEN *sp,
- int ms)
- { return(*(int *)0); }
-
-#undef napms
-int napms(
- int ms)
- { return(*(int *)0); }
-
-/* ./tinfo/lib_options.c */
-
-#undef idlok
-int idlok(
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-#undef idcok
-void idcok(
- WINDOW *win,
- NCURSES_BOOL flag)
- { /* void */ }
-
-#undef halfdelay_sp
-int halfdelay_sp(
- SCREEN *sp,
- int t)
- { return(*(int *)0); }
-
-#undef halfdelay
-int halfdelay(
- int t)
- { return(*(int *)0); }
-
-#undef nodelay
-int nodelay(
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-#undef notimeout
-int notimeout(
- WINDOW *win,
- NCURSES_BOOL f)
- { return(*(int *)0); }
-
-#undef wtimeout
-void wtimeout(
- WINDOW *win,
- int delay)
- { /* void */ }
-
-#undef keypad
-int keypad(
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-#undef meta
-int meta(
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-#undef curs_set_sp
-int curs_set_sp(
- SCREEN *sp,
- int vis)
- { return(*(int *)0); }
-
-#undef curs_set
-int curs_set(
- int vis)
- { return(*(int *)0); }
-
-#undef typeahead_sp
-int typeahead_sp(
- SCREEN *sp,
- int fd)
- { return(*(int *)0); }
-
-#undef typeahead
-int typeahead(
- int fd)
- { return(*(int *)0); }
-
-#undef has_key_sp
-int has_key_sp(
- SCREEN *sp,
- int keycode)
- { return(*(int *)0); }
-
-#undef has_key
-int has_key(
- int keycode)
- { return(*(int *)0); }
-
-#undef _nc_putp_flush_sp
-int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
- const char *value)
- { return(*(int *)0); }
-
-#undef _nc_keypad
-int _nc_keypad(
- SCREEN *sp,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-/* ./tinfo/lib_raw.c */
-
-#undef raw_sp
-int raw_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef raw
-int raw(void)
- { return(*(int *)0); }
-
-#undef cbreak_sp
-int cbreak_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef cbreak
-int cbreak(void)
- { return(*(int *)0); }
-
-#undef qiflush_sp
-void qiflush_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef qiflush
-void qiflush(void)
- { /* void */ }
-
-#undef noraw_sp
-int noraw_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef noraw
-int noraw(void)
- { return(*(int *)0); }
-
-#undef nocbreak_sp
-int nocbreak_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef nocbreak
-int nocbreak(void)
- { return(*(int *)0); }
-
-#undef noqiflush_sp
-void noqiflush_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef noqiflush
-void noqiflush(void)
- { /* void */ }
-
-#undef intrflush_sp
-int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-#undef intrflush
-int intrflush(
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-/* ./tinfo/lib_setup.c */
-
-#include <locale.h>
-#include <sys/ioctl.h>
-#include <langinfo.h>
-
-#undef _nc_ttytype
-char *_nc_ttytype(void)
- { return(*(char **)0); }
-
-#undef _nc_ptr_Lines
-int *_nc_ptr_Lines(
- SCREEN *sp)
- { return(*(int **)0); }
-
-#undef _nc_LINES
-int _nc_LINES(void)
- { return(*(int *)0); }
-
-#undef _nc_ptr_Cols
-int *_nc_ptr_Cols(
- SCREEN *sp)
- { return(*(int **)0); }
-
-#undef _nc_COLS
-int _nc_COLS(void)
- { return(*(int *)0); }
-
-#undef _nc_ptr_Tabsize
-int *_nc_ptr_Tabsize(
- SCREEN *sp)
- { return(*(int **)0); }
-
-#undef _nc_TABSIZE
-int _nc_TABSIZE(void)
- { return(*(int *)0); }
-
-#undef set_tabsize_sp
-int set_tabsize_sp(
- SCREEN *sp,
- int value)
- { return(*(int *)0); }
-
-#undef set_tabsize
-int set_tabsize(
- int value)
- { return(*(int *)0); }
-
-#undef _nc_handle_sigwinch
-int _nc_handle_sigwinch(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef use_env_sp
-void use_env_sp(
- SCREEN *sp,
- NCURSES_BOOL f)
- { /* void */ }
-
-#undef use_env
-void use_env(
- NCURSES_BOOL f)
- { /* void */ }
-
-#undef _nc_get_screensize
-void _nc_get_screensize(
- SCREEN *sp,
- int *linep,
- int *colp)
- { /* void */ }
-
-#undef _nc_update_screensize
-void _nc_update_screensize(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_setup_tinfo
-int _nc_setup_tinfo(
- const char *const tn,
- TERMTYPE *const tp)
- { return(*(int *)0); }
-
-#undef _nc_tinfo_cmdch
-void _nc_tinfo_cmdch(
- TERMINAL *termp,
- char proto)
- { /* void */ }
-
-#undef _nc_get_locale
-char *_nc_get_locale(void)
- { return(*(char **)0); }
-
-#undef _nc_unicode_locale
-int _nc_unicode_locale(void)
- { return(*(int *)0); }
-
-#undef _nc_locale_breaks_acs
-int _nc_locale_breaks_acs(
- TERMINAL *termp)
- { return(*(int *)0); }
-
-#undef _nc_setupterm
-int _nc_setupterm(
- char *tname,
- int Filedes,
- int *errret,
- NCURSES_BOOL reuse)
- { return(*(int *)0); }
-
-#undef new_prescr
-SCREEN *new_prescr(void)
- { return(*(SCREEN **)0); }
-
-#undef setupterm
-int setupterm(
- char *tname,
- int Filedes,
- int *errret)
- { return(*(int *)0); }
-
-/* ./tinfo/lib_termcap.c */
-
-#undef UP
-char *UP;
-#undef BC
-char *BC;
-
-#undef tgetent_sp
-int tgetent_sp(
- SCREEN *sp,
- char *bufp,
- const char *name)
- { return(*(int *)0); }
-
-#if 0
-
-#include <capdefaults.c>
-
-#endif
-
-#undef tgetent
-int tgetent(
- char *bufp,
- const char *name)
- { return(*(int *)0); }
-
-#undef tgetflag_sp
-int tgetflag_sp(
- SCREEN *sp,
- char *id)
- { return(*(int *)0); }
-
-#undef tgetflag
-int tgetflag(
- char *id)
- { return(*(int *)0); }
-
-#undef tgetnum_sp
-int tgetnum_sp(
- SCREEN *sp,
- char *id)
- { return(*(int *)0); }
-
-#undef tgetnum
-int tgetnum(
- char *id)
- { return(*(int *)0); }
-
-#undef tgetstr_sp
-char *tgetstr_sp(
- SCREEN *sp,
- char *id,
- char **area)
- { return(*(char **)0); }
-
-#undef tgetstr
-char *tgetstr(
- char *id,
- char **area)
- { return(*(char **)0); }
-
-/* ./tinfo/lib_termname.c */
-
-#undef termname_sp
-char *termname_sp(
- SCREEN *sp)
- { return(*(char **)0); }
-
-#undef termname
-char *termname(void)
- { return(*(char **)0); }
-
-/* ./tinfo/lib_tgoto.c */
-
-#undef tgoto
-char *tgoto(
- const char *string,
- int x,
- int y)
- { return(*(char **)0); }
-
-/* ./tinfo/lib_ti.c */
-
-#undef tigetflag_sp
-int tigetflag_sp(
- SCREEN *sp,
- char *str)
- { return(*(int *)0); }
-
-#undef tigetflag
-int tigetflag(
- char *str)
- { return(*(int *)0); }
-
-#undef tigetnum_sp
-int tigetnum_sp(
- SCREEN *sp,
- char *str)
- { return(*(int *)0); }
-
-#undef tigetnum
-int tigetnum(
- char *str)
- { return(*(int *)0); }
-
-#undef tigetstr_sp
-char *tigetstr_sp(
- SCREEN *sp,
- char *str)
- { return(*(char **)0); }
-
-#undef tigetstr
-char *tigetstr(
- char *str)
- { return(*(char **)0); }
-
-/* ./tinfo/lib_tparm.c */
-
-#undef _nc_tparm_err
-int _nc_tparm_err;
-
-#undef _nc_tparm_analyze
-int _nc_tparm_analyze(
- const char *string,
- char *p_is_s[9],
- int *popcount)
- { return(*(int *)0); }
-
-#undef tparm
-char *tparm(
- char *string,
- ...)
- { return(*(char **)0); }
-
-#undef tiparm
-char *tiparm(
- const char *string,
- ...)
- { return(*(char **)0); }
-
-/* ./tinfo/lib_tputs.c */
-
-#undef PC
-char PC;
-#undef ospeed
-NCURSES_OSPEED ospeed;
-#undef _nc_nulls_sent
-int _nc_nulls_sent;
-
-#undef _nc_set_no_padding
-void _nc_set_no_padding(
- SCREEN *sp)
- { /* void */ }
-
-#undef delay_output_sp
-int delay_output_sp(
- SCREEN *sp,
- int ms)
- { return(*(int *)0); }
-
-#undef delay_output
-int delay_output(
- int ms)
- { return(*(int *)0); }
-
-#undef _nc_flush_sp
-void _nc_flush_sp(
- SCREEN *sp)
- { /* void */ }
-
-#undef _nc_flush
-void _nc_flush(void)
- { /* void */ }
-
-#undef _nc_outch_sp
-int _nc_outch_sp(
- SCREEN *sp,
- int ch)
- { return(*(int *)0); }
-
-#undef _nc_outch
-int _nc_outch(
- int ch)
- { return(*(int *)0); }
-
-#undef putp_sp
-int putp_sp(
- SCREEN *sp,
- const char *string)
- { return(*(int *)0); }
-
-#undef _nc_putp_sp
-int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
- const char *string)
- { return(*(int *)0); }
-
-#undef putp
-int putp(
- const char *string)
- { return(*(int *)0); }
-
-#undef _nc_putp
-int _nc_putp(
- const char *name,
- const char *string)
- { return(*(int *)0); }
-
-#undef tputs_sp
-int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
- NCURSES_OUTC_sp outc)
- { return(*(int *)0); }
-
-#undef _nc_outc_wrapper
-int _nc_outc_wrapper(
- SCREEN *sp,
- int c)
- { return(*(int *)0); }
-
-#undef tputs
-int tputs(
- const char *string,
- int affcnt,
- int (*outc)(
- int p1))
- { return(*(int *)0); }
-
-/* ./trace/lib_trace.c */
-
-#undef _nc_tracing
-unsigned _nc_tracing;
-
-#undef _nc__nc_tputs_trace
-const char *_nc__nc_tputs_trace(void)
- { return(*(const char **)0); }
-
-#undef _nc__nc_outchars
-long _nc__nc_outchars(void)
- { return(*(long *)0); }
-
-#undef _nc_set_tputs_trace
-void _nc_set_tputs_trace(
- const char *s)
- { /* void */ }
-
-#undef _nc_count_outchars
-void _nc_count_outchars(
- long increment)
- { /* void */ }
-
-#undef trace
-void trace(
- const unsigned int tracelevel)
- { /* void */ }
-
-#undef _tracef
-void _tracef(
- const char *fmt,
- ...)
- { /* void */ }
-
-#undef _nc_retrace_bool
-NCURSES_BOOL _nc_retrace_bool(
- NCURSES_BOOL code)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef _nc_retrace_char
-char _nc_retrace_char(
- char code)
- { return(*(char *)0); }
-
-#undef _nc_retrace_int
-int _nc_retrace_int(
- int code)
- { return(*(int *)0); }
-
-#undef _nc_retrace_unsigned
-unsigned _nc_retrace_unsigned(
- unsigned code)
- { return(*(unsigned *)0); }
-
-#undef _nc_retrace_ptr
-char *_nc_retrace_ptr(
- char *code)
- { return(*(char **)0); }
-
-#undef _nc_retrace_cptr
-const char *_nc_retrace_cptr(
- const char *code)
- { return(*(const char **)0); }
-
-#undef _nc_retrace_cvoid_ptr
-void *_nc_retrace_cvoid_ptr(
- void *code)
- { return(*(void **)0); }
-
-#undef _nc_retrace_void_ptr
-void *_nc_retrace_void_ptr(
- void *code)
- { return(*(void **)0); }
-
-#undef _nc_retrace_sp
-SCREEN *_nc_retrace_sp(
- SCREEN *code)
- { return(*(SCREEN **)0); }
-
-#undef _nc_retrace_win
-WINDOW *_nc_retrace_win(
- WINDOW *code)
- { return(*(WINDOW **)0); }
-
-#undef _nc_use_tracef
-int _nc_use_tracef(
- unsigned mask)
- { return(*(int *)0); }
-
-#undef _nc_locked_tracef
-void _nc_locked_tracef(
- const char *fmt,
- ...)
- { /* void */ }
-
-/* ./trace/lib_traceatr.c */
-
-#undef _traceattr2
-char *_traceattr2(
- int bufnum,
- chtype newmode)
- { return(*(char **)0); }
-
-#undef _traceattr
-char *_traceattr(
- attr_t newmode)
- { return(*(char **)0); }
-
-#undef _nc_retrace_int_attr_t
-int _nc_retrace_int_attr_t(
- attr_t code)
- { return(*(int *)0); }
-
-#undef _nc_retrace_attr_t
-attr_t _nc_retrace_attr_t(
- attr_t code)
- { return(*(attr_t *)0); }
-
-#undef _nc_altcharset_name
-const char *_nc_altcharset_name(
- attr_t attr,
- chtype ch)
- { return(*(const char **)0); }
-
-#undef _tracechtype2
-char *_tracechtype2(
- int bufnum,
- chtype ch)
- { return(*(char **)0); }
-
-#undef _tracechtype
-char *_tracechtype(
- chtype ch)
- { return(*(char **)0); }
-
-#undef _nc_retrace_chtype
-chtype _nc_retrace_chtype(
- chtype code)
- { return(*(chtype *)0); }
-
-#undef _tracecchar_t2
-char *_tracecchar_t2(
- int bufnum,
- const cchar_t *ch)
- { return(*(char **)0); }
-
-#undef _tracecchar_t
-char *_tracecchar_t(
- const cchar_t *ch)
- { return(*(char **)0); }
-
-/* ./trace/lib_tracebits.c */
-
-typedef struct {
- unsigned int val;
- const char *name;
-} BITNAMES;
-
-#undef _nc_trace_ttymode
-char *_nc_trace_ttymode(
- struct termios *tty)
- { return(*(char **)0); }
-
-#undef _nc_tracebits
-char *_nc_tracebits(void)
- { return(*(char **)0); }
-
-/* ./trace/lib_tracechr.c */
-
-#undef _nc_tracechar
-char *_nc_tracechar(
- SCREEN *sp,
- int ch)
- { return(*(char **)0); }
-
-#undef _tracechar
-char *_tracechar(
- int ch)
- { return(*(char **)0); }
-
-/* ./tinfo/lib_ttyflags.c */
-
-#undef _nc_get_tty_mode_sp
-int _nc_get_tty_mode_sp(
- SCREEN *sp,
- struct termios *buf)
- { return(*(int *)0); }
-
-#undef _nc_get_tty_mode
-int _nc_get_tty_mode(
- struct termios *buf)
- { return(*(int *)0); }
-
-#undef _nc_set_tty_mode_sp
-int _nc_set_tty_mode_sp(
- SCREEN *sp,
- struct termios *buf)
- { return(*(int *)0); }
-
-#undef _nc_set_tty_mode
-int _nc_set_tty_mode(
- struct termios *buf)
- { return(*(int *)0); }
-
-#undef def_shell_mode_sp
-int def_shell_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef def_shell_mode
-int def_shell_mode(void)
- { return(*(int *)0); }
-
-#undef def_prog_mode_sp
-int def_prog_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef def_prog_mode
-int def_prog_mode(void)
- { return(*(int *)0); }
-
-#undef reset_prog_mode_sp
-int reset_prog_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef reset_prog_mode
-int reset_prog_mode(void)
- { return(*(int *)0); }
-
-#undef reset_shell_mode_sp
-int reset_shell_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef reset_shell_mode
-int reset_shell_mode(void)
- { return(*(int *)0); }
-
-#undef savetty_sp
-int savetty_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef savetty
-int savetty(void)
- { return(*(int *)0); }
-
-#undef resetty_sp
-int resetty_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef resetty
-int resetty(void)
- { return(*(int *)0); }
-
-/* ./tty/lib_twait.c */
-
-#undef _nc_timed_wait
-int _nc_timed_wait(
- SCREEN *sp,
- int mode,
- int milliseconds,
- int *timeleft)
- { return(*(int *)0); }
-
-/* ./tinfo/name_match.c */
-
-#undef _nc_first_name
-char *_nc_first_name(
- const char *const sp)
- { return(*(char **)0); }
-
-#undef _nc_name_match
-int _nc_name_match(
- const char *const namelst,
- const char *const name,
- const char *const delim)
- { return(*(int *)0); }
-
-/* ./names.c */
-
-#undef _nc_boolnames
-char *const *_nc_boolnames(void)
- { return(*(char **)0); }
-
-#undef _nc_boolfnames
-char *const *_nc_boolfnames(void)
- { return(*(char **)0); }
-
-#undef _nc_numnames
-char *const *_nc_numnames(void)
- { return(*(char **)0); }
-
-#undef _nc_numfnames
-char *const *_nc_numfnames(void)
- { return(*(char **)0); }
-
-#undef _nc_strnames
-char *const *_nc_strnames(void)
- { return(*(char **)0); }
-
-#undef _nc_strfnames
-char *const *_nc_strfnames(void)
- { return(*(char **)0); }
-
-/* ./tinfo/read_entry.c */
-
-#include <hashed_db.h>
-
-#undef _nc_read_termtype
-int _nc_read_termtype(
- TERMTYPE *ptr,
- char *buffer,
- int limit)
- { return(*(int *)0); }
-
-#undef _nc_read_file_entry
-int _nc_read_file_entry(
- const char *const filename,
- TERMTYPE *ptr)
- { return(*(int *)0); }
-
-#undef _nc_read_entry
-int _nc_read_entry(
- const char *const name,
- char *const filename,
- TERMTYPE *const tp)
- { return(*(int *)0); }
-
-/* ./tinfo/read_termcap.c */
-
-#include <sys/types.h>
-
-#undef _nc_read_termcap_entry
-int _nc_read_termcap_entry(
- const char *const tn,
- TERMTYPE *const tp)
- { return(*(int *)0); }
-
-/* ./tinfo/setbuf.c */
-
-#undef _nc_set_buffer_sp
-void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
- NCURSES_BOOL buffered)
- { /* void */ }
-
-#undef _nc_set_buffer
-void _nc_set_buffer(
- FILE *ofp,
- NCURSES_BOOL buffered)
- { /* void */ }
-
-/* ./tinfo/strings.c */
-
-#undef _nc_str_init
-string_desc *_nc_str_init(
- string_desc *dst,
- char *src,
- size_t len)
- { return(*(string_desc **)0); }
-
-#undef _nc_str_null
-string_desc *_nc_str_null(
- string_desc *dst,
- size_t len)
- { return(*(string_desc **)0); }
-
-#undef _nc_str_copy
-string_desc *_nc_str_copy(
- string_desc *dst,
- string_desc *src)
- { return(*(string_desc **)0); }
-
-#undef _nc_safe_strcat
-NCURSES_BOOL _nc_safe_strcat(
- string_desc *dst,
- const char *src)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef _nc_safe_strcpy
-NCURSES_BOOL _nc_safe_strcpy(
- string_desc *dst,
- const char *src)
- { return(*(NCURSES_BOOL *)0); }
-
-/* ./trace/trace_buf.c */
-
-#undef _nc_trace_buf
-char *_nc_trace_buf(
- int bufnum,
- size_t want)
- { return(*(char **)0); }
-
-#undef _nc_trace_bufcat
-char *_nc_trace_bufcat(
- int bufnum,
- const char *value)
- { return(*(char **)0); }
-
-/* ./trace/trace_tries.c */
-
-#undef _nc_trace_tries
-void _nc_trace_tries(
- TRIES *tree)
- { /* void */ }
-
-/* ./base/tries.c */
-
-#undef _nc_expand_try
-char *_nc_expand_try(
- TRIES *tree,
- unsigned code,
- int *count,
- size_t len)
- { return(*(char **)0); }
-
-#undef _nc_remove_key
-int _nc_remove_key(
- TRIES **tree,
- unsigned code)
- { return(*(int *)0); }
-
-#undef _nc_remove_string
-int _nc_remove_string(
- TRIES **tree,
- const char *string)
- { return(*(int *)0); }
-
-/* ./tinfo/trim_sgr0.c */
-
-#undef _nc_trim_sgr0
-char *_nc_trim_sgr0(
- TERMTYPE *tp)
- { return(*(char **)0); }
-
-/* ./unctrl.c */
-
-#undef unctrl_sp
-char *unctrl_sp(
- SCREEN *sp,
- chtype ch)
- { return(*(char **)0); }
-
-#undef unctrl
-char *unctrl(
- chtype ch)
- { return(*(char **)0); }
-
-/* ./trace/visbuf.c */
-
-#undef _nc_visbuf2
-const char *_nc_visbuf2(
- int bufnum,
- const char *buf)
- { return(*(const char **)0); }
-
-#undef _nc_visbuf
-const char *_nc_visbuf(
- const char *buf)
- { return(*(const char **)0); }
-
-#undef _nc_visbufn
-const char *_nc_visbufn(
- const char *buf,
- int len)
- { return(*(const char **)0); }
-
-#undef _nc_viswbuf2
-const char *_nc_viswbuf2(
- int bufnum,
- const wchar_t *buf)
- { return(*(const char **)0); }
-
-#undef _nc_viswbuf
-const char *_nc_viswbuf(
- const wchar_t *buf)
- { return(*(const char **)0); }
-
-#undef _nc_viswbufn
-const char *_nc_viswbufn(
- const wchar_t *buf,
- int len)
- { return(*(const char **)0); }
-
-#undef _nc_viswibuf
-const char *_nc_viswibuf(
- const wint_t *buf)
- { return(*(const char **)0); }
-
-#undef _nc_viscbuf2
-const char *_nc_viscbuf2(
- int bufnum,
- const cchar_t *buf,
- int len)
- { return(*(const char **)0); }
-
-#undef _nc_viscbuf
-const char *_nc_viscbuf(
- const cchar_t *buf,
- int len)
- { return(*(const char **)0); }
-
-/* ./tinfo/alloc_entry.c */
-
-#undef _nc_init_entry
-void _nc_init_entry(
- TERMTYPE *const tp)
- { /* void */ }
-
-#undef _nc_copy_entry
-ENTRY *_nc_copy_entry(
- ENTRY *oldp)
- { return(*(ENTRY **)0); }
-
-#undef _nc_save_str
-char *_nc_save_str(
- const char *const string)
- { return(*(char **)0); }
-
-#undef _nc_wrap_entry
-void _nc_wrap_entry(
- ENTRY *const ep,
- NCURSES_BOOL copy_strings)
- { /* void */ }
-
-#undef _nc_merge_entry
-void _nc_merge_entry(
- TERMTYPE *const to,
- TERMTYPE *const from)
- { /* void */ }
-
-/* ./tinfo/captoinfo.c */
-
-#undef _nc_captoinfo
-char *_nc_captoinfo(
- const char *cap,
- const char *s,
- int const parameterized)
- { return(*(char **)0); }
-
-#undef _nc_infotocap
-char *_nc_infotocap(
- const char *cap,
- const char *str,
- int const parameterized)
- { return(*(char **)0); }
-
-/* ./tinfo/comp_expand.c */
-
-#undef _nc_tic_expand
-char *_nc_tic_expand(
- const char *srcp,
- NCURSES_BOOL tic_format,
- int numbers)
- { return(*(char **)0); }
-
-/* ./tinfo/comp_parse.c */
-
-#undef _nc_check_termtype2
-void (*_nc_check_termtype2)(
- TERMTYPE *p1,
- NCURSES_BOOL p2);
-#undef _nc_check_termtype
-void (*_nc_check_termtype)(
- TERMTYPE *p1);
-
-#undef _nc_entry_match
-NCURSES_BOOL _nc_entry_match(
- char *n1,
- char *n2)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef _nc_read_entry_source
-void _nc_read_entry_source(
- FILE *fp,
- char *buf,
- int literal,
- NCURSES_BOOL silent,
- NCURSES_BOOL (*hook)(
- ENTRY *p1))
- { /* void */ }
-
-#undef _nc_resolve_uses2
-int _nc_resolve_uses2(
- NCURSES_BOOL fullresolve,
- NCURSES_BOOL literal)
- { return(*(int *)0); }
-
-#undef _nc_resolve_uses
-int _nc_resolve_uses(
- NCURSES_BOOL fullresolve)
- { return(*(int *)0); }
-
-/* ./tinfo/comp_scan.c */
-
-#undef _nc_syntax
-int _nc_syntax;
-#undef _nc_curr_file_pos
-long _nc_curr_file_pos;
-#undef _nc_comment_start
-long _nc_comment_start;
-#undef _nc_comment_end
-long _nc_comment_end;
-#undef _nc_start_line
-long _nc_start_line;
-#undef _nc_curr_token
-struct token _nc_curr_token;
-#undef _nc_disable_period
-NCURSES_BOOL _nc_disable_period;
-
-#undef _nc_reset_input
-void _nc_reset_input(
- FILE *fp,
- char *buf)
- { /* void */ }
-
-#undef _nc_get_token
-int _nc_get_token(
- NCURSES_BOOL silent)
- { return(*(int *)0); }
-
-#undef _nc_trans_string
-int _nc_trans_string(
- char *ptr,
- char *last)
- { return(*(int *)0); }
-
-#undef _nc_push_token
-void _nc_push_token(
- int tokclass)
- { /* void */ }
-
-#undef _nc_panic_mode
-void _nc_panic_mode(
- char ch)
- { /* void */ }
-
-/* ./tinfo/parse_entry.c */
-
-#undef _nc_parse_entry
-int _nc_parse_entry(
- struct entry *entryp,
- int literal,
- NCURSES_BOOL silent)
- { return(*(int *)0); }
-
-#undef _nc_capcmp
-int _nc_capcmp(
- const char *s,
- const char *t)
- { return(*(int *)0); }
-
-typedef struct {
- const char *from;
- const char *to;
-} assoc;
-
-/* ./tinfo/write_entry.c */
-
-#undef _nc_set_writedir
-void _nc_set_writedir(
- char *dir)
- { /* void */ }
-
-#undef _nc_write_entry
-void _nc_write_entry(
- TERMTYPE *const tp)
- { /* void */ }
-
-#undef _nc_tic_written
-int _nc_tic_written(void)
- { return(*(int *)0); }
-
-/* ./base/define_key.c */
-
-#undef define_key_sp
-int define_key_sp(
- SCREEN *sp,
- const char *str,
- int keycode)
- { return(*(int *)0); }
-
-#undef define_key
-int define_key(
- const char *str,
- int keycode)
- { return(*(int *)0); }
-
-/* ./tinfo/hashed_db.c */
-
-#undef _nc_hashed_db
-void _nc_hashed_db(void)
- { /* void */ }
-
-/* ./base/key_defined.c */
-
-#undef key_defined_sp
-int key_defined_sp(
- SCREEN *sp,
- const char *str)
- { return(*(int *)0); }
-
-#undef key_defined
-int key_defined(
- const char *str)
- { return(*(int *)0); }
-
-/* ./base/keybound.c */
-
-#undef keybound_sp
-char *keybound_sp(
- SCREEN *sp,
- int code,
- int count)
- { return(*(char **)0); }
-
-#undef keybound
-char *keybound(
- int code,
- int count)
- { return(*(char **)0); }
-
-/* ./base/keyok.c */
-
-#undef keyok_sp
-int keyok_sp(
- SCREEN *sp,
- int c,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-#undef keyok
-int keyok(
- int c,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
-/* ./base/version.c */
-
-#undef curses_version
-const char *curses_version(void)
- { return(*(const char **)0); }
diff --git a/ncurses/llib-lncursesw b/ncurses/llib-lncursesw
index 28e68034ea8d..96e7257691d8 100644
--- a/ncurses/llib-lncursesw
+++ b/ncurses/llib-lncursesw
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2001-2010,2011 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 *
@@ -27,7 +27,7 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2001-2010,2011 *
+ * Author: Thomas E. Dickey 2001-2008 *
****************************************************************************/
/* LINTLIBRARY */
@@ -38,54 +38,27 @@
#undef _nc_oldnums
int *_nc_oldnums;
-#undef _nc_scroll_optimize_sp
-void _nc_scroll_optimize_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_scroll_optimize
void _nc_scroll_optimize(void)
{ /* void */ }
-#undef _nc_linedump_sp
-void _nc_linedump_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_linedump
void _nc_linedump(void)
{ /* void */ }
/* ./tty/hashmap.c */
-#undef _nc_hash_map_sp
-void _nc_hash_map_sp(
- SCREEN *sp)
- { /* void */ }
+#include <term.h>
#undef _nc_hash_map
void _nc_hash_map(void)
{ /* void */ }
-#undef _nc_make_oldhash_sp
-void _nc_make_oldhash_sp(
- SCREEN *sp,
- int i)
- { /* void */ }
-
#undef _nc_make_oldhash
void _nc_make_oldhash(
int i)
{ /* void */ }
-#undef _nc_scroll_oldhash_sp
-void _nc_scroll_oldhash_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot)
- { /* void */ }
-
#undef _nc_scroll_oldhash
void _nc_scroll_oldhash(
int n,
@@ -164,11 +137,6 @@ int waddnwstr(
/* ./base/lib_beep.c */
-#undef beep_sp
-int beep_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef beep
int beep(void)
{ return(*(int *)0); }
@@ -263,32 +231,14 @@ int COLOR_PAIRS;
#undef COLORS
int COLORS;
-#undef _nc_reset_colors_sp
-NCURSES_BOOL _nc_reset_colors_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef _nc_reset_colors
NCURSES_BOOL _nc_reset_colors(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef start_color_sp
-int start_color_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef start_color
int start_color(void)
{ return(*(int *)0); }
-#undef init_pair_sp
-int init_pair_sp(
- SCREEN *sp,
- short pair,
- short f,
- short b)
- { return(*(int *)0); }
-
#undef init_pair
int init_pair(
short pair,
@@ -296,15 +246,6 @@ int init_pair(
short b)
{ return(*(int *)0); }
-#undef init_color_sp
-int init_color_sp(
- SCREEN *sp,
- short color,
- short r,
- short g,
- short b)
- { return(*(int *)0); }
-
#undef init_color
int init_color(
short color,
@@ -313,33 +254,14 @@ int init_color(
short b)
{ return(*(int *)0); }
-#undef can_change_color_sp
-NCURSES_BOOL can_change_color_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef can_change_color
NCURSES_BOOL can_change_color(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef has_colors_sp
-NCURSES_BOOL has_colors_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef has_colors
NCURSES_BOOL has_colors(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef color_content_sp
-int color_content_sp(
- SCREEN *sp,
- short color,
- short *r,
- short *g,
- short *b)
- { return(*(int *)0); }
-
#undef color_content
int color_content(
short color,
@@ -348,14 +270,6 @@ int color_content(
short *b)
{ return(*(int *)0); }
-#undef pair_content_sp
-int pair_content_sp(
- SCREEN *sp,
- short pair,
- short *f,
- short *b)
- { return(*(int *)0); }
-
#undef pair_content
int pair_content(
short pair,
@@ -363,21 +277,13 @@ int pair_content(
short *b)
{ return(*(int *)0); }
-#undef _nc_do_color_sp
-void _nc_do_color_sp(
- SCREEN *sp,
- short old_pair,
- short pair,
- NCURSES_BOOL reverse,
- NCURSES_OUTC_sp outc)
- { /* void */ }
-
#undef _nc_do_color
void _nc_do_color(
short old_pair,
short pair,
NCURSES_BOOL reverse,
- NCURSES_OUTC outc)
+ int (*outc)(
+ int p1))
{ /* void */ }
/* ./base/lib_colorset.c */
@@ -405,31 +311,16 @@ int delwin(
/* ./base/lib_echo.c */
-#undef echo_sp
-int echo_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef echo
int echo(void)
{ return(*(int *)0); }
-#undef noecho_sp
-int noecho_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef noecho
int noecho(void)
{ return(*(int *)0); }
/* ./base/lib_endwin.c */
-#undef endwin_sp
-int endwin_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef endwin
int endwin(void)
{ return(*(int *)0); }
@@ -443,11 +334,6 @@ int werase(
/* ./base/lib_flash.c */
-#undef flash_sp
-int flash_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef flash
int flash(void)
{ return(*(int *)0); }
@@ -1270,21 +1156,11 @@ NCURSES_BOOL is_notimeout(
const WINDOW *z)
{ return(*(NCURSES_BOOL *)0); }
-#undef is_pad
-NCURSES_BOOL is_pad(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
#undef is_scrollok
NCURSES_BOOL is_scrollok(
const WINDOW *z)
{ return(*(NCURSES_BOOL *)0); }
-#undef is_subwin
-NCURSES_BOOL is_subwin(
- const WINDOW *z)
- { return(*(NCURSES_BOOL *)0); }
-
#undef is_syncok
NCURSES_BOOL is_syncok(
const WINDOW *z)
@@ -1770,30 +1646,15 @@ NCURSES_BOOL mouse_trafo(
#undef ESCDELAY
int ESCDELAY;
-#undef set_escdelay_sp
-int set_escdelay_sp(
- SCREEN *sp,
- int value)
- { return(*(int *)0); }
-
#undef set_escdelay
int set_escdelay(
int value)
{ return(*(int *)0); }
-#undef get_escdelay_sp
-int get_escdelay_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
-#undef get_escdelay
-int get_escdelay(void)
- { return(*(int *)0); }
-
#undef _nc_wgetch
int _nc_wgetch(
WINDOW *win,
- int *result,
+ unsigned long *result,
int use_meta)
{ return(*(int *)0); }
@@ -1847,7 +1708,6 @@ WINDOW *initscr(void)
#undef _nc_insert_ch
int _nc_insert_ch(
- SCREEN *sp,
WINDOW *win,
chtype ch)
{ return(*(int *)0); }
@@ -1886,11 +1746,6 @@ int winnstr(
/* ./base/lib_isendwin.c */
-#undef isendwin_sp
-NCURSES_BOOL isendwin_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef isendwin
NCURSES_BOOL isendwin(void)
{ return(*(NCURSES_BOOL *)0); }
@@ -1905,35 +1760,16 @@ int leaveok(
/* ./base/lib_mouse.c */
-#undef getmouse_sp
-int getmouse_sp(
- SCREEN *sp,
- MEVENT *aevent)
- { return(*(int *)0); }
-
#undef getmouse
int getmouse(
MEVENT *aevent)
{ return(*(int *)0); }
-#undef ungetmouse_sp
-int ungetmouse_sp(
- SCREEN *sp,
- MEVENT *aevent)
- { return(*(int *)0); }
-
#undef ungetmouse
int ungetmouse(
MEVENT *aevent)
{ return(*(int *)0); }
-#undef mousemask_sp
-mmask_t mousemask_sp(
- SCREEN *sp,
- mmask_t newmask,
- mmask_t *oldmask)
- { return(*(mmask_t *)0); }
-
#undef mousemask
mmask_t mousemask(
mmask_t newmask,
@@ -1947,30 +1783,14 @@ NCURSES_BOOL wenclose(
int x)
{ return(*(NCURSES_BOOL *)0); }
-#undef mouseinterval_sp
-int mouseinterval_sp(
- SCREEN *sp,
- int maxclick)
- { return(*(int *)0); }
-
#undef mouseinterval
int mouseinterval(
int maxclick)
{ return(*(int *)0); }
#undef _nc_has_mouse
-NCURSES_BOOL _nc_has_mouse(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_mouse_sp
-NCURSES_BOOL has_mouse_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
-#undef has_mouse
-NCURSES_BOOL has_mouse(void)
- { return(*(NCURSES_BOOL *)0); }
+int _nc_has_mouse(void)
+ { return(*(int *)0); }
#undef wmouse_trafo
NCURSES_BOOL wmouse_trafo(
@@ -1991,55 +1811,24 @@ int wmove(
/* ./tty/lib_mvcur.c */
-#undef _nc_msec_cost_sp
-int _nc_msec_cost_sp(
- SCREEN *sp,
- const char *const cap,
- int affcnt)
- { return(*(int *)0); }
-
#undef _nc_msec_cost
int _nc_msec_cost(
const char *const cap,
int affcnt)
{ return(*(int *)0); }
-#undef _nc_mvcur_resume_sp
-void _nc_mvcur_resume_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_mvcur_resume
void _nc_mvcur_resume(void)
{ /* void */ }
-#undef _nc_mvcur_init_sp
-void _nc_mvcur_init_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_mvcur_init
void _nc_mvcur_init(void)
{ /* void */ }
-#undef _nc_mvcur_wrap_sp
-void _nc_mvcur_wrap_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_mvcur_wrap
void _nc_mvcur_wrap(void)
{ /* void */ }
-#undef mvcur_sp
-int mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
- int xnew)
- { return(*(int *)0); }
-
#undef mvcur
int mvcur(
int yold,
@@ -2062,32 +1851,14 @@ int mvwin(
/* ./base/lib_newterm.c */
-#undef filter_sp
-void filter_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef filter
void filter(void)
{ /* void */ }
-#undef nofilter_sp
-void nofilter_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef nofilter
void nofilter(void)
{ /* void */ }
-#undef newterm_sp
-SCREEN *newterm_sp(
- SCREEN *sp,
- char *name,
- FILE *ofp,
- FILE *ifp)
- { return(*(SCREEN **)0); }
-
#undef newterm
SCREEN *newterm(
char *name,
@@ -2102,15 +1873,6 @@ int _nc_freewin(
WINDOW *win)
{ return(*(int *)0); }
-#undef newwin_sp
-WINDOW *newwin_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
- int begx)
- { return(*(WINDOW **)0); }
-
#undef newwin
WINDOW *newwin(
int num_lines,
@@ -2137,9 +1899,8 @@ WINDOW *subwin(
int x)
{ return(*(WINDOW **)0); }
-#undef _nc_makenew_sp
-WINDOW *_nc_makenew_sp(
- SCREEN *sp,
+#undef _nc_makenew
+WINDOW *_nc_makenew(
int num_lines,
int num_columns,
int begy,
@@ -2147,37 +1908,17 @@ WINDOW *_nc_makenew_sp(
int flags)
{ return(*(WINDOW **)0); }
-#undef _nc_curscr_of
-WINDOW *_nc_curscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
-
-#undef _nc_newscr_of
-WINDOW *_nc_newscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
-
-#undef _nc_stdscr_of
-WINDOW *_nc_stdscr_of(
- SCREEN *sp)
- { return(*(WINDOW **)0); }
+#undef _nc_screen_of
+SCREEN *_nc_screen_of(
+ WINDOW *win)
+ { return(*(SCREEN **)0); }
/* ./base/lib_nl.c */
-#undef nl_sp
-int nl_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef nl
int nl(void)
{ return(*(int *)0); }
-#undef nonl_sp
-int nonl_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef nonl
int nonl(void)
{ return(*(int *)0); }
@@ -2211,13 +1952,6 @@ int copywin(
/* ./base/lib_pad.c */
-#undef newpad_sp
-WINDOW *newpad_sp(
- SCREEN *sp,
- int l,
- int c)
- { return(*(WINDOW **)0); }
-
#undef newpad
WINDOW *newpad(
int l,
@@ -2323,14 +2057,6 @@ int wnoutrefresh(
/* ./base/lib_restart.c */
-#undef restartterm_sp
-int restartterm_sp(
- SCREEN *sp,
- char *termp,
- int filenum,
- int *errret)
- { return(*(int *)0); }
-
#undef restartterm
int restartterm(
char *termp,
@@ -2379,12 +2105,6 @@ int mvwscanw(
/* ./base/lib_screen.c */
-#undef getwin_sp
-WINDOW *getwin_sp(
- SCREEN *sp,
- FILE *filep)
- { return(*(WINDOW **)0); }
-
#undef getwin
WINDOW *getwin(
FILE *filep)
@@ -2396,12 +2116,6 @@ int putwin(
FILE *filep)
{ return(*(int *)0); }
-#undef scr_restore_sp
-int scr_restore_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
#undef scr_restore
int scr_restore(
const char *file)
@@ -2412,23 +2126,11 @@ int scr_dump(
const char *file)
{ return(*(int *)0); }
-#undef scr_init_sp
-int scr_init_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
#undef scr_init
int scr_init(
const char *file)
{ return(*(int *)0); }
-#undef scr_set_sp
-int scr_set_sp(
- SCREEN *sp,
- const char *file)
- { return(*(int *)0); }
-
#undef scr_set
int scr_set(
const char *file)
@@ -2480,16 +2182,6 @@ void delscreen(
SCREEN *sp)
{ /* void */ }
-#undef _nc_setupscreen_sp
-int _nc_setupscreen_sp(
- SCREEN **spp,
- int slines,
- int scolumns,
- FILE *output,
- NCURSES_BOOL filtered,
- int slk_format)
- { return(*(int *)0); }
-
#undef _nc_setupscreen
int _nc_setupscreen(
int slines,
@@ -2499,15 +2191,6 @@ int _nc_setupscreen(
int slk_format)
{ return(*(int *)0); }
-#undef _nc_ripoffline_sp
-int _nc_ripoffline_sp(
- SCREEN *sp,
- int line,
- int (*init)(
- WINDOW *p1,
- int p2))
- { return(*(int *)0); }
-
#undef _nc_ripoffline
int _nc_ripoffline(
int line,
@@ -2516,15 +2199,6 @@ int _nc_ripoffline(
int p2))
{ return(*(int *)0); }
-#undef ripoffline_sp
-int ripoffline_sp(
- SCREEN *sp,
- int line,
- int (*init)(
- WINDOW *p1,
- int p2))
- { return(*(int *)0); }
-
#undef ripoffline
int ripoffline(
int line,
@@ -2535,37 +2209,18 @@ int ripoffline(
/* ./base/lib_slk.c */
-#undef _nc_format_slks
-int _nc_format_slks(
- SCREEN *sp,
- int cols)
- { return(*(int *)0); }
-
#undef _nc_slk_initialize
int _nc_slk_initialize(
WINDOW *stwin,
int cols)
{ return(*(int *)0); }
-#undef slk_restore_sp
-int slk_restore_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_restore
int slk_restore(void)
{ return(*(int *)0); }
/* ./base/lib_slkatr_set.c */
-#undef slk_attr_set_sp
-int slk_attr_set_sp(
- SCREEN *sp,
- const attr_t attr,
- short color_pair_number,
- void *opts)
- { return(*(int *)0); }
-
#undef slk_attr_set
int slk_attr_set(
const attr_t attr,
@@ -2575,12 +2230,6 @@ int slk_attr_set(
/* ./base/lib_slkatrof.c */
-#undef slk_attroff_sp
-int slk_attroff_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
#undef slk_attroff
int slk_attroff(
const chtype attr)
@@ -2588,12 +2237,6 @@ int slk_attroff(
/* ./base/lib_slkatron.c */
-#undef slk_attron_sp
-int slk_attron_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
#undef slk_attron
int slk_attron(
const chtype attr)
@@ -2601,12 +2244,6 @@ int slk_attron(
/* ./base/lib_slkatrset.c */
-#undef slk_attrset_sp
-int slk_attrset_sp(
- SCREEN *sp,
- const chtype attr)
- { return(*(int *)0); }
-
#undef slk_attrset
int slk_attrset(
const chtype attr)
@@ -2614,34 +2251,18 @@ int slk_attrset(
/* ./base/lib_slkattr.c */
-#undef slk_attr_sp
-attr_t slk_attr_sp(
- SCREEN *sp)
- { return(*(attr_t *)0); }
-
#undef slk_attr
attr_t slk_attr(void)
{ return(*(attr_t *)0); }
/* ./base/lib_slkclear.c */
-#undef slk_clear_sp
-int slk_clear_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_clear
int slk_clear(void)
{ return(*(int *)0); }
/* ./base/lib_slkcolor.c */
-#undef slk_color_sp
-int slk_color_sp(
- SCREEN *sp,
- short color_pair_number)
- { return(*(int *)0); }
-
#undef slk_color
int slk_color(
short color_pair_number)
@@ -2649,12 +2270,6 @@ int slk_color(
/* ./base/lib_slkinit.c */
-#undef slk_init_sp
-int slk_init_sp(
- SCREEN *sp,
- int format)
- { return(*(int *)0); }
-
#undef slk_init
int slk_init(
int format)
@@ -2662,12 +2277,6 @@ int slk_init(
/* ./base/lib_slklab.c */
-#undef slk_label_sp
-char *slk_label_sp(
- SCREEN *sp,
- int n)
- { return(*(char **)0); }
-
#undef slk_label
char *slk_label(
int n)
@@ -2675,20 +2284,10 @@ char *slk_label(
/* ./base/lib_slkrefr.c */
-#undef slk_noutrefresh_sp
-int slk_noutrefresh_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_noutrefresh
int slk_noutrefresh(void)
{ return(*(int *)0); }
-#undef slk_refresh_sp
-int slk_refresh_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_refresh
int slk_refresh(void)
{ return(*(int *)0); }
@@ -2697,14 +2296,6 @@ int slk_refresh(void)
#include <wctype.h>
-#undef slk_set_sp
-int slk_set_sp(
- SCREEN *sp,
- int i,
- const char *astr,
- int format)
- { return(*(int *)0); }
-
#undef slk_set
int slk_set(
int i,
@@ -2714,11 +2305,6 @@ int slk_set(
/* ./base/lib_slktouch.c */
-#undef slk_touch_sp
-int slk_touch_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef slk_touch
int slk_touch(void)
{ return(*(int *)0); }
@@ -2760,12 +2346,6 @@ char *_nc_tracemouse(
MEVENT const *ep)
{ return(*(char **)0); }
-#undef _nc_retrace_mmask_t
-mmask_t _nc_retrace_mmask_t(
- SCREEN *sp,
- mmask_t code)
- { return(*(mmask_t *)0); }
-
#undef _tracemouse
char *_tracemouse(
MEVENT const *ep)
@@ -2787,8 +2367,8 @@ void _nc_fifo_dump(
SCREEN *sp)
{ /* void */ }
-#undef ungetch_sp
-int ungetch_sp(
+#undef _nc_ungetch
+int _nc_ungetch(
SCREEN *sp,
int ch)
{ return(*(int *)0); }
@@ -2800,23 +2380,11 @@ int ungetch(
/* ./tty/lib_vidattr.c */
-#undef vidputs_sp
-int vidputs_sp(
- SCREEN *sp,
- chtype newmode,
- NCURSES_OUTC_sp outc)
- { return(*(int *)0); }
-
#undef vidputs
int vidputs(
chtype newmode,
- NCURSES_OUTC outc)
- { return(*(int *)0); }
-
-#undef vidattr_sp
-int vidattr_sp(
- SCREEN *sp,
- chtype newmode)
+ int (*outc)(
+ int p1))
{ return(*(int *)0); }
#undef vidattr
@@ -2824,11 +2392,6 @@ int vidattr(
chtype newmode)
{ return(*(int *)0); }
-#undef termattrs_sp
-chtype termattrs_sp(
- SCREEN *sp)
- { return(*(chtype *)0); }
-
#undef termattrs
chtype termattrs(void)
{ return(*(chtype *)0); }
@@ -2909,24 +2472,12 @@ WINDOW *dupwin(
/* ./base/nc_panel.c */
-#undef _nc_panelhook_sp
-struct panelhook *_nc_panelhook_sp(
- SCREEN *sp)
- { return(*(struct panelhook **)0); }
-
#undef _nc_panelhook
struct panelhook *_nc_panelhook(void)
{ return(*(struct panelhook **)0); }
/* ./base/safe_sprintf.c */
-#undef _nc_printf_string_sp
-char *_nc_printf_string_sp(
- SCREEN *sp,
- const char *fmt,
- va_list ap)
- { return(*(char **)0); }
-
#undef _nc_printf_string
char *_nc_printf_string(
const char *fmt,
@@ -2938,24 +2489,10 @@ char *_nc_printf_string(
#include <sys/time.h>
#include <sys/times.h>
-#undef doupdate_sp
-int doupdate_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef doupdate
int doupdate(void)
{ return(*(int *)0); }
-#undef _nc_scrolln_sp
-int _nc_scrolln_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot,
- int maxy)
- { return(*(int *)0); }
-
#undef _nc_scrolln
int _nc_scrolln(
int n,
@@ -2964,39 +2501,18 @@ int _nc_scrolln(
int maxy)
{ return(*(int *)0); }
-#undef _nc_screen_resume_sp
-void _nc_screen_resume_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_screen_resume
void _nc_screen_resume(void)
{ /* void */ }
-#undef _nc_screen_init_sp
-void _nc_screen_init_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_screen_init
void _nc_screen_init(void)
{ /* void */ }
-#undef _nc_screen_wrap_sp
-void _nc_screen_wrap_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_screen_wrap
void _nc_screen_wrap(void)
{ /* void */ }
-#undef _nc_do_xmc_glitch_sp
-void _nc_do_xmc_glitch_sp(
- SCREEN *sp,
- attr_t previous)
- { /* void */ }
-
#undef _nc_do_xmc_glitch
void _nc_do_xmc_glitch(
attr_t previous)
@@ -3028,16 +2544,12 @@ void _nc_vsscanf(void)
/* ./base/lib_freeall.c */
+#include <term_entry.h>
+
#undef _nc_freeall
void _nc_freeall(void)
{ /* void */ }
-#undef _nc_free_and_exit_sp
-void _nc_free_and_exit_sp(
- SCREEN *sp,
- int code)
- { /* void */ }
-
#undef _nc_free_and_exit
void _nc_free_and_exit(
int code)
@@ -3166,12 +2678,6 @@ int win_wchnstr(
/* ./widechar/lib_ins_wch.c */
-#undef _nc_insert_wch
-int _nc_insert_wch(
- WINDOW *win,
- const cchar_t *wch)
- { return(*(int *)0); }
-
#undef wins_wch
int wins_wch(
WINDOW *win,
@@ -3233,12 +2739,6 @@ size_t _nc_wcrtomb(
mbstate_t *state)
{ return(*(size_t *)0); }
-#undef unget_wch_sp
-int unget_wch_sp(
- SCREEN *sp,
- const wchar_t wch)
- { return(*(int *)0); }
-
#undef unget_wch
int unget_wch(
const wchar_t wch)
@@ -3246,29 +2746,13 @@ int unget_wch(
/* ./widechar/lib_vid_attr.c */
-#undef vid_puts_sp
-int vid_puts_sp(
- SCREEN *sp,
- attr_t newmode,
- short pair,
- void *opts,
- NCURSES_OUTC_sp outc)
- { return(*(int *)0); }
-
#undef vid_puts
int vid_puts(
attr_t newmode,
short pair,
void *opts,
- NCURSES_OUTC outc)
- { return(*(int *)0); }
-
-#undef vid_attr_sp
-int vid_attr_sp(
- SCREEN *sp,
- attr_t newmode,
- short pair,
- void *opts)
+ int (*outc)(
+ int p1))
{ return(*(int *)0); }
#undef vid_attr
@@ -3278,11 +2762,6 @@ int vid_attr(
void *opts)
{ return(*(int *)0); }
-#undef term_attrs_sp
-attr_t term_attrs_sp(
- SCREEN *sp)
- { return(*(attr_t *)0); }
-
#undef term_attrs
attr_t term_attrs(void)
{ return(*(attr_t *)0); }
@@ -3307,12 +2786,6 @@ void _nc_init_wacs(void)
/* ./widechar/lib_wunctrl.c */
-#undef wunctrl_sp
-wchar_t *wunctrl_sp(
- SCREEN *sp,
- cchar_t *wc)
- { return(*(wchar_t **)0); }
-
#undef wunctrl
wchar_t *wunctrl(
cchar_t *wc)
@@ -3332,24 +2805,6 @@ void _nc_toggle_attr_off(
attr_t at)
{ /* void */ }
-#undef _nc_DelCharCost_sp
-int _nc_DelCharCost_sp(
- SCREEN *sp,
- int count)
- { return(*(int *)0); }
-
-#undef _nc_InsCharCost_sp
-int _nc_InsCharCost_sp(
- SCREEN *sp,
- int count)
- { return(*(int *)0); }
-
-#undef _nc_UpdateAttrs_sp
-void _nc_UpdateAttrs_sp(
- SCREEN *sp,
- const cchar_t *c)
- { /* void */ }
-
#undef _nc_DelCharCost
int _nc_DelCharCost(
int count)
@@ -3362,17 +2817,11 @@ int _nc_InsCharCost(
#undef _nc_UpdateAttrs
void _nc_UpdateAttrs(
- const cchar_t *c)
+ cchar_t c)
{ /* void */ }
/* ./base/legacy_coding.c */
-#undef use_legacy_coding_sp
-int use_legacy_coding_sp(
- SCREEN *sp,
- int level)
- { return(*(int *)0); }
-
#undef use_legacy_coding
int use_legacy_coding(
int level)
@@ -3380,22 +2829,10 @@ int use_legacy_coding(
/* ./base/lib_dft_fgbg.c */
-#undef use_default_colors_sp
-int use_default_colors_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef use_default_colors
int use_default_colors(void)
{ return(*(int *)0); }
-#undef assume_default_colors_sp
-int assume_default_colors_sp(
- SCREEN *sp,
- int fg,
- int bg)
- { return(*(int *)0); }
-
#undef assume_default_colors
int assume_default_colors(
int fg,
@@ -3404,13 +2841,6 @@ int assume_default_colors(
/* ./tinfo/lib_print.c */
-#undef mcprint_sp
-int mcprint_sp(
- SCREEN *sp,
- char *data,
- int len)
- { return(*(int *)0); }
-
#undef mcprint
int mcprint(
char *data,
@@ -3419,39 +2849,18 @@ int mcprint(
/* ./base/resizeterm.c */
-#undef is_term_resized_sp
-NCURSES_BOOL is_term_resized_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(NCURSES_BOOL *)0); }
-
#undef is_term_resized
NCURSES_BOOL is_term_resized(
int ToLines,
int ToCols)
{ return(*(NCURSES_BOOL *)0); }
-#undef resize_term_sp
-int resize_term_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(int *)0); }
-
#undef resize_term
int resize_term(
int ToLines,
int ToCols)
{ return(*(int *)0); }
-#undef resizeterm_sp
-int resizeterm_sp(
- SCREEN *sp,
- int ToLines,
- int ToCols)
- { return(*(int *)0); }
-
#undef resizeterm
int resizeterm(
int ToLines,
@@ -3494,6 +2903,9 @@ int wresize(
/* ./tinfo/access.c */
+#include <sys/stat.h>
+#include <nc_alloc.h>
+
#undef _nc_rootname
char *_nc_rootname(
char *path)
@@ -3566,32 +2978,7 @@ char *const numcodes[] = {0};
#undef strcodes
char *const strcodes[] = {0};
-/* ./comp_captab.c */
-
-#include <hashsize.h>
-
-#undef _nc_get_table
-const struct name_table_entry *_nc_get_table(
- NCURSES_BOOL termcap)
- { return(*(const struct name_table_entry **)0); }
-
-#undef _nc_get_hash_table
-const HashValue *_nc_get_hash_table(
- NCURSES_BOOL termcap)
- { return(*(const HashValue **)0); }
-
-#undef _nc_get_alias_table
-const struct alias *_nc_get_alias_table(
- NCURSES_BOOL termcap)
- { return(*(const struct alias **)0); }
-
-#undef _nc_get_hash_info
-const HashData *_nc_get_hash_info(
- NCURSES_BOOL termcap)
- { return(*(const HashData **)0); }
-
/* ./tinfo/comp_error.c */
-
#undef _nc_suppress_warnings
NCURSES_BOOL _nc_suppress_warnings;
#undef _nc_curr_line
@@ -3636,21 +3023,6 @@ void _nc_syserr_abort(
...)
{ /* void */ }
-/* ./tinfo/comp_hash.c */
-
-#undef _nc_find_entry
-struct name_table_entry const *_nc_find_entry(
- const char *string,
- const HashValue *hash_table)
- { return(*(struct name_table_entry const **)0); }
-
-#undef _nc_find_type_entry
-struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
- NCURSES_BOOL termcap)
- { return(*(struct name_table_entry const **)0); }
-
/* ./tinfo/db_iterator.c */
#undef _nc_tic_dir
@@ -3771,11 +3143,6 @@ void _nc_init_keytry(
#undef acs_map
chtype acs_map[128];
-#undef _nc_init_acs_sp
-void _nc_init_acs_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_init_acs
void _nc_init_acs(void)
{ /* void */ }
@@ -3799,11 +3166,6 @@ int _nc_ospeed(
int BaudRate)
{ return(*(int *)0); }
-#undef baudrate_sp
-int baudrate_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef baudrate
int baudrate(void)
{ return(*(int *)0); }
@@ -3813,23 +3175,11 @@ int baudrate(void)
#undef cur_term
TERMINAL *cur_term;
-#undef set_curterm_sp
-TERMINAL *set_curterm_sp(
- SCREEN *sp,
- TERMINAL *termp)
- { return(*(TERMINAL **)0); }
-
#undef set_curterm
TERMINAL *set_curterm(
TERMINAL *termp)
{ return(*(TERMINAL **)0); }
-#undef del_curterm_sp
-int del_curterm_sp(
- SCREEN *sp,
- TERMINAL *termp)
- { return(*(int *)0); }
-
#undef del_curterm
int del_curterm(
TERMINAL *termp)
@@ -3852,56 +3202,26 @@ NCURSES_GLOBALS _nc_globals;
#undef _nc_prescreen
NCURSES_PRESCREEN _nc_prescreen;
-#undef _nc_screen_of
-SCREEN *_nc_screen_of(
- WINDOW *win)
- { return(*(SCREEN **)0); }
-
/* ./tinfo/lib_has_cap.c */
-#undef has_ic_sp
-NCURSES_BOOL has_ic_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef has_ic
NCURSES_BOOL has_ic(void)
{ return(*(NCURSES_BOOL *)0); }
-#undef has_il_sp
-NCURSES_BOOL has_il_sp(
- SCREEN *sp)
- { return(*(NCURSES_BOOL *)0); }
-
#undef has_il
NCURSES_BOOL has_il(void)
{ return(*(NCURSES_BOOL *)0); }
/* ./tinfo/lib_kernel.c */
-#undef erasechar_sp
-char erasechar_sp(
- SCREEN *sp)
- { return(*(char *)0); }
-
#undef erasechar
char erasechar(void)
{ return(*(char *)0); }
-#undef killchar_sp
-char killchar_sp(
- SCREEN *sp)
- { return(*(char *)0); }
-
#undef killchar
char killchar(void)
{ return(*(char *)0); }
-#undef flushinp_sp
-int flushinp_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef flushinp
int flushinp(void)
{ return(*(int *)0); }
@@ -3910,8 +3230,8 @@ int flushinp(void)
struct kn { short offset; int code; };
-#undef keyname_sp
-char *keyname_sp(
+#undef _nc_keyname
+char *_nc_keyname(
SCREEN *sp,
int c)
{ return(*(char **)0); }
@@ -3931,12 +3251,6 @@ char *longname(void)
#include <time.h>
-#undef napms_sp
-int napms_sp(
- SCREEN *sp,
- int ms)
- { return(*(int *)0); }
-
#undef napms
int napms(
int ms)
@@ -3956,12 +3270,6 @@ void idcok(
NCURSES_BOOL flag)
{ /* void */ }
-#undef halfdelay_sp
-int halfdelay_sp(
- SCREEN *sp,
- int t)
- { return(*(int *)0); }
-
#undef halfdelay
int halfdelay(
int t)
@@ -3997,46 +3305,21 @@ int meta(
NCURSES_BOOL flag)
{ return(*(int *)0); }
-#undef curs_set_sp
-int curs_set_sp(
- SCREEN *sp,
- int vis)
- { return(*(int *)0); }
-
#undef curs_set
int curs_set(
int vis)
{ return(*(int *)0); }
-#undef typeahead_sp
-int typeahead_sp(
- SCREEN *sp,
- int fd)
- { return(*(int *)0); }
-
#undef typeahead
int typeahead(
int fd)
{ return(*(int *)0); }
-#undef has_key_sp
-int has_key_sp(
- SCREEN *sp,
- int keycode)
- { return(*(int *)0); }
-
#undef has_key
int has_key(
int keycode)
{ return(*(int *)0); }
-#undef _nc_putp_flush_sp
-int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
- const char *value)
- { return(*(int *)0); }
-
#undef _nc_keypad
int _nc_keypad(
SCREEN *sp,
@@ -4045,67 +3328,30 @@ int _nc_keypad(
/* ./tinfo/lib_raw.c */
-#undef raw_sp
-int raw_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef raw
int raw(void)
{ return(*(int *)0); }
-#undef cbreak_sp
-int cbreak_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef cbreak
int cbreak(void)
{ return(*(int *)0); }
-#undef qiflush_sp
-void qiflush_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef qiflush
void qiflush(void)
{ /* void */ }
-#undef noraw_sp
-int noraw_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef noraw
int noraw(void)
{ return(*(int *)0); }
-#undef nocbreak_sp
-int nocbreak_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef nocbreak
int nocbreak(void)
{ return(*(int *)0); }
-#undef noqiflush_sp
-void noqiflush_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef noqiflush
void noqiflush(void)
{ /* void */ }
-#undef intrflush_sp
-int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
#undef intrflush
int intrflush(
WINDOW *win,
@@ -4127,12 +3373,6 @@ int COLS;
#undef TABSIZE
int TABSIZE;
-#undef set_tabsize_sp
-int set_tabsize_sp(
- SCREEN *sp,
- int value)
- { return(*(int *)0); }
-
#undef set_tabsize
int set_tabsize(
int value)
@@ -4143,12 +3383,6 @@ int _nc_handle_sigwinch(
SCREEN *sp)
{ return(*(int *)0); }
-#undef use_env_sp
-void use_env_sp(
- SCREEN *sp,
- NCURSES_BOOL f)
- { /* void */ }
-
#undef use_env
void use_env(
NCURSES_BOOL f)
@@ -4166,18 +3400,6 @@ void _nc_update_screensize(
SCREEN *sp)
{ /* void */ }
-#undef _nc_setup_tinfo
-int _nc_setup_tinfo(
- const char *const tn,
- TERMTYPE *const tp)
- { return(*(int *)0); }
-
-#undef _nc_tinfo_cmdch
-void _nc_tinfo_cmdch(
- TERMINAL *termp,
- char proto)
- { /* void */ }
-
#undef _nc_get_locale
char *_nc_get_locale(void)
{ return(*(char **)0); }
@@ -4199,10 +3421,6 @@ int _nc_setupterm(
NCURSES_BOOL reuse)
{ return(*(int *)0); }
-#undef new_prescr
-SCREEN *new_prescr(void)
- { return(*(SCREEN **)0); }
-
#undef setupterm
int setupterm(
char *tname,
@@ -4217,9 +3435,8 @@ char *UP;
#undef BC
char *BC;
-#undef tgetent_sp
-int tgetent_sp(
- SCREEN *sp,
+#undef tgetent
+int tgetent(
char *bufp,
const char *name)
{ return(*(int *)0); }
@@ -4230,41 +3447,16 @@ int tgetent_sp(
#endif
-#undef tgetent
-int tgetent(
- char *bufp,
- const char *name)
- { return(*(int *)0); }
-
-#undef tgetflag_sp
-int tgetflag_sp(
- SCREEN *sp,
- char *id)
- { return(*(int *)0); }
-
#undef tgetflag
int tgetflag(
char *id)
{ return(*(int *)0); }
-#undef tgetnum_sp
-int tgetnum_sp(
- SCREEN *sp,
- char *id)
- { return(*(int *)0); }
-
#undef tgetnum
int tgetnum(
char *id)
{ return(*(int *)0); }
-#undef tgetstr_sp
-char *tgetstr_sp(
- SCREEN *sp,
- char *id,
- char **area)
- { return(*(char **)0); }
-
#undef tgetstr
char *tgetstr(
char *id,
@@ -4273,11 +3465,6 @@ char *tgetstr(
/* ./tinfo/lib_termname.c */
-#undef termname_sp
-char *termname_sp(
- SCREEN *sp)
- { return(*(char **)0); }
-
#undef termname
char *termname(void)
{ return(*(char **)0); }
@@ -4293,34 +3480,16 @@ char *tgoto(
/* ./tinfo/lib_ti.c */
-#undef tigetflag_sp
-int tigetflag_sp(
- SCREEN *sp,
- char *str)
- { return(*(int *)0); }
-
#undef tigetflag
int tigetflag(
char *str)
{ return(*(int *)0); }
-#undef tigetnum_sp
-int tigetnum_sp(
- SCREEN *sp,
- char *str)
- { return(*(int *)0); }
-
#undef tigetnum
int tigetnum(
char *str)
{ return(*(int *)0); }
-#undef tigetstr_sp
-char *tigetstr_sp(
- SCREEN *sp,
- char *str)
- { return(*(char **)0); }
-
#undef tigetstr
char *tigetstr(
char *str)
@@ -4344,12 +3513,6 @@ char *tparm(
...)
{ return(*(char **)0); }
-#undef tiparm
-char *tiparm(
- const char *string,
- ...)
- { return(*(char **)0); }
-
/* ./tinfo/lib_tputs.c */
#undef PC
@@ -4364,75 +3527,25 @@ void _nc_set_no_padding(
SCREEN *sp)
{ /* void */ }
-#undef delay_output_sp
-int delay_output_sp(
- SCREEN *sp,
- int ms)
- { return(*(int *)0); }
-
#undef delay_output
int delay_output(
int ms)
{ return(*(int *)0); }
-#undef _nc_flush_sp
-void _nc_flush_sp(
- SCREEN *sp)
- { /* void */ }
-
#undef _nc_flush
void _nc_flush(void)
{ /* void */ }
-#undef _nc_outch_sp
-int _nc_outch_sp(
- SCREEN *sp,
- int ch)
- { return(*(int *)0); }
-
#undef _nc_outch
int _nc_outch(
int ch)
{ return(*(int *)0); }
-#undef putp_sp
-int putp_sp(
- SCREEN *sp,
- const char *string)
- { return(*(int *)0); }
-
-#undef _nc_putp_sp
-int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
- const char *string)
- { return(*(int *)0); }
-
#undef putp
int putp(
const char *string)
{ return(*(int *)0); }
-#undef _nc_putp
-int _nc_putp(
- const char *name,
- const char *string)
- { return(*(int *)0); }
-
-#undef tputs_sp
-int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
- NCURSES_OUTC_sp outc)
- { return(*(int *)0); }
-
-#undef _nc_outc_wrapper
-int _nc_outc_wrapper(
- SCREEN *sp,
- int c)
- { return(*(int *)0); }
-
#undef tputs
int tputs(
const char *string,
@@ -4466,11 +3579,6 @@ NCURSES_BOOL _nc_retrace_bool(
NCURSES_BOOL code)
{ return(*(NCURSES_BOOL *)0); }
-#undef _nc_retrace_char
-char _nc_retrace_char(
- char code)
- { return(*(char *)0); }
-
#undef _nc_retrace_int
int _nc_retrace_int(
int code)
@@ -4524,11 +3632,6 @@ char *_traceattr(
attr_t newmode)
{ return(*(char **)0); }
-#undef _nc_retrace_int_attr_t
-int _nc_retrace_int_attr_t(
- attr_t code)
- { return(*(int *)0); }
-
#undef _nc_retrace_attr_t
attr_t _nc_retrace_attr_t(
attr_t code)
@@ -4598,78 +3701,36 @@ char *_tracechar(
/* ./tinfo/lib_ttyflags.c */
-#undef _nc_get_tty_mode_sp
-int _nc_get_tty_mode_sp(
- SCREEN *sp,
- struct termios *buf)
- { return(*(int *)0); }
-
#undef _nc_get_tty_mode
int _nc_get_tty_mode(
struct termios *buf)
{ return(*(int *)0); }
-#undef _nc_set_tty_mode_sp
-int _nc_set_tty_mode_sp(
- SCREEN *sp,
- struct termios *buf)
- { return(*(int *)0); }
-
#undef _nc_set_tty_mode
int _nc_set_tty_mode(
struct termios *buf)
{ return(*(int *)0); }
-#undef def_shell_mode_sp
-int def_shell_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef def_shell_mode
int def_shell_mode(void)
{ return(*(int *)0); }
-#undef def_prog_mode_sp
-int def_prog_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef def_prog_mode
int def_prog_mode(void)
{ return(*(int *)0); }
-#undef reset_prog_mode_sp
-int reset_prog_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef reset_prog_mode
int reset_prog_mode(void)
{ return(*(int *)0); }
-#undef reset_shell_mode_sp
-int reset_shell_mode_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef reset_shell_mode
int reset_shell_mode(void)
{ return(*(int *)0); }
-#undef savetty_sp
-int savetty_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef savetty
int savetty(void)
{ return(*(int *)0); }
-#undef resetty_sp
-int resetty_sp(
- SCREEN *sp)
- { return(*(int *)0); }
-
#undef resetty
int resetty(void)
{ return(*(int *)0); }
@@ -4749,13 +3810,6 @@ int _nc_read_termcap_entry(
/* ./tinfo/setbuf.c */
-#undef _nc_set_buffer_sp
-void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
- NCURSES_BOOL buffered)
- { /* void */ }
-
#undef _nc_set_buffer
void _nc_set_buffer(
FILE *ofp,
@@ -4847,8 +3901,8 @@ char *_nc_trim_sgr0(
/* ./unctrl.c */
-#undef unctrl_sp
-char *unctrl_sp(
+#undef _nc_unctrl
+char *_nc_unctrl(
SCREEN *sp,
chtype ch)
{ return(*(char **)0); }
@@ -4957,6 +4011,25 @@ char *_nc_infotocap(
int const parameterized)
{ return(*(char **)0); }
+/* ./comp_captab.c */
+
+#include <hashsize.h>
+
+#undef _nc_get_table
+const struct name_table_entry *_nc_get_table(
+ NCURSES_BOOL termcap)
+ { return(*(const struct name_table_entry **)0); }
+
+#undef _nc_get_hash_table
+const short *_nc_get_hash_table(
+ NCURSES_BOOL termcap)
+ { return(*(const short **)0); }
+
+#undef _nc_get_alias_table
+const struct alias *_nc_get_alias_table(
+ NCURSES_BOOL termcap)
+ { return(*(const struct alias **)0); }
+
/* ./tinfo/comp_expand.c */
#undef _nc_tic_expand
@@ -4966,6 +4039,21 @@ char *_nc_tic_expand(
int numbers)
{ return(*(char **)0); }
+/* ./tinfo/comp_hash.c */
+
+#undef _nc_find_entry
+struct name_table_entry const *_nc_find_entry(
+ const char *string,
+ const short *hash_table)
+ { return(*(struct name_table_entry const **)0); }
+
+#undef _nc_find_type_entry
+struct name_table_entry const *_nc_find_type_entry(
+ const char *string,
+ int type,
+ const struct name_table_entry *table)
+ { return(*(struct name_table_entry const **)0); }
+
/* ./tinfo/comp_parse.c */
#undef _nc_check_termtype2
@@ -5085,13 +4173,6 @@ int _nc_tic_written(void)
/* ./base/define_key.c */
-#undef define_key_sp
-int define_key_sp(
- SCREEN *sp,
- const char *str,
- int keycode)
- { return(*(int *)0); }
-
#undef define_key
int define_key(
const char *str,
@@ -5106,12 +4187,6 @@ void _nc_hashed_db(void)
/* ./base/key_defined.c */
-#undef key_defined_sp
-int key_defined_sp(
- SCREEN *sp,
- const char *str)
- { return(*(int *)0); }
-
#undef key_defined
int key_defined(
const char *str)
@@ -5119,13 +4194,6 @@ int key_defined(
/* ./base/keybound.c */
-#undef keybound_sp
-char *keybound_sp(
- SCREEN *sp,
- int code,
- int count)
- { return(*(char **)0); }
-
#undef keybound
char *keybound(
int code,
@@ -5134,13 +4202,6 @@ char *keybound(
/* ./base/keyok.c */
-#undef keyok_sp
-int keyok_sp(
- SCREEN *sp,
- int c,
- NCURSES_BOOL flag)
- { return(*(int *)0); }
-
#undef keyok
int keyok(
int c,
diff --git a/ncurses/modules b/ncurses/modules
index caf1799fa87d..f28ef81a3b33 100644
--- a/ncurses/modules
+++ b/ncurses/modules
@@ -1,6 +1,6 @@
-# $Id: modules,v 1.117 2010/08/07 18:41:02 tom Exp $
+# $Id: modules,v 1.112 2007/09/08 22:03:34 tom Exp $
##############################################################################
-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
@@ -32,213 +32,201 @@
@ base
# Library objects
-hardscroll lib $(serial) $(HEADER_DEPS)
-hashmap lib $(serial) $(HEADER_DEPS)
-lib_addch lib $(base) $(HEADER_DEPS)
-lib_addstr lib $(base) $(HEADER_DEPS)
-lib_beep lib $(base) $(HEADER_DEPS)
-lib_bkgd lib $(base) $(HEADER_DEPS)
-lib_box lib $(base) $(HEADER_DEPS)
-lib_chgat lib $(base) $(HEADER_DEPS)
-lib_clear lib $(base) $(HEADER_DEPS)
-lib_clearok lib $(base) $(HEADER_DEPS)
-lib_clrbot lib $(base) $(HEADER_DEPS)
-lib_clreol lib $(base) $(HEADER_DEPS)
-lib_color lib $(base) $(HEADER_DEPS) $(INCDIR)/tic.h
-lib_colorset lib $(base) $(HEADER_DEPS)
-lib_delch lib $(base) $(HEADER_DEPS)
-lib_delwin lib $(base) $(HEADER_DEPS)
-lib_echo lib $(base) $(HEADER_DEPS)
-lib_endwin lib $(base) $(HEADER_DEPS)
-lib_erase lib $(base) $(HEADER_DEPS)
-lib_flash lib $(base) $(HEADER_DEPS)
-lib_gen lib . $(HEADER_DEPS)
-lib_getch lib $(base) $(HEADER_DEPS) $(srcdir)/fifo_defs.h
-lib_getstr lib $(base) $(HEADER_DEPS)
-lib_hline lib $(base) $(HEADER_DEPS)
-lib_immedok lib $(base) $(HEADER_DEPS)
-lib_inchstr lib $(base) $(HEADER_DEPS)
-lib_initscr lib $(base) $(HEADER_DEPS)
-lib_insch lib $(base) $(HEADER_DEPS)
-lib_insdel lib $(base) $(HEADER_DEPS)
-lib_insnstr lib $(base) $(HEADER_DEPS)
-lib_instr lib $(base) $(HEADER_DEPS)
-lib_isendwin lib $(base) $(HEADER_DEPS)
-lib_leaveok lib $(base) $(HEADER_DEPS)
-lib_mouse lib $(base) $(HEADER_DEPS) $(INCDIR)/tic.h
-lib_move lib $(base) $(HEADER_DEPS)
-lib_mvcur lib $(serial) $(HEADER_DEPS) $(INCDIR)/tic.h $(srcdir)/../progs/dump_entry.h
-lib_mvwin lib $(base) $(HEADER_DEPS)
-lib_newterm lib $(base) $(HEADER_DEPS) $(INCDIR)/tic.h
-lib_newwin lib $(base) $(HEADER_DEPS)
-lib_nl lib $(base) $(HEADER_DEPS)
-lib_overlay lib $(base) $(HEADER_DEPS)
-lib_pad lib $(base) $(HEADER_DEPS)
-lib_printw lib $(base) $(HEADER_DEPS)
-lib_redrawln lib $(base) $(HEADER_DEPS)
-lib_refresh lib $(base) $(HEADER_DEPS)
-lib_restart lib $(base) $(HEADER_DEPS)
-lib_scanw lib $(base) $(HEADER_DEPS)
-lib_screen lib $(base) $(HEADER_DEPS)
-lib_scroll lib $(base) $(HEADER_DEPS)
-lib_scrollok lib $(base) $(HEADER_DEPS)
-lib_scrreg lib $(base) $(HEADER_DEPS)
-lib_set_term lib $(base) $(HEADER_DEPS) $(INCDIR)/tic.h
-lib_slk lib $(base) $(HEADER_DEPS)
-lib_slkatr_set lib $(base) $(HEADER_DEPS)
-lib_slkatrof lib $(base) $(HEADER_DEPS)
-lib_slkatron lib $(base) $(HEADER_DEPS)
-lib_slkatrset lib $(base) $(HEADER_DEPS)
-lib_slkattr lib $(base) $(HEADER_DEPS)
-lib_slkclear lib $(base) $(HEADER_DEPS)
-lib_slkcolor lib $(base) $(HEADER_DEPS)
-lib_slkinit lib $(base) $(HEADER_DEPS)
-lib_slklab lib $(base) $(HEADER_DEPS)
-lib_slkrefr lib $(base) $(HEADER_DEPS)
-lib_slkset lib $(base) $(HEADER_DEPS)
-lib_slktouch lib $(base) $(HEADER_DEPS)
-lib_touch lib $(base) $(HEADER_DEPS)
-lib_tracedmp lib $(trace) $(HEADER_DEPS)
-lib_tracemse lib $(trace) $(HEADER_DEPS)
-lib_tstp lib $(serial) $(HEADER_DEPS) $(srcdir)/SigAction.h
-lib_ungetch lib $(base) $(HEADER_DEPS) $(srcdir)/fifo_defs.h
-lib_vidattr lib $(serial) $(HEADER_DEPS)
-lib_vline lib $(base) $(HEADER_DEPS)
-lib_wattroff lib $(base) $(HEADER_DEPS)
-lib_wattron lib $(base) $(HEADER_DEPS)
-lib_winch lib $(base) $(HEADER_DEPS)
-lib_window lib $(base) $(HEADER_DEPS)
-link_test lib . $(HEADER_DEPS)
-nc_panel lib $(base) $(HEADER_DEPS)
-safe_sprintf lib $(base) $(HEADER_DEPS)
-tty_update lib $(serial) $(HEADER_DEPS)
-varargs lib $(trace) $(HEADER_DEPS)
+hardscroll lib $(serial)
+hashmap lib $(serial) ../include/term.h
+lib_addch lib $(base)
+lib_addstr lib $(base)
+lib_beep lib $(base) ../include/term.h
+lib_bkgd lib $(base)
+lib_box lib $(base)
+lib_chgat lib $(base)
+lib_clear lib $(base)
+lib_clearok lib $(base)
+lib_clrbot lib $(base)
+lib_clreol lib $(base)
+lib_color lib $(base) ../include/term.h
+lib_colorset lib $(base)
+lib_delch lib $(base)
+lib_delwin lib $(base)
+lib_echo lib $(base)
+lib_endwin lib $(base) ../include/term.h
+lib_erase lib $(base)
+lib_flash lib $(base) ../include/term.h
+lib_gen lib . ../include/curses.h
+lib_getch lib $(base)
+lib_getstr lib $(base) ../include/term.h
+lib_hline lib $(base)
+lib_immedok lib $(base)
+lib_inchstr lib $(base)
+lib_initscr lib $(base) $(INCDIR)/tic.h
+lib_insch lib $(base)
+lib_insdel lib $(base)
+lib_insnstr lib $(base)
+lib_instr lib $(base)
+lib_isendwin lib $(base)
+lib_leaveok lib $(base)
+lib_mouse lib $(base) ../include/term.h
+lib_move lib $(base)
+lib_mvcur lib $(serial) ../include/term.h $(INCDIR)/tic.h
+lib_mvwin lib $(base)
+lib_newterm lib $(base) ../include/term.h
+lib_newwin lib $(base)
+lib_nl lib $(base)
+lib_overlay lib $(base)
+lib_pad lib $(base)
+lib_printw lib $(base)
+lib_redrawln lib $(base)
+lib_refresh lib $(base)
+lib_restart lib $(base) ../include/term.h
+lib_scanw lib $(base)
+lib_screen lib $(base) ../include/term.h
+lib_scroll lib $(base)
+lib_scrollok lib $(base)
+lib_scrreg lib $(base)
+lib_set_term lib $(base) ../include/term.h
+lib_slk lib $(base) ../include/term.h
+lib_slkatr_set lib $(base)
+lib_slkatrof lib $(base)
+lib_slkatron lib $(base)
+lib_slkatrset lib $(base)
+lib_slkattr lib $(base)
+lib_slkclear lib $(base)
+lib_slkcolor lib $(base)
+lib_slkinit lib $(base)
+lib_slklab lib $(base)
+lib_slkrefr lib $(base) ../include/term.h
+lib_slkset lib $(base)
+lib_slktouch lib $(base)
+lib_touch lib $(base)
+lib_tracedmp lib $(trace)
+lib_tracemse lib $(trace)
+lib_tstp lib $(serial) $(srcdir)/SigAction.h
+lib_ungetch lib $(base)
+lib_vidattr lib $(serial) ../include/term.h
+lib_vline lib $(base)
+lib_wattroff lib $(base)
+lib_wattron lib $(base)
+lib_winch lib $(base)
+lib_window lib $(base)
+link_test lib . ../include/curses.h
+nc_panel lib $(base)
+safe_sprintf lib $(base)
+tty_update lib $(serial) ../include/term.h
+varargs lib $(trace)
# Modules for porting
-memmove lib $(base) $(HEADER_DEPS)
-vsscanf lib $(base) $(HEADER_DEPS)
+memmove lib $(base)
+vsscanf lib $(base)
# actually an extension, but with its own configure option (--disable-leaks)
-lib_freeall lib $(base) $(HEADER_DEPS) $(INCDIR)/tic.h
+lib_freeall lib $(base)
# XSI extensions to the base library (wide-character)
@ widechar
-charable lib $(wide) $(HEADER_DEPS)
-lib_add_wch lib $(wide) $(HEADER_DEPS)
-lib_box_set lib $(wide) $(HEADER_DEPS)
-lib_cchar lib $(wide) $(HEADER_DEPS)
-lib_erasewchar lib $(wide) $(HEADER_DEPS)
-lib_get_wch lib $(wide) $(HEADER_DEPS)
-lib_get_wstr lib $(wide) $(HEADER_DEPS)
-lib_hline_set lib $(wide) $(HEADER_DEPS)
-lib_in_wch lib $(wide) $(HEADER_DEPS)
-lib_in_wchnstr lib $(wide) $(HEADER_DEPS)
-lib_ins_wch lib $(wide) $(HEADER_DEPS)
-lib_inwstr lib $(wide) $(HEADER_DEPS)
-lib_key_name lib $(wide) $(HEADER_DEPS)
-lib_pecho_wchar lib $(wide) $(HEADER_DEPS)
-lib_slk_wset lib $(wide) $(HEADER_DEPS)
-lib_unget_wch lib $(wide) $(HEADER_DEPS)
-lib_vid_attr lib $(wide) $(HEADER_DEPS)
-lib_vline_set lib $(wide) $(HEADER_DEPS)
-lib_wacs lib $(wide) $(HEADER_DEPS)
-lib_wunctrl lib $(wide) $(HEADER_DEPS)
+charable lib $(wide)
+lib_add_wch lib $(wide)
+lib_box_set lib $(wide)
+lib_cchar lib $(wide)
+lib_erasewchar lib $(wide)
+lib_get_wch lib $(wide)
+lib_get_wstr lib $(wide)
+lib_hline_set lib $(wide)
+lib_in_wch lib $(wide)
+lib_in_wchnstr lib $(wide)
+lib_ins_wch lib $(wide)
+lib_inwstr lib $(wide)
+lib_key_name lib $(wide)
+lib_pecho_wchar lib $(wide)
+lib_slk_wset lib $(wide)
+lib_unget_wch lib $(wide)
+lib_vid_attr lib $(wide) ../include/term.h
+lib_vline_set lib $(wide)
+lib_wacs lib $(wide)
+lib_wunctrl lib $(wide)
# Extensions to the base library
@ ext_funcs
-expanded lib . $(HEADER_DEPS)
-legacy_coding lib $(base) $(HEADER_DEPS)
-lib_dft_fgbg lib $(base) $(HEADER_DEPS)
-lib_print lib $(tinfo) $(HEADER_DEPS)
-resizeterm lib $(base) $(HEADER_DEPS)
-trace_xnames lib $(trace) $(HEADER_DEPS)
-use_screen lib $(tinfo) $(HEADER_DEPS)
-use_window lib $(base) $(HEADER_DEPS)
-wresize lib $(base) $(HEADER_DEPS)
+expanded lib .
+legacy_coding lib $(base) ../include/term.h
+lib_dft_fgbg lib $(base) ../include/term.h
+lib_print lib $(tinfo) ../include/term.h
+resizeterm lib $(base) ../include/term.h
+trace_xnames lib $(trace) ../include/term.h $(INCDIR)/term_entry.h
+use_screen lib $(tinfo)
+use_window lib $(base)
+wresize lib $(base) ../include/term.h
# Support for termcap (and tic, etc.), which can be a separate library
@ termlib
-access lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-add_tries lib $(tinfo) $(HEADER_DEPS)
-alloc_ttype lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-codes lib . $(HEADER_DEPS)
-comp_captab lib . $(HEADER_DEPS) $(INCDIR)/tic.h ../include/hashsize.h
-comp_error lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-comp_hash lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h ../include/hashsize.h
-db_iterator lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-doalloc lib $(tinfo) $(HEADER_DEPS)
-entries lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-fallback lib . $(HEADER_DEPS)
-free_ttype lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-getenv_num lib $(tinfo) $(HEADER_DEPS)
-home_terminfo lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-init_keytry lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h init_keytry.h
-lib_acs lib $(tinfo) $(HEADER_DEPS)
-lib_baudrate lib $(tinfo) $(HEADER_DEPS) ../include/termcap.h
-lib_cur_term lib $(tinfo) $(HEADER_DEPS) ../include/termcap.h
-lib_data lib $(tinfo) $(HEADER_DEPS)
-lib_has_cap lib $(tinfo) $(HEADER_DEPS)
-lib_kernel lib $(tinfo) $(HEADER_DEPS)
-lib_keyname lib . $(HEADER_DEPS) $(INCDIR)/tic.h
-lib_longname lib $(tinfo) $(HEADER_DEPS)
-lib_napms lib $(tinfo) $(HEADER_DEPS)
-lib_options lib $(tinfo) $(HEADER_DEPS)
-lib_raw lib $(tinfo) $(HEADER_DEPS)
-lib_setup lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-lib_termcap lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h ../include/termcap.h $(INCDIR)/capdefaults.c
-lib_termname lib $(tinfo) $(HEADER_DEPS)
-lib_tgoto lib $(tinfo) $(HEADER_DEPS) ../include/termcap.h
-lib_ti lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-lib_tparm lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-lib_tputs lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h ../include/termcap.h
-lib_trace lib $(trace) $(HEADER_DEPS) $(INCDIR)/tic.h
-lib_traceatr lib $(trace) $(HEADER_DEPS)
-lib_tracebits lib $(trace) $(HEADER_DEPS)
-lib_tracechr lib $(trace) $(HEADER_DEPS)
-lib_ttyflags lib $(tinfo) $(HEADER_DEPS)
-lib_twait lib $(serial) $(HEADER_DEPS)
-name_match lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-names lib . $(HEADER_DEPS)
-read_entry lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h $(INCDIR)/hashed_db.h
-read_termcap lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-setbuf lib $(tinfo) $(HEADER_DEPS)
-strings lib $(tinfo) $(HEADER_DEPS)
-trace_buf lib $(trace) $(HEADER_DEPS)
-trace_tries lib $(trace) $(HEADER_DEPS)
-tries lib $(base) $(HEADER_DEPS)
-trim_sgr0 lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-unctrl lib . $(HEADER_DEPS)
-visbuf lib $(trace) $(HEADER_DEPS) $(INCDIR)/tic.h
+access lib $(tinfo)
+add_tries lib $(tinfo)
+alloc_ttype lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
+codes lib .
+comp_error lib $(tinfo) $(INCDIR)/tic.h
+db_iterator lib $(tinfo) $(INCDIR)/tic.h
+doalloc lib $(tinfo)
+entries lib $(tinfo) ../include/term.h $(INCDIR)/tic.h
+fallback lib . ../include/term.h $(INCDIR)/tic.h
+free_ttype lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
+getenv_num lib $(tinfo)
+home_terminfo lib $(tinfo)
+init_keytry lib $(tinfo) ../include/term.h $(INCDIR)/tic.h init_keytry.h
+lib_acs lib $(tinfo) ../include/term.h
+lib_baudrate lib $(tinfo) ../include/term.h
+lib_cur_term lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h
+lib_data lib $(tinfo)
+lib_has_cap lib $(tinfo) ../include/term.h
+lib_kernel lib $(tinfo) ../include/term.h
+lib_keyname lib . ../include/term.h
+lib_longname lib $(tinfo)
+lib_napms lib $(tinfo)
+lib_options lib $(tinfo) ../include/term.h
+lib_raw lib $(tinfo) ../include/term.h
+lib_setup lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h
+lib_termcap lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h $(INCDIR)/capdefaults.c
+lib_termname lib $(tinfo) $(INCDIR)/tic.h
+lib_tgoto lib $(tinfo) ../include/term.h $(INCDIR)/tic.h
+lib_ti lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
+lib_tparm lib $(tinfo) ../include/term.h $(INCDIR)/tic.h
+lib_tputs lib $(tinfo) ../include/term.h $(INCDIR)/tic.h
+lib_trace lib $(trace) $(INCDIR)/tic.h
+lib_traceatr lib $(trace) ../include/term.h
+lib_tracebits lib $(trace) ../include/term.h
+lib_tracechr lib $(trace)
+lib_ttyflags lib $(tinfo) ../include/term.h
+lib_twait lib $(serial)
+name_match lib $(tinfo) ../include/term.h $(INCDIR)/tic.h
+names lib .
+read_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
+read_termcap lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
+setbuf lib $(tinfo)
+strings lib $(tinfo)
+trace_buf lib $(trace)
+trace_tries lib $(trace)
+tries lib $(base)
+trim_sgr0 lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
+unctrl lib .
+visbuf lib $(trace) $(INCDIR)/tic.h
# Modules used only for tic, other programs using internal interfaces
@ ticlib
-alloc_entry lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-captoinfo lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-comp_expand lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-comp_parse lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-comp_scan lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
-parse_entry lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h ../include/parametrized.h
-write_entry lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h $(INCDIR)/hashed_db.h
+alloc_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
+captoinfo lib $(tinfo) $(INCDIR)/tic.h
+comp_captab lib . $(INCDIR)/tic.h ../include/term.h ../include/hashsize.h
+comp_expand lib $(tinfo) $(INCDIR)/tic.h
+comp_hash lib $(tinfo) ../include/term.h $(INCDIR)/tic.h ../include/hashsize.h
+comp_parse lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
+comp_scan lib $(tinfo) $(INCDIR)/tic.h
+parse_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h ../include/parametrized.h $(INCDIR)/capdefaults.c
+write_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
# Extensions to the termlib library
@ ext_tinfo
-define_key lib $(base) $(HEADER_DEPS)
-hashed_db lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h $(INCDIR)/hashed_db.h
-key_defined lib $(base) $(HEADER_DEPS)
-keybound lib $(base) $(HEADER_DEPS)
-keyok lib $(base) $(HEADER_DEPS)
-version lib $(base) $(HEADER_DEPS)
-
-# Porting
-@ port_drivers
-lib_driver lib $(base) $(HEADER_DEPS)
-
-@ port_win32con
-gettimeofday lib $(win32con) $(HEADER_DEPS)
-wcwidth lib $(win32con) $(HEADER_DEPS)
-win_driver lib $(win32con) $(HEADER_DEPS)
-
-@ port_tinfo
-tinfo_driver lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
+define_key lib $(base)
+hashed_db lib $(tinfo)
+key_defined lib $(base)
+keybound lib $(base)
+keyok lib $(base)
+version lib $(base)
# vile:makemode
diff --git a/ncurses/tinfo/MKcaptab.sh b/ncurses/tinfo/MKcaptab.sh
index 4d1b53a5bd9a..98c04e884309 100644
--- a/ncurses/tinfo/MKcaptab.sh
+++ b/ncurses/tinfo/MKcaptab.sh
@@ -1,6 +1,6 @@
#!/bin/sh
##############################################################################
-# Copyright (c) 2007-2009,2010 Free Software Foundation, Inc. #
+# Copyright (c) 2007 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
@@ -26,19 +26,12 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: MKcaptab.sh,v 1.13 2010/12/25 23:43:58 tom Exp $
+# $Id: MKcaptab.sh,v 1.8 2007/08/12 13:13:51 tom Exp $
AWK=${1-awk}
OPT1=${2-0}
OPT2=${3-tinfo/MKcaptab.awk}
DATA=${4-../include/Caps}
-cat <<EOF
-/*
- * generated by $0
- */
-
-EOF
-
cat <<'EOF'
/*
* comp_captab.c -- The names of the capabilities indexed via a hash
@@ -55,7 +48,7 @@ EOF
./make_hash 1 info $OPT1 <$DATA
./make_hash 3 cap $OPT1 <$DATA
-$AWK -f $OPT2 bigstrings=$OPT1 tablename=capalias <$DATA
+$AWK -f $OPT2 bigstrings=$OPT1 tablename=capalias <$DATA
$AWK -f $OPT2 bigstrings=$OPT1 tablename=infoalias <$DATA
@@ -65,7 +58,7 @@ cat <<EOF
static void
next_string(const char *strings, unsigned *offset)
{
- *offset += (unsigned) strlen(strings + *offset) + 1;
+ *offset += strlen(strings + *offset) + 1;
}
static const struct name_table_entry *
@@ -73,21 +66,21 @@ _nc_build_names(struct name_table_entry **actual,
const name_table_data *source,
const char *strings)
{
- if (*actual == 0) {
- *actual = typeCalloc(struct name_table_entry, CAPTABSIZE);
- if (*actual != 0) {
- unsigned n;
- unsigned len = 0;
- for (n = 0; n < CAPTABSIZE; ++n) {
- (*actual)[n].nte_name = strings + len;
- (*actual)[n].nte_type = source[n].nte_type;
- (*actual)[n].nte_index = source[n].nte_index;
- (*actual)[n].nte_link = source[n].nte_link;
- next_string(strings, &len);
- }
+ if (*actual == 0) {
+ *actual = typeCalloc(struct name_table_entry, CAPTABSIZE);
+ if (*actual != 0) {
+ unsigned n;
+ unsigned len = 0;
+ for (n = 0; n < CAPTABSIZE; ++n) {
+ (*actual)[n].nte_name = strings + len;
+ (*actual)[n].nte_type = source[n].nte_type;
+ (*actual)[n].nte_index = source[n].nte_index;
+ (*actual)[n].nte_link = source[n].nte_link;
+ next_string(strings, &len);
+ }
+ }
}
- }
- return *actual;
+ return *actual;
}
#define add_alias(field) \\
@@ -101,18 +94,18 @@ _nc_build_alias(struct alias **actual,
const char *strings,
unsigned tablesize)
{
- if (*actual == 0) {
- *actual = typeCalloc(struct alias, tablesize + 1);
- if (*actual != 0) {
- unsigned n;
- for (n = 0; n < tablesize; ++n) {
- add_alias(from);
- add_alias(to);
- add_alias(source);
- }
+ if (*actual == 0) {
+ *actual = typeCalloc(struct alias, tablesize + 1);
+ if (*actual != 0) {
+ unsigned n;
+ for (n = 0; n < tablesize; ++n) {
+ add_alias(from);
+ add_alias(to);
+ add_alias(source);
+ }
+ }
}
- }
- return *actual;
+ return *actual;
}
#define build_names(root) _nc_build_names(&_nc_##root##_table, \\
@@ -129,82 +122,27 @@ _nc_build_alias(struct alias **actual,
NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool termcap)
{
- return termcap ? build_names(cap) : build_names(info) ;
+ return termcap ? build_names(cap) : build_names(info) ;
}
-/* entrypoint used by tack (do not alter) */
-NCURSES_EXPORT(const HashValue *) _nc_get_hash_table (bool termcap)
+NCURSES_EXPORT(const short *) _nc_get_hash_table (bool termcap)
{
- return termcap ? _nc_cap_hash_table: _nc_info_hash_table ;
+ return termcap ? _nc_cap_hash_table: _nc_info_hash_table ;
}
NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool termcap)
{
- return termcap ? build_alias(cap) : build_alias(info) ;
-}
-
-static HashValue
-info_hash(const char *string)
-{
- long sum = 0;
-
- DEBUG(9, ("hashing %s", string));
- while (*string) {
- sum += (long) (*string + (*(string + 1) << 8));
- string++;
- }
-
- DEBUG(9, ("sum is %ld", sum));
- return (HashValue) (sum % HASHTABSIZE);
-}
-
-#define TCAP_LEN 2 /* only 1- or 2-character names are used */
-
-static HashValue
-tcap_hash(const char *string)
-{
- char temp[TCAP_LEN + 1];
- int limit = 0;
-
- while (*string) {
- temp[limit++] = *string++;
- if (limit >= TCAP_LEN)
- break;
- }
- temp[limit] = '\0';
- return info_hash(temp);
-}
-
-static int
-compare_tcap_names(const char *a, const char *b)
-{
- return !strncmp(a, b, TCAP_LEN);
-}
-
-static int
-compare_info_names(const char *a, const char *b)
-{
- return !strcmp(a, b);
-}
-
-static const HashData hash_data[2] = {
- { HASHTABSIZE, _nc_info_hash_table, info_hash, compare_info_names },
- { HASHTABSIZE, _nc_cap_hash_table, tcap_hash, compare_tcap_names }
-};
-
-NCURSES_EXPORT(const HashData *) _nc_get_hash_info (bool termcap)
-{
- return &hash_data[(termcap != FALSE)];
+ return termcap ? build_alias(cap) : build_alias(info) ;
}
#if NO_LEAKS
NCURSES_EXPORT(void) _nc_comp_captab_leaks(void)
{
#if $OPT1
- FreeIfNeeded(_nc_cap_table);
- FreeIfNeeded(_nc_info_table);
- FreeIfNeeded(_nc_capalias_table);
- FreeIfNeeded(_nc_infoalias_table);
+ FreeIfNeeded(_nc_cap_table);
+ FreeIfNeeded(_nc_info_table);
+ FreeIfNeeded(_nc_capalias_table);
+ FreeIfNeeded(_nc_infoalias_table);
#endif
}
#endif /* NO_LEAKS */
diff --git a/ncurses/tinfo/MKcodes.awk b/ncurses/tinfo/MKcodes.awk
index 97e5131ba07c..b9ba636e0ccd 100644
--- a/ncurses/tinfo/MKcodes.awk
+++ b/ncurses/tinfo/MKcodes.awk
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
+# Copyright (c) 1998-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 "Software"), #
@@ -25,7 +25,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: MKcodes.awk,v 1.9 2010/01/23 17:57:43 tom Exp $
+# $Id: MKcodes.awk,v 1.5 2008/06/28 23:13:25 tom Exp $
function large_item(value) {
result = sprintf("%d,", offset);
offset = offset + length(value) + 1;
@@ -101,6 +101,8 @@ END {
print ""
print "#if BROKEN_LINKER || USE_REENTRANT"
print ""
+ print "#include <term.h>"
+ print ""
if (bigstrings) {
printf "static const char _nc_code_blob[] = \n"
printf "%s;\n", bigstr;
@@ -115,39 +117,28 @@ END {
print " if ((*value = typeCalloc(NCURSES_CONST char *, size + 1)) != 0) {"
print " unsigned n;"
print " for (n = 0; n < size; ++n) {"
- print " (*value)[n] = (NCURSES_CONST char *) _nc_code_blob + offsets[n];"
+ print " (*value)[n] = _nc_code_blob + offsets[n];"
print " }"
print " }"
print " }"
print " return *value;"
print "}"
print ""
- print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API NCURSES_PUBLIC_VAR(it)(void) { return alloc_array(&ptr_##it, _nc_offset_##it, SIZEOF(_nc_offset_##it)); }"
+ print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return alloc_array(&ptr_##it, _nc_offset_##it, SIZEOF(_nc_offset_##it)); }"
} else {
print "#define DCL(it) static IT data##it[]"
print ""
print_strings("boolcodes", small_boolcodes);
print_strings("numcodes", small_numcodes);
print_strings("strcodes", small_strcodes);
- print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API NCURSES_PUBLIC_VAR(it)(void) { return data##it; }"
+ print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return data##it; }"
}
print ""
- print "/* remove public definition which conflicts with FIX() */"
- print "#undef boolcodes"
- print "#undef numcodes"
- print "#undef strcodes"
- print ""
- print "/* add local definition */"
print "FIX(boolcodes)"
print "FIX(numcodes)"
print "FIX(strcodes)"
print ""
- print "/* restore the public definition */"
- print ""
print "#define FREE_FIX(it) if (ptr_##it) { FreeAndNull(ptr_##it); }"
- print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())"
- print "#define numcodes NCURSES_PUBLIC_VAR(numcodes())"
- print "#define strcodes NCURSES_PUBLIC_VAR(strcodes())"
print ""
print "#if NO_LEAKS"
print "NCURSES_EXPORT(void)"
diff --git a/ncurses/tinfo/MKfallback.sh b/ncurses/tinfo/MKfallback.sh
index 11f1d2ead138..9feab3507cc0 100755
--- a/ncurses/tinfo/MKfallback.sh
+++ b/ncurses/tinfo/MKfallback.sh
@@ -1,6 +1,6 @@
#!/bin/sh
##############################################################################
-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2001,2006 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"), #
@@ -26,7 +26,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: MKfallback.sh,v 1.15 2010/08/07 20:32:34 tom Exp $
+# $Id: MKfallback.sh,v 1.13 2006/07/15 16:54:20 tom Exp $
#
# MKfallback.sh -- create fallback table for entry reads
#
@@ -42,17 +42,6 @@ shift
terminfo_src=$1
shift
-tic_path=$1
-shift
-
-case $tic_path in #(vi
-/*)
- tic_head=`echo "$tic_path" | sed -e 's,/[^/]*$,,'`
- PATH=$tic_head:$PATH
- export PATH
- ;;
-esac
-
if test $# != 0 ; then
tmp_info=tmp_info
echo creating temporary terminfo directory... >&2
@@ -63,7 +52,7 @@ if test $# != 0 ; then
TERMINFO_DIRS=$TERMINFO:$terminfo_dir
export TERMINFO_DIRS
- $tic_path -x $terminfo_src >&2
+ tic -x $terminfo_src >&2
else
tmp_info=
fi
@@ -74,6 +63,7 @@ cat <<EOF
*/
#include <curses.priv.h>
+#include <term.h>
EOF
diff --git a/ncurses/tinfo/MKnames.awk b/ncurses/tinfo/MKnames.awk
index 7685d1831ef0..7e5074480864 100644
--- a/ncurses/tinfo/MKnames.awk
+++ b/ncurses/tinfo/MKnames.awk
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2007-2008,2009 Free Software Foundation, Inc. #
+# Copyright (c) 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 "Software"), #
@@ -25,7 +25,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: MKnames.awk,v 1.22 2009/03/21 21:03:39 tom Exp $
+# $Id: MKnames.awk,v 1.20 2008/10/11 21:07:56 tom Exp $
function large_item(value) {
result = sprintf("%d,", offset);
offset = offset + length(value) + 1;
@@ -107,6 +107,8 @@ END {
print ""
print "#if BROKEN_LINKER || USE_REENTRANT"
print ""
+ print "#include <term.h>"
+ print ""
if (bigstrings) {
printf "static const char _nc_name_blob[] = \n"
printf "%s;\n", bigstr;
@@ -131,7 +133,7 @@ END {
print " return *value;"
print "}"
print ""
- print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API NCURSES_PUBLIC_VAR(it)(void) { return alloc_array(&ptr_##it, _nc_offset_##it, SIZEOF(_nc_offset_##it)); }"
+ print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return alloc_array(&ptr_##it, _nc_offset_##it, SIZEOF(_nc_offset_##it)); }"
} else {
print "#define DCL(it) static IT data##it[]"
print ""
@@ -141,18 +143,9 @@ END {
print_strings("numfnames", small_numfnames);
print_strings("strnames", small_strnames);
print_strings("strfnames", small_strfnames);
- print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API NCURSES_PUBLIC_VAR(it)(void) { return data##it; }"
+ print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return data##it; }"
}
print ""
- print "/* remove public definition which conflicts with FIX() */"
- print "#undef boolnames"
- print "#undef boolfnames"
- print "#undef numnames"
- print "#undef numfnames"
- print "#undef strnames"
- print "#undef strfnames"
- print ""
- print "/* add local definition */"
print "FIX(boolnames)"
print "FIX(boolfnames)"
print "FIX(numnames)"
@@ -160,13 +153,6 @@ END {
print "FIX(strnames)"
print "FIX(strfnames)"
print ""
- print "/* restore the public definition */"
- print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())"
- print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
- print "#define numnames NCURSES_PUBLIC_VAR(numnames())"
- print "#define numfnames NCURSES_PUBLIC_VAR(numfnames())"
- print "#define strnames NCURSES_PUBLIC_VAR(strnames())"
- print "#define strfnames NCURSES_PUBLIC_VAR(strfnames())"
print ""
print "#define FREE_FIX(it) if (ptr_##it) { FreeAndNull(ptr_##it); }"
print ""
diff --git a/ncurses/tinfo/access.c b/ncurses/tinfo/access.c
index 87c4f462fd4f..ce8ccdac53f6 100644
--- a/ncurses/tinfo/access.c
+++ b/ncurses/tinfo/access.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -36,8 +36,9 @@
#include <sys/stat.h>
#include <tic.h>
+#include <nc_alloc.h>
-MODULE_ID("$Id: access.c,v 1.16 2010/01/23 17:57:43 tom Exp $")
+MODULE_ID("$Id: access.c,v 1.14 2007/11/18 00:57:53 tom Exp $")
#define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
@@ -96,7 +97,7 @@ _nc_pathlast(const char *path)
test = path;
else
test++;
- return (unsigned) (test - path);
+ return (test - path);
}
NCURSES_EXPORT(char *)
diff --git a/ncurses/tinfo/add_tries.c b/ncurses/tinfo/add_tries.c
index 29a1a60045b5..455d142edc8e 100644
--- a/ncurses/tinfo/add_tries.c
+++ b/ncurses/tinfo/add_tries.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2006 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>
-MODULE_ID("$Id: add_tries.c,v 1.10 2010/12/19 01:31:14 tom Exp $")
+MODULE_ID("$Id: add_tries.c,v 1.8 2006/12/30 23:15:26 tom Exp $")
#define SET_TRY(dst,src) if ((dst->ch = *src++) == 128) dst->ch = '\0'
#define CMP_TRY(a,b) ((a)? (a == b) : (b == 128))
@@ -50,8 +50,7 @@ _nc_add_to_try(TRIES ** tree, const char *str, unsigned code)
TRIES *ptr, *savedptr;
unsigned const char *txt = (unsigned const char *) str;
- T((T_CALLED("_nc_add_to_try(%p, %s, %u)"),
- (void *) *tree, _nc_visbuf(str), code));
+ T((T_CALLED("_nc_add_to_try(%p, %s, %u)"), *tree, _nc_visbuf(str), code));
if (txt == 0 || *txt == '\0' || code == 0)
returnCode(ERR);
@@ -67,7 +66,7 @@ _nc_add_to_try(TRIES ** tree, const char *str, unsigned code)
if (CMP_TRY(ptr->ch, cmp)) {
if (*(++txt) == '\0') {
- ptr->value = (unsigned short) code;
+ ptr->value = code;
returnCode(OK);
}
if (ptr->child != 0)
@@ -116,6 +115,6 @@ _nc_add_to_try(TRIES ** tree, const char *str, unsigned code)
ptr->value = 0;
}
- ptr->value = (unsigned short) code;
+ ptr->value = code;
returnCode(OK);
}
diff --git a/ncurses/tinfo/alloc_entry.c b/ncurses/tinfo/alloc_entry.c
index 506fb386d208..4638e99c4d58 100644
--- a/ncurses/tinfo/alloc_entry.c
+++ b/ncurses/tinfo/alloc_entry.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,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 *
@@ -46,8 +46,9 @@
#include <curses.priv.h>
#include <tic.h>
+#include <term_entry.h>
-MODULE_ID("$Id: alloc_entry.c,v 1.51 2010/12/25 23:06:01 tom Exp $")
+MODULE_ID("$Id: alloc_entry.c,v 1.48 2008/08/16 16:25:31 tom Exp $")
#define ABSENT_OFFSET -1
#define CANCELLED_OFFSET -2
@@ -64,10 +65,8 @@ _nc_init_entry(TERMTYPE *const tp)
unsigned i;
#if NO_LEAKS
- if (tp == 0) {
- if (stringbuf != 0) {
- FreeAndNull(stringbuf);
- }
+ if (tp == 0 && stringbuf != 0) {
+ FreeAndNull(stringbuf);
return;
}
#endif
@@ -182,7 +181,7 @@ _nc_wrap_entry(ENTRY * const ep, bool copy_strings)
} else if (tp->Strings[i] == CANCELLED_STRING) {
offsets[i] = CANCELLED_OFFSET;
} else {
- offsets[i] = (int) (tp->Strings[i] - stringbuf);
+ offsets[i] = tp->Strings[i] - stringbuf;
}
}
}
@@ -191,7 +190,7 @@ _nc_wrap_entry(ENTRY * const ep, bool copy_strings)
if (ep->uses[i].name == 0)
useoffsets[i] = ABSENT_OFFSET;
else
- useoffsets[i] = (int) (ep->uses[i].name - stringbuf);
+ useoffsets[i] = ep->uses[i].name - stringbuf;
}
if ((tp->str_table = typeMalloc(char, next_free)) == (char *) 0)
@@ -215,10 +214,10 @@ _nc_wrap_entry(ENTRY * const ep, bool copy_strings)
if (!copy_strings) {
if ((n = (unsigned) NUM_EXT_NAMES(tp)) != 0) {
if (n < SIZEOF(offsets)) {
- size_t length = 0;
+ unsigned length = 0;
for (i = 0; i < n; i++) {
length += strlen(tp->ext_Names[i]) + 1;
- offsets[i] = (int) (tp->ext_Names[i] - stringbuf);
+ offsets[i] = tp->ext_Names[i] - stringbuf;
}
if ((tp->ext_str_table = typeMalloc(char, length)) == 0)
_nc_err_abort(MSG_NO_MEMORY);
diff --git a/ncurses/tinfo/alloc_ttype.c b/ncurses/tinfo/alloc_ttype.c
index b02cb9c6010e..b2b06d1b79ce 100644
--- a/ncurses/tinfo/alloc_ttype.c
+++ b/ncurses/tinfo/alloc_ttype.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1999-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2006,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 *
@@ -41,8 +41,9 @@
#include <curses.priv.h>
#include <tic.h>
+#include <term_entry.h>
-MODULE_ID("$Id: alloc_ttype.c,v 1.22 2010/12/19 00:24:09 tom Exp $")
+MODULE_ID("$Id: alloc_ttype.c,v 1.17 2008/10/12 16:12:00 tom Exp $")
#if NCURSES_XNAMES
/*
@@ -90,9 +91,6 @@ find_name(char **table, int length, char *name)
return FALSE;
}
-#define EXTEND_NUM(num, ext) \
- to->num = (unsigned short) (to->num + (ext - to->ext))
-
static void
realign_data(TERMTYPE *to, char **ext_Names,
int ext_Booleans,
@@ -103,7 +101,7 @@ realign_data(TERMTYPE *to, char **ext_Names,
int limit = (to->ext_Booleans + to->ext_Numbers + to->ext_Strings);
if (to->ext_Booleans != ext_Booleans) {
- EXTEND_NUM(num_Booleans, ext_Booleans);
+ to->num_Booleans += (ext_Booleans - to->ext_Booleans);
to->Booleans = typeRealloc(NCURSES_SBOOL, to->num_Booleans, to->Booleans);
for (n = to->ext_Booleans - 1,
m = ext_Booleans - 1,
@@ -114,10 +112,10 @@ realign_data(TERMTYPE *to, char **ext_Names,
to->Booleans[base + m] = FALSE;
}
}
- to->ext_Booleans = UShort(ext_Booleans);
+ to->ext_Booleans = ext_Booleans;
}
if (to->ext_Numbers != ext_Numbers) {
- EXTEND_NUM(num_Numbers, ext_Numbers);
+ to->num_Numbers += (ext_Numbers - to->ext_Numbers);
to->Numbers = typeRealloc(short, to->num_Numbers, to->Numbers);
for (n = to->ext_Numbers - 1,
m = ext_Numbers - 1,
@@ -128,10 +126,10 @@ realign_data(TERMTYPE *to, char **ext_Names,
to->Numbers[base + m] = ABSENT_NUMERIC;
}
}
- to->ext_Numbers = UShort(ext_Numbers);
+ to->ext_Numbers = ext_Numbers;
}
if (to->ext_Strings != ext_Strings) {
- EXTEND_NUM(num_Strings, ext_Strings);
+ to->num_Strings += (ext_Strings - to->ext_Strings);
to->Strings = typeRealloc(char *, to->num_Strings, to->Strings);
for (n = to->ext_Strings - 1,
m = ext_Strings - 1,
@@ -142,17 +140,17 @@ realign_data(TERMTYPE *to, char **ext_Names,
to->Strings[base + m] = ABSENT_STRING;
}
}
- to->ext_Strings = UShort(ext_Strings);
+ to->ext_Strings = ext_Strings;
}
}
/*
* Returns the first index in ext_Names[] for the given token-type
*/
-static unsigned
+static int
_nc_first_ext_name(TERMTYPE *tp, int token_type)
{
- unsigned first;
+ int first;
switch (token_type) {
case BOOLEAN:
@@ -162,7 +160,7 @@ _nc_first_ext_name(TERMTYPE *tp, int token_type)
first = tp->ext_Booleans;
break;
case STRING:
- first = (unsigned) (tp->ext_Booleans + tp->ext_Numbers);
+ first = tp->ext_Booleans + tp->ext_Numbers;
break;
default:
first = 0;
@@ -174,17 +172,17 @@ _nc_first_ext_name(TERMTYPE *tp, int token_type)
/*
* Returns the last index in ext_Names[] for the given token-type
*/
-static unsigned
+static int
_nc_last_ext_name(TERMTYPE *tp, int token_type)
{
- unsigned last;
+ int last;
switch (token_type) {
case BOOLEAN:
last = tp->ext_Booleans;
break;
case NUMBER:
- last = (unsigned) (tp->ext_Booleans + tp->ext_Numbers);
+ last = tp->ext_Booleans + tp->ext_Numbers;
break;
default:
case STRING:
@@ -206,7 +204,7 @@ _nc_find_ext_name(TERMTYPE *tp, char *name, int token_type)
for (j = first; j < last; j++) {
if (!strcmp(name, tp->ext_Names[j])) {
- return (int) j;
+ return j;
}
}
return -1;
@@ -246,7 +244,7 @@ _nc_del_ext_name(TERMTYPE *tp, char *name, int token_type)
int first, last;
if ((first = _nc_find_ext_name(tp, name, token_type)) >= 0) {
- last = (int) NUM_EXT_NAMES(tp) - 1;
+ last = NUM_EXT_NAMES(tp) - 1;
for (j = first; j < last; j++) {
tp->ext_Names[j] = tp->ext_Names[j + 1];
}
@@ -256,22 +254,22 @@ _nc_del_ext_name(TERMTYPE *tp, char *name, int token_type)
last = tp->num_Booleans - 1;
for (j = first; j < last; j++)
tp->Booleans[j] = tp->Booleans[j + 1];
- tp->ext_Booleans--;
- tp->num_Booleans--;
+ tp->ext_Booleans -= 1;
+ tp->num_Booleans -= 1;
break;
case NUMBER:
last = tp->num_Numbers - 1;
for (j = first; j < last; j++)
tp->Numbers[j] = tp->Numbers[j + 1];
- tp->ext_Numbers--;
- tp->num_Numbers--;
+ tp->ext_Numbers -= 1;
+ tp->num_Numbers -= 1;
break;
case STRING:
last = tp->num_Strings - 1;
for (j = first; j < last; j++)
tp->Strings[j] = tp->Strings[j + 1];
- tp->ext_Strings--;
- tp->num_Strings--;
+ tp->ext_Strings -= 1;
+ tp->num_Strings -= 1;
break;
}
return TRUE;
@@ -305,32 +303,32 @@ _nc_ins_ext_name(TERMTYPE *tp, char *name, int token_type)
for (k = total - 1; k > j; k--)
tp->ext_Names[k] = tp->ext_Names[k - 1];
tp->ext_Names[j] = name;
- j = (unsigned) _nc_ext_data_index(tp, (int) j, token_type);
+ j = _nc_ext_data_index(tp, (int) j, token_type);
switch (token_type) {
case BOOLEAN:
- tp->ext_Booleans++;
- tp->num_Booleans++;
+ tp->ext_Booleans += 1;
+ tp->num_Booleans += 1;
tp->Booleans = typeRealloc(NCURSES_SBOOL, tp->num_Booleans, tp->Booleans);
- for (k = (unsigned) (tp->num_Booleans - 1); k > j; k--)
+ for (k = tp->num_Booleans - 1; k > j; k--)
tp->Booleans[k] = tp->Booleans[k - 1];
break;
case NUMBER:
- tp->ext_Numbers++;
- tp->num_Numbers++;
+ tp->ext_Numbers += 1;
+ tp->num_Numbers += 1;
tp->Numbers = typeRealloc(short, tp->num_Numbers, tp->Numbers);
- for (k = (unsigned) (tp->num_Numbers - 1); k > j; k--)
+ for (k = tp->num_Numbers - 1; k > j; k--)
tp->Numbers[k] = tp->Numbers[k - 1];
break;
case STRING:
- tp->ext_Strings++;
- tp->num_Strings++;
+ tp->ext_Strings += 1;
+ tp->num_Strings += 1;
tp->Strings = typeRealloc(char *, tp->num_Strings, tp->Strings);
- for (k = (unsigned) (tp->num_Strings - 1); k > j; k--)
+ for (k = tp->num_Strings - 1; k > j; k--)
tp->Strings[k] = tp->Strings[k - 1];
break;
}
- return (int) j;
+ return j;
}
/*
@@ -347,10 +345,10 @@ adjust_cancels(TERMTYPE *to, TERMTYPE *from)
for (j = first; j < last;) {
char *name = to->ext_Names[j];
- int j_str = to->num_Strings - first - to->ext_Strings;
+ unsigned j_str = to->num_Strings - first - to->ext_Strings;
if (to->Strings[j + j_str] == CANCELLED_STRING) {
- if (_nc_find_ext_name(from, to->ext_Names[j], BOOLEAN) >= 0) {
+ if ((k = _nc_find_ext_name(from, to->ext_Names[j], BOOLEAN)) >= 0) {
if (_nc_del_ext_name(to, name, STRING)
|| _nc_del_ext_name(to, name, NUMBER)) {
k = _nc_ins_ext_name(to, name, BOOLEAN);
@@ -358,7 +356,8 @@ adjust_cancels(TERMTYPE *to, TERMTYPE *from)
} else {
j++;
}
- } else if (_nc_find_ext_name(from, to->ext_Names[j], NUMBER) >= 0) {
+ } else if ((k = _nc_find_ext_name(from, to->ext_Names[j],
+ NUMBER)) >= 0) {
if (_nc_del_ext_name(to, name, STRING)
|| _nc_del_ext_name(to, name, BOOLEAN)) {
k = _nc_ins_ext_name(to, name, NUMBER);
@@ -366,7 +365,8 @@ adjust_cancels(TERMTYPE *to, TERMTYPE *from)
} else {
j++;
}
- } else if (_nc_find_ext_name(from, to->ext_Names[j], STRING) >= 0) {
+ } else if ((k = _nc_find_ext_name(from, to->ext_Names[j],
+ STRING)) >= 0) {
if (_nc_del_ext_name(to, name, NUMBER)
|| _nc_del_ext_name(to, name, BOOLEAN)) {
k = _nc_ins_ext_name(to, name, STRING);
@@ -386,8 +386,8 @@ adjust_cancels(TERMTYPE *to, TERMTYPE *from)
NCURSES_EXPORT(void)
_nc_align_termtype(TERMTYPE *to, TERMTYPE *from)
{
- int na = (int) NUM_EXT_NAMES(to);
- int nb = (int) NUM_EXT_NAMES(from);
+ int na = NUM_EXT_NAMES(to);
+ int nb = NUM_EXT_NAMES(from);
int n;
bool same;
char **ext_Names;
@@ -417,7 +417,7 @@ _nc_align_termtype(TERMTYPE *to, TERMTYPE *from)
* into it, updating to's counts for booleans, etc. Fortunately we do
* this only for the terminfo compiler (tic) and comparer (infocmp).
*/
- ext_Names = typeMalloc(char *, (size_t)(na + nb));
+ ext_Names = typeMalloc(char *, na + nb);
if (to->ext_Strings && (from->ext_Booleans + from->ext_Numbers))
adjust_cancels(to, from);
@@ -461,8 +461,8 @@ _nc_align_termtype(TERMTYPE *to, TERMTYPE *from)
if (nb != (ext_Booleans + ext_Numbers + ext_Strings)) {
nb = (ext_Booleans + ext_Numbers + ext_Strings);
realign_data(from, ext_Names, ext_Booleans, ext_Numbers, ext_Strings);
- from->ext_Names = typeRealloc(char *, (size_t) nb, from->ext_Names);
- memcpy(from->ext_Names, ext_Names, sizeof(char *) * (size_t) nb);
+ from->ext_Names = typeRealloc(char *, nb, from->ext_Names);
+ memcpy(from->ext_Names, ext_Names, sizeof(char *) * nb);
DEBUG(2, ("realigned %d extended names for '%s' (from)",
NUM_EXT_NAMES(from), from->term_names));
}
diff --git a/ncurses/tinfo/captoinfo.c b/ncurses/tinfo/captoinfo.c
index a0da44dea989..93300c1be3e4 100644
--- a/ncurses/tinfo/captoinfo.c
+++ b/ncurses/tinfo/captoinfo.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,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 *
@@ -93,7 +93,7 @@
#include <ctype.h>
#include <tic.h>
-MODULE_ID("$Id: captoinfo.c,v 1.58 2010/12/04 20:08:19 tom Exp $")
+MODULE_ID("$Id: captoinfo.c,v 1.52 2008/08/16 19:24:51 tom Exp $")
#define MAX_PUSHED 16 /* max # args we can push onto the stack */
@@ -125,10 +125,10 @@ init_string(void)
static char *
save_string(char *d, const char *const s)
{
- size_t have = (size_t) (d - my_string);
+ size_t have = (d - my_string);
size_t need = have + strlen(s) + 2;
if (need > my_length) {
- my_string = (char *) _nc_doalloc(my_string, my_length = (need + need));
+ my_string = (char *) realloc(my_string, my_length = (need + need));
if (my_string == 0)
_nc_err_abort(MSG_NO_MEMORY);
d = my_string + have;
@@ -196,7 +196,7 @@ cvtchar(register const char *sp)
case '3':
len = 1;
while (isdigit(UChar(*sp))) {
- c = (unsigned char) (8 * c + (*sp++ - '0'));
+ c = 8 * c + (*sp++ - '0');
len++;
}
break;
@@ -207,7 +207,7 @@ cvtchar(register const char *sp)
}
break;
case '^':
- c = (unsigned char) (*++sp & 0x1f);
+ c = (*++sp & 0x1f);
len = 2;
break;
default:
@@ -643,7 +643,6 @@ _nc_infotocap(const char *cap GCC_UNUSED, const char *str, int const parameteriz
int seenone = 0, seentwo = 0, saw_m = 0, saw_n = 0;
const char *padding;
const char *trimmed = 0;
- int in0, in1, in2;
char ch1 = 0, ch2 = 0;
char *bufptr = init_string();
int len;
@@ -667,27 +666,8 @@ _nc_infotocap(const char *cap GCC_UNUSED, const char *str, int const parameteriz
int c1, c2;
char *cp = 0;
- if (str[0] == '^') {
- if (str[1] == '\0' || (str + 1) == trimmed) {
- bufptr = save_string(bufptr, "\\136");
- ++str;
- } else {
- bufptr = save_char(bufptr, *str++);
- bufptr = save_char(bufptr, *str);
- }
- } else if (str[0] == '\\') {
- if (str[1] == '\0' || (str + 1) == trimmed) {
- bufptr = save_string(bufptr, "\\134");
- ++str;
- } else if (str[1] == '^') {
- bufptr = save_string(bufptr, "\\136");
- ++str;
- } else if (str[1] == ',') {
- bufptr = save_char(bufptr, *++str);
- } else {
- bufptr = save_char(bufptr, *str++);
- bufptr = save_char(bufptr, *str);
- }
+ if (str[0] == '\\' && (str[1] == '^' || str[1] == ',')) {
+ bufptr = save_char(bufptr, *++str);
} else if (str[0] == '$' && str[1] == '<') { /* discard padding */
str += 2;
while (isdigit(UChar(*str))
@@ -697,19 +677,6 @@ _nc_infotocap(const char *cap GCC_UNUSED, const char *str, int const parameteriz
|| *str == '>')
str++;
--str;
- } else if (sscanf(str,
- "[%%?%%p1%%{8}%%<%%t%d%%p1%%d%%e%%p1%%{16}%%<%%t%d%%p1%%{8}%%-%%d%%e%d;5;%%p1%%d%%;m",
- &in0, &in1, &in2) == 3
- && ((in0 == 4 && in1 == 10 && in2 == 48)
- || (in0 == 3 && in1 == 9 && in2 == 38))) {
- /* dumb-down an optimized case from xterm-256color for termcap */
- str = strstr(str, ";m");
- ++str;
- if (in2 == 48) {
- bufptr = save_string(bufptr, "[48;5;%dm");
- } else {
- bufptr = save_string(bufptr, "[38;5;%dm");
- }
} else if (str[0] == '%' && str[1] == '%') { /* escaped '%' */
bufptr = save_string(bufptr, "%%");
++str;
diff --git a/ncurses/tinfo/comp_expand.c b/ncurses/tinfo/comp_expand.c
index 71012b6355e3..6e79a926b5ac 100644
--- a/ncurses/tinfo/comp_expand.c
+++ b/ncurses/tinfo/comp_expand.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 <ctype.h>
#include <tic.h>
-MODULE_ID("$Id: comp_expand.c,v 1.21 2010/01/16 17:11:23 tom Exp $")
+MODULE_ID("$Id: comp_expand.c,v 1.20 2008/08/16 19:29:42 tom Exp $")
static int
trailing_spaces(const char *src)
@@ -91,7 +91,7 @@ _nc_tic_expand(const char *srcp, bool tic_format, int numbers)
&& REALPRINT(str + 1)
&& str[2] == S_QUOTE) {
sprintf(buffer + bufp, "{%d}", str[1]);
- bufp += (int) strlen(buffer + bufp);
+ bufp += strlen(buffer + bufp);
str += 2;
} else {
buffer[bufp++] = *str;
diff --git a/ncurses/tinfo/comp_hash.c b/ncurses/tinfo/comp_hash.c
index 959c6e156431..b7fbd0616345 100644
--- a/ncurses/tinfo/comp_hash.c
+++ b/ncurses/tinfo/comp_hash.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -44,36 +44,110 @@
#include <tic.h>
#include <hashsize.h>
-MODULE_ID("$Id: comp_hash.c,v 1.48 2009/08/08 17:36:21 tom Exp $")
+#ifdef MAIN_PROGRAM
+#include <ctype.h>
+#undef DEBUG
+#define DEBUG(level, params) /*nothing */
+#endif
+
+MODULE_ID("$Id: comp_hash.c,v 1.36 2008/08/16 17:06:53 tom Exp $")
+
+static int hash_function(const char *);
/*
- * Finds the entry for the given string in the hash table if present.
- * Returns a pointer to the entry in the table or 0 if not found.
+ * _nc_make_hash_table()
+ *
+ * Takes the entries in table[] and hashes them into hash_table[]
+ * by name. There are CAPTABSIZE entries in table[] and HASHTABSIZE
+ * slots in hash_table[].
+ *
*/
-/* entrypoint used by tack (do not alter) */
+
+#ifdef MAIN_PROGRAM
+
+#undef MODULE_ID
+#define MODULE_ID(id) /*nothing */
+#include <tinfo/doalloc.c>
+
+static void
+_nc_make_hash_table(struct name_table_entry *table,
+ short *hash_table)
+{
+ short i;
+ int hashvalue;
+ int collisions = 0;
+
+ for (i = 0; i < HASHTABSIZE; i++) {
+ hash_table[i] = -1;
+ }
+ for (i = 0; i < CAPTABSIZE; i++) {
+ hashvalue = hash_function(table[i].nte_name);
+
+ if (hash_table[hashvalue] >= 0)
+ collisions++;
+
+ if (hash_table[hashvalue] != 0)
+ table[i].nte_link = hash_table[hashvalue];
+ hash_table[hashvalue] = i;
+ }
+
+ DEBUG(4, ("Hash table complete: %d collisions out of %d entries",
+ collisions, CAPTABSIZE));
+}
+#endif
+
+/*
+ * int hash_function(string)
+ *
+ * Computes the hashing function on the given string.
+ *
+ * The current hash function is the sum of each consectutive pair
+ * of characters, taken as two-byte integers, mod HASHTABSIZE.
+ *
+ */
+
+static int
+hash_function(const char *string)
+{
+ long sum = 0;
+
+ DEBUG(9, ("hashing %s", string));
+ while (*string) {
+ sum += (long) (*string + (*(string + 1) << 8));
+ string++;
+ }
+
+ DEBUG(9, ("sum is %ld", sum));
+ return (int) (sum % HASHTABSIZE);
+}
+
+/*
+ * struct name_table_entry *
+ * find_entry(string)
+ *
+ * Finds the entry for the given string in the hash table if present.
+ * Returns a pointer to the entry in the table or 0 if not found.
+ *
+ */
+
+#ifndef MAIN_PROGRAM
NCURSES_EXPORT(struct name_table_entry const *)
_nc_find_entry(const char *string,
- const HashValue * hash_table)
+ const short *hash_table)
{
- bool termcap = (hash_table != _nc_get_hash_table(FALSE));
- const HashData *data = _nc_get_hash_info(termcap);
int hashvalue;
struct name_table_entry const *ptr = 0;
struct name_table_entry const *real_table;
- hashvalue = data->hash_of(string);
-
- if (data->table_data[hashvalue] >= 0) {
+ hashvalue = hash_function(string);
- real_table = _nc_get_table(termcap);
- ptr = real_table + data->table_data[hashvalue];
- while (!data->compare_names(ptr->nte_name, string)) {
- if (ptr->nte_link < 0) {
- ptr = 0;
- break;
- }
- ptr = real_table + (ptr->nte_link
- + data->table_data[data->table_size]);
+ if (hash_table[hashvalue] >= 0) {
+ real_table = _nc_get_table(hash_table != _nc_get_hash_table(FALSE));
+ ptr = real_table + hash_table[hashvalue];
+ while (strcmp(ptr->nte_name, string) != 0) {
+ if (ptr->nte_link < 0)
+ return 0;
+ ptr = real_table + (ptr->nte_link + hash_table[HASHTABSIZE]);
}
}
@@ -81,34 +155,216 @@ _nc_find_entry(const char *string,
}
/*
- * Finds the entry for the given name with the given type in the given table if
- * present (as distinct from _nc_find_entry, which finds the last entry
- * regardless of type).
+ * struct name_table_entry *
+ * find_type_entry(string, type, table)
*
- * Returns a pointer to the entry in the table or 0 if not found.
+ * Finds the first entry for the given name with the given type in the
+ * given table if present (as distinct from find_entry, which finds the
+ * the last entry regardless of type). You can use this if you detect
+ * a name clash. It's slower, though. Returns a pointer to the entry
+ * in the table or 0 if not found.
*/
+
NCURSES_EXPORT(struct name_table_entry const *)
_nc_find_type_entry(const char *string,
int type,
- bool termcap)
+ const struct name_table_entry *table)
+{
+ struct name_table_entry const *ptr;
+
+ for (ptr = table; ptr < table + CAPTABSIZE; ptr++) {
+ if (ptr->nte_type == type && strcmp(string, ptr->nte_name) == 0)
+ return (ptr);
+ }
+
+ return ((struct name_table_entry *) NULL);
+}
+#endif
+
+#ifdef MAIN_PROGRAM
+/*
+ * This filter reads from standard input a list of tab-delimited columns,
+ * (e.g., from Caps.filtered) computes the hash-value of a specified column and
+ * writes the hashed tables to standard output.
+ *
+ * By compiling the hash table at build time, we're able to make the entire
+ * set of terminfo and termcap tables readonly (and also provide some runtime
+ * performance enhancement).
+ */
+
+#define MAX_COLUMNS BUFSIZ /* this _has_ to be worst-case */
+
+static char **
+parse_columns(char *buffer)
{
- struct name_table_entry const *ptr = NULL;
- const HashData *data = _nc_get_hash_info(termcap);
- int hashvalue = data->hash_of(string);
-
- if (data->table_data[hashvalue] >= 0) {
- const struct name_table_entry *const table = _nc_get_table(termcap);
-
- ptr = table + data->table_data[hashvalue];
- while (ptr->nte_type != type
- || !data->compare_names(ptr->nte_name, string)) {
- if (ptr->nte_link < 0) {
- ptr = 0;
+ static char **list;
+
+ int col = 0;
+
+ if (list == 0 && (list = typeCalloc(char *, MAX_COLUMNS)) == 0)
+ return (0);
+
+ if (*buffer != '#') {
+ while (*buffer != '\0') {
+ char *s;
+ for (s = buffer; (*s != '\0') && !isspace(UChar(*s)); s++)
+ /*EMPTY */ ;
+ if (s != buffer) {
+ char mark = *s;
+ *s = '\0';
+ if ((s - buffer) > 1
+ && (*buffer == '"')
+ && (s[-1] == '"')) { /* strip the quotes */
+ assert(s > buffer + 1);
+ s[-1] = '\0';
+ buffer++;
+ }
+ list[col] = buffer;
+ col++;
+ if (mark == '\0')
+ break;
+ while (*++s && isspace(UChar(*s)))
+ /*EMPTY */ ;
+ buffer = s;
+ } else
break;
+ }
+ }
+ return col ? list : 0;
+}
+
+int
+main(int argc, char **argv)
+{
+ struct name_table_entry *name_table = typeCalloc(struct
+ name_table_entry, CAPTABSIZE);
+ short *hash_table = typeCalloc(short, HASHTABSIZE);
+ const char *root_name = "";
+ int column = 0;
+ int bigstring = 0;
+ int n;
+ char buffer[BUFSIZ];
+
+ static const char *typenames[] =
+ {"BOOLEAN", "NUMBER", "STRING"};
+
+ short BoolCount = 0;
+ short NumCount = 0;
+ short StrCount = 0;
+
+ /* The first argument is the column-number (starting with 0).
+ * The second is the root name of the tables to generate.
+ */
+ if (argc <= 3
+ || (column = atoi(argv[1])) <= 0
+ || (column >= MAX_COLUMNS)
+ || *(root_name = argv[2]) == 0
+ || (bigstring = atoi(argv[3])) < 0
+ || name_table == 0
+ || hash_table == 0) {
+ fprintf(stderr, "usage: make_hash column root_name bigstring\n");
+ exit(EXIT_FAILURE);
+ }
+
+ /*
+ * Read the table into our arrays.
+ */
+ for (n = 0; (n < CAPTABSIZE) && fgets(buffer, BUFSIZ, stdin);) {
+ char **list, *nlp = strchr(buffer, '\n');
+ if (nlp)
+ *nlp = '\0';
+ list = parse_columns(buffer);
+ if (list == 0) /* blank or comment */
+ continue;
+ name_table[n].nte_link = -1; /* end-of-hash */
+ name_table[n].nte_name = strdup(list[column]);
+ if (!strcmp(list[2], "bool")) {
+ name_table[n].nte_type = BOOLEAN;
+ name_table[n].nte_index = BoolCount++;
+ } else if (!strcmp(list[2], "num")) {
+ name_table[n].nte_type = NUMBER;
+ name_table[n].nte_index = NumCount++;
+ } else if (!strcmp(list[2], "str")) {
+ name_table[n].nte_type = STRING;
+ name_table[n].nte_index = StrCount++;
+ } else {
+ fprintf(stderr, "Unknown type: %s\n", list[2]);
+ exit(EXIT_FAILURE);
+ }
+ n++;
+ }
+ _nc_make_hash_table(name_table, hash_table);
+
+ /*
+ * Write the compiled tables to standard output
+ */
+ if (bigstring) {
+ int len = 0;
+ int nxt;
+
+ printf("static const char %s_names_text[] = \\\n", root_name);
+ for (n = 0; n < CAPTABSIZE; n++) {
+ nxt = (int) strlen(name_table[n].nte_name) + 5;
+ if (nxt + len > 72) {
+ printf("\\\n");
+ len = 0;
}
- ptr = table + (ptr->nte_link + data->table_data[data->table_size]);
+ printf("\"%s\\0\" ", name_table[n].nte_name);
+ len += nxt;
}
+ printf(";\n\n");
+
+ len = 0;
+ printf("static name_table_data const %s_names_data[] =\n",
+ root_name);
+ printf("{\n");
+ for (n = 0; n < CAPTABSIZE; n++) {
+ printf("\t{ %15d,\t%10s,\t%3d, %3d }%c\n",
+ len,
+ typenames[name_table[n].nte_type],
+ name_table[n].nte_index,
+ name_table[n].nte_link,
+ n < CAPTABSIZE - 1 ? ',' : ' ');
+ len += (int) strlen(name_table[n].nte_name) + 1;
+ }
+ printf("};\n\n");
+ printf("static struct name_table_entry *_nc_%s_table = 0;\n\n", root_name);
+ } else {
+
+ printf("static struct name_table_entry %s _nc_%s_table[] =\n",
+ bigstring ? "" : "const",
+ root_name);
+ printf("{\n");
+ for (n = 0; n < CAPTABSIZE; n++) {
+ sprintf(buffer, "\"%s\"",
+ name_table[n].nte_name);
+ printf("\t{ %15s,\t%10s,\t%3d, %3d }%c\n",
+ buffer,
+ typenames[name_table[n].nte_type],
+ name_table[n].nte_index,
+ name_table[n].nte_link,
+ n < CAPTABSIZE - 1 ? ',' : ' ');
+ }
+ printf("};\n\n");
+ }
+
+ printf("static const short _nc_%s_hash_table[%d] =\n",
+ root_name,
+ HASHTABSIZE + 1);
+ printf("{\n");
+ for (n = 0; n < HASHTABSIZE; n++) {
+ printf("\t%3d,\n", hash_table[n]);
}
+ printf("\t0\t/* base-of-table */\n");
+ printf("};\n\n");
+
+ printf("#if (BOOLCOUNT!=%d)||(NUMCOUNT!=%d)||(STRCOUNT!=%d)\n",
+ BoolCount, NumCount, StrCount);
+ printf("#error\t--> term.h and comp_captab.c disagree about the <--\n");
+ printf("#error\t--> numbers of booleans, numbers and/or strings <--\n");
+ printf("#endif\n\n");
- return ptr;
+ free(hash_table);
+ return EXIT_SUCCESS;
}
+#endif
diff --git a/ncurses/tinfo/comp_parse.c b/ncurses/tinfo/comp_parse.c
index 8204d75a8193..3325a0ddae6c 100644
--- a/ncurses/tinfo/comp_parse.c
+++ b/ncurses/tinfo/comp_parse.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -51,8 +51,9 @@
#include <ctype.h>
#include <tic.h>
+#include <term_entry.h>
-MODULE_ID("$Id: comp_parse.c,v 1.73 2010/12/25 23:06:37 tom Exp $")
+MODULE_ID("$Id: comp_parse.c,v 1.69 2008/08/16 21:58:16 tom Exp $")
static void sanity_check2(TERMTYPE *, bool);
NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE *, bool) = sanity_check2;
@@ -91,18 +92,16 @@ force_bar(char *dst, char *src)
}
return src;
}
-#define ForceBar(dst, src) ((strchr(src, '|') == 0) ? force_bar(dst, src) : src)
NCURSES_EXPORT(bool)
_nc_entry_match(char *n1, char *n2)
/* do any of the aliases in a pair of terminal names match? */
{
char *pstart, *qstart, *pend, *qend;
- char nc1[MAX_NAME_SIZE + 2];
- char nc2[MAX_NAME_SIZE + 2];
+ char nc1[MAX_NAME_SIZE + 2], nc2[MAX_NAME_SIZE + 2];
- n1 = ForceBar(nc1, n1);
- n2 = ForceBar(nc2, n2);
+ n1 = force_bar(nc1, n1);
+ n2 = force_bar(nc2, n2);
for (pstart = n1; (pend = strchr(pstart, '|')); pstart = pend + 1)
for (qstart = n2; (qend = strchr(qstart, '|')); qstart = qend + 1)
@@ -274,7 +273,7 @@ _nc_resolve_uses2(bool fullresolve, bool literal)
unresolved++;
total_unresolved++;
- _nc_curr_line = (int) lookline;
+ _nc_curr_line = lookline;
_nc_warning("resolution of use=%s failed", lookfor);
qp->uses[i].link = 0;
}
@@ -376,7 +375,7 @@ _nc_resolve_uses2(bool fullresolve, bool literal)
if (_nc_check_termtype != 0) {
_nc_curr_col = -1;
for_entry_list(qp) {
- _nc_curr_line = (int) qp->startline;
+ _nc_curr_line = qp->startline;
_nc_set_type(_nc_first_name(qp->tterm.term_names));
_nc_check_termtype2(&qp->tterm, literal);
}
@@ -474,6 +473,7 @@ _nc_leaks_tic(void)
{
_nc_alloc_entry_leaks();
_nc_captoinfo_leaks();
+ _nc_comp_captab_leaks();
_nc_comp_scan_leaks();
#if BROKEN_LINKER || USE_REENTRANT
_nc_names_leaks();
diff --git a/ncurses/tinfo/comp_scan.c b/ncurses/tinfo/comp_scan.c
index 8725b2edb7eb..5ad750f930dd 100644
--- a/ncurses/tinfo/comp_scan.c
+++ b/ncurses/tinfo/comp_scan.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,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 *
@@ -48,9 +48,10 @@
#include <curses.priv.h>
#include <ctype.h>
+#include <term_entry.h>
#include <tic.h>
-MODULE_ID("$Id: comp_scan.c,v 1.89 2010/12/25 23:06:37 tom Exp $")
+MODULE_ID("$Id: comp_scan.c,v 1.83 2008/08/16 19:22:55 tom Exp $")
/*
* Maximum length of string capability we'll accept before raising an error.
@@ -60,13 +61,19 @@ MODULE_ID("$Id: comp_scan.c,v 1.89 2010/12/25 23:06:37 tom Exp $")
#define iswhite(ch) (ch == ' ' || ch == '\t')
-NCURSES_EXPORT_VAR (int) _nc_syntax = 0; /* termcap or terminfo? */
-NCURSES_EXPORT_VAR (long) _nc_curr_file_pos = 0; /* file offset of current line */
-NCURSES_EXPORT_VAR (long) _nc_comment_start = 0; /* start of comment range before name */
-NCURSES_EXPORT_VAR (long) _nc_comment_end = 0; /* end of comment range before name */
-NCURSES_EXPORT_VAR (long) _nc_start_line = 0; /* start line of current entry */
-
-NCURSES_EXPORT_VAR (struct token) _nc_curr_token =
+NCURSES_EXPORT_VAR(int)
+_nc_syntax = 0; /* termcap or terminfo? */
+NCURSES_EXPORT_VAR(long)
+_nc_curr_file_pos = 0; /* file offset of current line */
+NCURSES_EXPORT_VAR(long)
+_nc_comment_start = 0; /* start of comment range before name */
+NCURSES_EXPORT_VAR(long)
+_nc_comment_end = 0; /* end of comment range before name */
+NCURSES_EXPORT_VAR(long)
+_nc_start_line = 0; /* start line of current entry */
+
+NCURSES_EXPORT_VAR(struct token)
+_nc_curr_token =
{
0, 0, 0
};
@@ -84,7 +91,8 @@ static int pushtype; /* type of pushback token */
static char *pushname;
#if NCURSES_EXT_FUNCS
-NCURSES_EXPORT_VAR (bool) _nc_disable_period = FALSE; /* used by tic -a option */
+NCURSES_EXPORT_VAR(bool)
+_nc_disable_period = FALSE; /* used by tic -a option */
#endif
/*****************************************************************************
@@ -203,10 +211,6 @@ next_char(void)
if (fgets(result + used, (int) (allocated - used), yyin) != 0) {
bufstart = result;
if (used == 0) {
- if (_nc_curr_line == 0
- && IS_TIC_MAGIC(result)) {
- _nc_err_abort("This is a compiled terminal description, not a source");
- }
_nc_curr_line++;
_nc_curr_col = 0;
}
@@ -427,7 +431,7 @@ _nc_get_token(bool silent)
&& !strchr(terminfo_punct, (char) ch)) {
if (!silent)
_nc_warning("Illegal character (expected alphanumeric or %s) - '%s'",
- terminfo_punct, unctrl(UChar(ch)));
+ terminfo_punct, unctrl((chtype) ch));
_nc_panic_mode(separator);
goto start_token;
}
@@ -483,6 +487,7 @@ _nc_get_token(bool silent)
if (OkToAdd()) {
AddCh(ch);
} else {
+ ch = EOF;
break;
}
}
@@ -591,7 +596,7 @@ _nc_get_token(bool silent)
case '@':
if ((ch = next_char()) != separator && !silent)
_nc_warning("Missing separator after `%s', have %s",
- tok_buf, unctrl(UChar(ch)));
+ tok_buf, unctrl((chtype) ch));
_nc_curr_token.tk_name = tok_buf;
type = CANCEL;
break;
@@ -612,7 +617,7 @@ _nc_get_token(bool silent)
_nc_warning("Missing separator");
}
_nc_curr_token.tk_name = tok_buf;
- _nc_curr_token.tk_valnumber = (int) number;
+ _nc_curr_token.tk_valnumber = number;
type = NUMBER;
break;
@@ -632,7 +637,7 @@ _nc_get_token(bool silent)
/* just to get rid of the compiler warning */
type = UNDEF;
if (!silent)
- _nc_warning("Illegal character - '%s'", unctrl(UChar(ch)));
+ _nc_warning("Illegal character - '%s'", unctrl((chtype) ch));
}
} /* end else (first_column == FALSE) */
} /* end else (ch != EOF) */
@@ -725,47 +730,48 @@ _nc_trans_string(char *ptr, char *last)
int count = 0;
int number = 0;
int i, c;
- int last_ch = '\0';
+ chtype ch, last_ch = '\0';
bool ignored = FALSE;
bool long_warning = FALSE;
- while ((c = next_char()) != separator && c != EOF) {
+ while ((ch = c = next_char()) != (chtype) separator && c != EOF) {
if (ptr >= (last - 1)) {
if (c != EOF) {
while ((c = next_char()) != separator && c != EOF) {
;
}
+ ch = c;
}
break;
}
if ((_nc_syntax == SYN_TERMCAP) && c == '\n')
break;
- if (c == '^' && last_ch != '%') {
- c = next_char();
+ if (ch == '^' && last_ch != '%') {
+ ch = c = next_char();
if (c == EOF)
_nc_err_abort(MSG_NO_INPUTS);
- if (!(is7bits(c) && isprint(c))) {
- _nc_warning("Illegal ^ character - '%s'", unctrl(UChar(c)));
+ if (!(is7bits(ch) && isprint(ch))) {
+ _nc_warning("Illegal ^ character - '%s'", unctrl(ch));
}
- if (c == '?') {
+ if (ch == '?') {
*(ptr++) = '\177';
if (_nc_tracing)
_nc_warning("Allow ^? as synonym for \\177");
} else {
- if ((c &= 037) == 0)
- c = 128;
- *(ptr++) = (char) (c);
+ if ((ch &= 037) == 0)
+ ch = 128;
+ *(ptr++) = (char) (ch);
}
- } else if (c == '\\') {
- c = next_char();
+ } else if (ch == '\\') {
+ ch = c = next_char();
if (c == EOF)
_nc_err_abort(MSG_NO_INPUTS);
- if (c >= '0' && c <= '7') {
- number = c - '0';
+ if (ch >= '0' && ch <= '7') {
+ number = ch - '0';
for (i = 0; i < 2; i++) {
- c = next_char();
+ ch = c = next_char();
if (c == EOF)
_nc_err_abort(MSG_NO_INPUTS);
@@ -842,31 +848,31 @@ _nc_trans_string(char *ptr, char *last)
default:
_nc_warning("Illegal character '%s' in \\ sequence",
- unctrl(UChar(c)));
+ unctrl(ch));
/* FALLTHRU */
case '|':
- *(ptr++) = (char) c;
- } /* endswitch (c) */
- } /* endelse (c < '0' || c > '7') */
+ *(ptr++) = (char) ch;
+ } /* endswitch (ch) */
+ } /* endelse (ch < '0' || ch > '7') */
}
- /* end else if (c == '\\') */
- else if (c == '\n' && (_nc_syntax == SYN_TERMINFO)) {
+ /* end else if (ch == '\\') */
+ else if (ch == '\n' && (_nc_syntax == SYN_TERMINFO)) {
/*
* Newlines embedded in a terminfo string are ignored, provided
* that the next line begins with whitespace.
*/
ignored = TRUE;
} else {
- *(ptr++) = (char) c;
+ *(ptr++) = (char) ch;
}
if (!ignored) {
if (_nc_curr_col <= 1) {
- push_back((char) c);
- c = '\n';
+ push_back((char) ch);
+ ch = '\n';
break;
}
- last_ch = c;
+ last_ch = ch;
count++;
}
ignored = FALSE;
@@ -879,7 +885,7 @@ _nc_trans_string(char *ptr, char *last)
*ptr = '\0';
- return (c);
+ return (ch);
}
/*
diff --git a/ncurses/tinfo/db_iterator.c b/ncurses/tinfo/db_iterator.c
index 82665cb54be6..fdc2bb09eadc 100644
--- a/ncurses/tinfo/db_iterator.c
+++ b/ncurses/tinfo/db_iterator.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2006-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -38,7 +38,7 @@
#include <tic.h>
-MODULE_ID("$Id: db_iterator.c,v 1.9 2010/12/25 23:00:25 tom Exp $")
+MODULE_ID("$Id: db_iterator.c,v 1.6 2007/04/22 00:00:26 tom Exp $")
#define HaveTicDirectory _nc_globals.have_tic_directory
#define KeepTicDirectory _nc_globals.keep_tic_directory
@@ -104,7 +104,7 @@ next_list_item(const char *source, int *offset)
if (source != 0) {
FreeIfNeeded(ThisDbList);
ThisDbList = strdup(source);
- ThisDbSize = (int) strlen(source);
+ ThisDbSize = strlen(source);
}
if (ThisDbList != 0 && ThisDbSize && *offset < ThisDbSize) {
@@ -118,10 +118,11 @@ next_list_item(const char *source, int *offset)
* again, using the data at the offset.
*/
if (marker == 0) {
- *offset += (int) strlen(result);
+ *offset += strlen(result) + 1;
+ marker = result + *offset;
} else {
*marker++ = 0;
- *offset = (int) (marker - ThisDbList);
+ *offset = marker - ThisDbList;
}
if (*result == 0 && result != (ThisDbList + ThisDbSize))
result = system_db;
diff --git a/ncurses/tinfo/entries.c b/ncurses/tinfo/entries.c
index b1e14a803f31..cf2a8337b870 100644
--- a/ncurses/tinfo/entries.c
+++ b/ncurses/tinfo/entries.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2006-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2006-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 *
@@ -28,7 +28,6 @@
/****************************************************************************
* Author: Thomas E. Dickey *
- * and: Juergen Pfeifer *
****************************************************************************/
#include <curses.priv.h>
@@ -36,8 +35,9 @@
#include <ctype.h>
#include <tic.h>
+#include <term_entry.h>
-MODULE_ID("$Id: entries.c,v 1.17 2010/01/23 17:57:43 tom Exp $")
+MODULE_ID("$Id: entries.c,v 1.8 2008/09/27 13:11:10 tom Exp $")
/****************************************************************************
*
@@ -119,12 +119,6 @@ _nc_leaks_tinfo(void)
#if NO_LEAKS
_nc_free_tparm();
_nc_tgetent_leaks();
-
- if (TerminalOf(CURRENT_SCREEN) != 0) {
- del_curterm(TerminalOf(CURRENT_SCREEN));
- }
-
- _nc_comp_captab_leaks();
_nc_free_entries(_nc_head);
_nc_get_type(0);
_nc_first_name(0);
@@ -137,12 +131,6 @@ _nc_leaks_tinfo(void)
if ((s = _nc_home_terminfo()) != 0)
free(s);
-
-#ifdef TRACE
- trace(0);
- _nc_trace_buf(-1, 0);
-#endif
-
#endif /* NO_LEAKS */
returnVoid;
}
diff --git a/ncurses/tinfo/free_ttype.c b/ncurses/tinfo/free_ttype.c
index ad056ba4545b..fa0fff1b83fb 100644
--- a/ncurses/tinfo/free_ttype.c
+++ b/ncurses/tinfo/free_ttype.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1999-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2005,2006 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 *
@@ -41,8 +41,9 @@
#include <curses.priv.h>
#include <tic.h>
+#include <term_entry.h>
-MODULE_ID("$Id: free_ttype.c,v 1.15 2011/02/06 01:08:31 tom Exp $")
+MODULE_ID("$Id: free_ttype.c,v 1.13 2006/06/25 10:46:02 tom Exp $")
NCURSES_EXPORT(void)
_nc_free_termtype(TERMTYPE *ptr)
@@ -69,7 +70,6 @@ use_extended_names(bool flag)
{
int oldflag = _nc_user_definable;
- START_TRACE();
T((T_CALLED("use_extended_names(%d)"), flag));
_nc_user_definable = flag;
returnBool(oldflag);
diff --git a/ncurses/tinfo/hashed_db.c b/ncurses/tinfo/hashed_db.c
index bf7a968ee96d..3fc04eae3cca 100644
--- a/ncurses/tinfo/hashed_db.c
+++ b/ncurses/tinfo/hashed_db.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2006,2008 Free Software Foundation, Inc. *
+ * Copyright (c) 2006 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 *
@@ -27,7 +27,7 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2006-on *
+ * Author: Thomas E. Dickey 2006 *
****************************************************************************/
#include <curses.priv.h>
@@ -36,7 +36,7 @@
#if USE_HASHED_DB
-MODULE_ID("$Id: hashed_db.c,v 1.14 2008/12/13 20:59:02 tom Exp $")
+MODULE_ID("$Id: hashed_db.c,v 1.13 2006/08/19 19:48:38 tom Exp $")
#if HASHED_DB_API >= 2
static DBC *cursor;
@@ -49,30 +49,27 @@ NCURSES_EXPORT(DB *)
_nc_db_open(const char *path, bool modify)
{
DB *result = 0;
- int code;
#if HASHED_DB_API >= 4
db_create(&result, NULL, 0);
- if ((code = result->open(result,
- NULL,
- path,
- NULL,
- DB_HASH,
- modify ? DB_CREATE : DB_RDONLY,
- 0644)) != 0) {
- result = 0;
- }
+ result->open(result,
+ NULL,
+ path,
+ NULL,
+ DB_HASH,
+ modify ? DB_CREATE : DB_RDONLY,
+ 0644);
#elif HASHED_DB_API >= 3
db_create(&result, NULL, 0);
- if ((code = result->open(result,
- path,
- NULL,
- DB_HASH,
- modify ? DB_CREATE : DB_RDONLY,
- 0644)) != 0) {
- result = 0;
- }
+ result->open(result,
+ path,
+ NULL,
+ DB_HASH,
+ modify ? DB_CREATE : DB_RDONLY,
+ 0644);
#elif HASHED_DB_API >= 2
+ int code;
+
if ((code = db_open(path,
DB_HASH,
modify ? DB_CREATE : DB_RDONLY,
@@ -80,22 +77,21 @@ _nc_db_open(const char *path, bool modify)
(DB_ENV *) 0,
(DB_INFO *) 0,
&result)) != 0) {
+ T(("cannot open %s: %s", path, strerror(code)));
result = 0;
+ } else {
+ T(("opened %s", path));
}
#else
- if ((result = dbopen(path,
- modify ? (O_CREAT | O_RDWR) : O_RDONLY,
- 0644,
- DB_HASH,
- NULL)) == 0) {
- code = errno;
- }
-#endif
+ result = dbopen(path,
+ modify ? (O_CREAT | O_RDWR) : O_RDONLY,
+ 0644,
+ DB_HASH,
+ NULL);
if (result != 0) {
T(("opened %s", path));
- } else {
- T(("cannot open %s: %s", path, strerror(code)));
}
+#endif
return result;
}
diff --git a/ncurses/tinfo/home_terminfo.c b/ncurses/tinfo/home_terminfo.c
index 69d69f95bf7c..4521c4a8da68 100644
--- a/ncurses/tinfo/home_terminfo.c
+++ b/ncurses/tinfo/home_terminfo.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -37,7 +37,7 @@
#include <curses.priv.h>
#include <tic.h>
-MODULE_ID("$Id: home_terminfo.c,v 1.12 2010/12/25 23:43:58 tom Exp $")
+MODULE_ID("$Id: home_terminfo.c,v 1.11 2008/08/03 23:43:11 tom Exp $")
/* ncurses extension...fall back on user's private directory */
@@ -53,7 +53,7 @@ _nc_home_terminfo(void)
if (use_terminfo_vars()) {
if (MyBuffer == 0) {
if ((home = getenv("HOME")) != 0) {
- size_t want = (strlen(home) + sizeof(PRIVATE_INFO));
+ unsigned want = (strlen(home) + sizeof(PRIVATE_INFO));
MyBuffer = typeMalloc(char, want);
if (MyBuffer == 0)
_nc_err_abort(MSG_NO_MEMORY);
diff --git a/ncurses/tinfo/init_keytry.c b/ncurses/tinfo/init_keytry.c
index ea47b382b493..2f6fe4f6fad7 100644
--- a/ncurses/tinfo/init_keytry.c
+++ b/ncurses/tinfo/init_keytry.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1999-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2006,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 *
@@ -27,9 +27,16 @@
****************************************************************************/
#include <curses.priv.h>
+
+#include <term.h>
+/* keypad_xmit, keypad_local, meta_on, meta_off */
+/* cursor_visible,cursor_normal,cursor_invisible */
+
#include <tic.h> /* struct tinfo_fkeys */
-MODULE_ID("$Id: init_keytry.c,v 1.17 2010/04/24 22:29:56 tom Exp $")
+#include <term_entry.h>
+
+MODULE_ID("$Id: init_keytry.c,v 1.12 2008/05/24 21:44:51 tom Exp $")
/*
** _nc_init_keytry()
@@ -43,7 +50,7 @@ MODULE_ID("$Id: init_keytry.c,v 1.17 2010/04/24 22:29:56 tom Exp $")
* than cur_term.
*/
#undef CUR
-#define CUR SP_TERMTYPE
+#define CUR (sp->_term)->type.
#if BROKEN_LINKER
#undef _nc_tinfo_fkeys
@@ -66,7 +73,7 @@ _nc_tinfo_fkeysf(void)
NCURSES_EXPORT(void)
_nc_init_keytry(SCREEN *sp)
{
- unsigned n;
+ size_t n;
/* The sp->_keytry value is initialized in newterm(), where the sp
* structure is created, because we can not tell where keypad() or
@@ -90,13 +97,12 @@ _nc_init_keytry(SCREEN *sp)
{
TERMTYPE *tp = &(sp->_term->type);
for (n = STRCOUNT; n < NUM_STRINGS(tp); ++n) {
- const char *name = ExtStrname(tp, (int) n, strnames);
+ const char *name = ExtStrname(tp, n, strnames);
char *value = tp->Strings[n];
if (name != 0
&& *name == 'k'
&& value != 0
- && NCURSES_SP_NAME(key_defined) (NCURSES_SP_ARGx
- value) == 0) {
+ && key_defined(value) == 0) {
(void) _nc_add_to_try(&(sp->_keytry),
value,
n - STRCOUNT + KEY_MAX);
diff --git a/ncurses/tinfo/lib_acs.c b/ncurses/tinfo/lib_acs.c
index d8fdedca843f..919e47287a7b 100644
--- a/ncurses/tinfo/lib_acs.c
+++ b/ncurses/tinfo/lib_acs.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,21 +30,17 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2008 *
****************************************************************************/
#include <curses.priv.h>
+#include <term.h> /* ena_acs, acs_chars */
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_acs.c,v 1.43 2010/12/25 23:00:45 tom Exp $")
+MODULE_ID("$Id: lib_acs.c,v 1.36 2008/08/16 19:22:55 tom Exp $")
#if BROKEN_LINKER || USE_REENTRANT
#define MyBuffer _nc_prescreen.real_acs_map
-NCURSES_EXPORT(chtype *)
-NCURSES_PUBLIC_VAR(acs_map) (void)
+NCURSES_EXPORT_VAR(chtype *)
+_nc_acs_map(void)
{
if (MyBuffer == 0)
MyBuffer = typeCalloc(chtype, ACS_LEN);
@@ -52,35 +48,17 @@ NCURSES_PUBLIC_VAR(acs_map) (void)
}
#undef MyBuffer
#else
-NCURSES_EXPORT_VAR (chtype) acs_map[ACS_LEN] =
+NCURSES_EXPORT_VAR(chtype) acs_map[ACS_LEN] =
{
0
};
#endif
-#ifdef USE_TERM_DRIVER
-NCURSES_EXPORT(chtype)
-NCURSES_SP_NAME(_nc_acs_char) (NCURSES_SP_DCLx int c)
-{
- chtype *map;
- if (c < 0 || c >= ACS_LEN)
- return (chtype) 0;
- map = (SP_PARM != 0) ? SP_PARM->_acs_map :
-#if BROKEN_LINKER || USE_REENTRANT
- _nc_prescreen.real_acs_map
-#else
- acs_map
-#endif
- ;
- return map[c];
-}
-#endif /* USE_TERM_DRIVER */
-
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_DCL0)
+_nc_init_acs(void)
{
chtype *fake_map = acs_map;
- chtype *real_map = SP_PARM != 0 ? SP_PARM->_acs_map : fake_map;
+ chtype *real_map = SP != 0 ? SP->_acs_map : fake_map;
int j;
T(("initializing ACS map"));
@@ -93,9 +71,9 @@ NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_DCL0)
if (real_map != fake_map) {
for (j = 1; j < ACS_LEN; ++j) {
real_map[j] = 0;
- fake_map[j] = A_ALTCHARSET | (chtype) j;
- if (SP_PARM)
- SP_PARM->_screen_acs_map[j] = FALSE;
+ fake_map[j] = A_ALTCHARSET | j;
+ if (SP)
+ SP->_screen_acs_map[j] = FALSE;
}
} else {
for (j = 1; j < ACS_LEN; ++j) {
@@ -140,34 +118,7 @@ NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_DCL0)
real_map['{'] = '*'; /* should be greek pi */
real_map['|'] = '!'; /* should be not-equal */
real_map['}'] = 'f'; /* should be pound-sterling symbol */
- /* thick-line-drawing */
- real_map['L'] = '+'; /* upper left corner */
- real_map['M'] = '+'; /* lower left corner */
- real_map['K'] = '+'; /* upper right corner */
- real_map['J'] = '+'; /* lower right corner */
- real_map['T'] = '+'; /* tee pointing left */
- real_map['U'] = '+'; /* tee pointing right */
- real_map['V'] = '+'; /* tee pointing up */
- real_map['W'] = '+'; /* tee pointing down */
- real_map['Q'] = '-'; /* horizontal line */
- real_map['X'] = '|'; /* vertical line */
- real_map['N'] = '+'; /* large plus or crossover */
- /* double-line-drawing */
- real_map['C'] = '+'; /* upper left corner */
- real_map['D'] = '+'; /* lower left corner */
- real_map['B'] = '+'; /* upper right corner */
- real_map['A'] = '+'; /* lower right corner */
- real_map['G'] = '+'; /* tee pointing left */
- real_map['F'] = '+'; /* tee pointing right */
- real_map['H'] = '+'; /* tee pointing up */
- real_map['I'] = '+'; /* tee pointing down */
- real_map['R'] = '-'; /* horizontal line */
- real_map['Y'] = '|'; /* vertical line */
- real_map['E'] = '+'; /* large plus or crossover */
-#ifdef USE_TERM_DRIVER
- CallDriver_2(SP_PARM, initacs, real_map, fake_map);
-#else
if (ena_acs != NULL) {
TPUTS_TRACE("ena_acs");
putp(ena_acs);
@@ -189,7 +140,7 @@ NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_DCL0)
size_t i;
for (i = 1; i < ACS_LEN; ++i) {
if (real_map[i] == 0) {
- real_map[i] = (chtype) i;
+ real_map[i] = i;
if (real_map != fake_map) {
if (SP != 0)
SP->_screen_acs_map[i] = TRUE;
@@ -240,13 +191,4 @@ NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_DCL0)
_nc_unlock_global(tracef);
}
#endif /* TRACE */
-#endif
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_init_acs(void)
-{
- NCURSES_SP_NAME(_nc_init_acs) (CURRENT_SCREEN);
}
-#endif
diff --git a/ncurses/tinfo/lib_baudrate.c b/ncurses/tinfo/lib_baudrate.c
index 9302f022b89c..b9cdfda9acce 100644
--- a/ncurses/tinfo/lib_baudrate.c
+++ b/ncurses/tinfo/lib_baudrate.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -38,6 +38,7 @@
*/
#include <curses.priv.h>
+#include <term.h> /* cur_term, pad_char */
#include <termcap.h> /* ospeed */
#if defined(__FreeBSD__)
#include <sys/param.h>
@@ -79,7 +80,7 @@
#undef USE_OLD_TTY
#endif /* USE_OLD_TTY */
-MODULE_ID("$Id: lib_baudrate.c,v 1.31 2010/12/19 01:50:50 tom Exp $")
+MODULE_ID("$Id: lib_baudrate.c,v 1.27 2008/06/28 15:19:24 tom Exp $")
/*
* int
@@ -194,11 +195,11 @@ _nc_ospeed(int BaudRate)
}
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(baudrate) (NCURSES_SP_DCL0)
+baudrate(void)
{
int result;
- T((T_CALLED("baudrate(%p)"), (void *) SP_PARM));
+ T((T_CALLED("baudrate()")));
/*
* In debugging, allow the environment symbol to override when we're
@@ -206,41 +207,32 @@ NCURSES_SP_NAME(baudrate) (NCURSES_SP_DCL0)
* that take into account costs that depend on baudrate.
*/
#ifdef TRACE
- if (IsValidTIScreen(SP_PARM)
- && !isatty(fileno(SP_PARM ? SP_PARM->_ofp : stdout))
+ if (!isatty(fileno(SP ? SP->_ofp : stdout))
&& getenv("BAUDRATE") != 0) {
int ret;
if ((ret = _nc_getenv_num("BAUDRATE")) <= 0)
ret = 9600;
- ospeed = (NCURSES_OSPEED) _nc_ospeed(ret);
+ ospeed = _nc_ospeed(ret);
returnCode(ret);
}
#endif
- if (IsValidTIScreen(SP_PARM)) {
+ if (cur_term != 0) {
#ifdef USE_OLD_TTY
- result = cfgetospeed(&(TerminalOf(SP_PARM)->Nttyb));
+ result = cfgetospeed(&cur_term->Nttyb);
ospeed = _nc_ospeed(result);
#else /* !USE_OLD_TTY */
#ifdef TERMIOS
- ospeed = (NCURSES_OSPEED) cfgetospeed(&(TerminalOf(SP_PARM)->Nttyb));
+ ospeed = cfgetospeed(&cur_term->Nttyb);
#else
- ospeed = (NCURSES_OSPEED) TerminalOf(SP_PARM)->Nttyb.sg_ospeed;
+ ospeed = cur_term->Nttyb.sg_ospeed;
#endif
result = _nc_baudrate(ospeed);
#endif
- TerminalOf(SP_PARM)->_baudrate = result;
+ cur_term->_baudrate = result;
} else {
result = ERR;
}
returnCode(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-baudrate(void)
-{
- return NCURSES_SP_NAME(baudrate) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/tinfo/lib_cur_term.c b/ncurses/tinfo/lib_cur_term.c
index 86e130e78527..626578d5c08b 100644
--- a/ncurses/tinfo/lib_cur_term.c
+++ b/ncurses/tinfo/lib_cur_term.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,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 *
@@ -37,141 +37,69 @@
*/
#include <curses.priv.h>
+#include <term_entry.h> /* TTY, cur_term */
#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.18 2008/08/16 19:22:55 tom Exp $")
#undef CUR
#define CUR termp->type.
-#if BROKEN_LINKER && !USE_REENTRANT
-NCURSES_EXPORT_VAR(TERMINAL *) cur_term = 0;
-#elif BROKEN_LINKER || USE_REENTRANT
-
-NCURSES_EXPORT(TERMINAL *)
-NCURSES_SP_NAME(_nc_get_cur_term) (NCURSES_SP_DCL0)
-{
- return ((0 != TerminalOf(SP_PARM)) ? TerminalOf(SP_PARM) : CurTerm);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(TERMINAL *)
-_nc_get_cur_term(void)
-{
- return NCURSES_SP_NAME(_nc_get_cur_term) (CURRENT_SCREEN);
-}
-#endif
-
+#if BROKEN_LINKER || USE_REENTRANT
NCURSES_EXPORT(TERMINAL *)
NCURSES_PUBLIC_VAR(cur_term) (void)
{
-#if NCURSES_SP_FUNCS
- return NCURSES_SP_NAME(_nc_get_cur_term) (CURRENT_SCREEN);
-#else
- return NCURSES_SP_NAME(_nc_get_cur_term) (NCURSES_SP_ARG);
-#endif
+ return (SP != 0 && SP->_term != 0) ? SP->_term : _nc_prescreen._cur_term;
}
-
#else
NCURSES_EXPORT_VAR(TERMINAL *) cur_term = 0;
#endif
NCURSES_EXPORT(TERMINAL *)
-NCURSES_SP_NAME(set_curterm) (NCURSES_SP_DCLx TERMINAL * termp)
+set_curterm(TERMINAL * termp)
{
TERMINAL *oldterm;
- T((T_CALLED("set_curterm(%p)"), (void *) termp));
+ T((T_CALLED("set_curterm(%p)"), termp));
_nc_lock_global(curses);
oldterm = cur_term;
- if (SP_PARM)
- SP_PARM->_term = termp;
-#if BROKEN_LINKER && !USE_REENTRANT
- cur_term = termp;
+ if (SP)
+ SP->_term = termp;
+#if BROKEN_LINKER || USE_REENTRANT
+ _nc_prescreen._cur_term = termp;
#else
- CurTerm = termp;
+ cur_term = termp;
#endif
if (termp != 0) {
-#ifdef USE_TERM_DRIVER
- TERMINAL_CONTROL_BLOCK *TCB = (TERMINAL_CONTROL_BLOCK *) termp;
- ospeed = (NCURSES_OSPEED) _nc_ospeed(termp->_baudrate);
- if (TCB->drv->isTerminfo && termp->type.Strings) {
- PC = (char) ((pad_char != NULL) ? pad_char[0] : 0);
- }
- TCB->csp = SP_PARM;
-#else
- ospeed = (NCURSES_OSPEED) _nc_ospeed(termp->_baudrate);
+ ospeed = _nc_ospeed(termp->_baudrate);
if (termp->type.Strings) {
PC = (char) ((pad_char != NULL) ? pad_char[0] : 0);
}
-#endif
}
_nc_unlock_global(curses);
- T((T_RETURN("%p"), (void *) oldterm));
+ T((T_RETURN("%p"), oldterm));
return (oldterm);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(TERMINAL *)
-set_curterm(TERMINAL * termp)
-{
- return NCURSES_SP_NAME(set_curterm) (CURRENT_SCREEN, termp);
-}
-#endif
-
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(del_curterm) (NCURSES_SP_DCLx TERMINAL * termp)
+del_curterm(TERMINAL * termp)
{
int rc = ERR;
- T((T_CALLED("del_curterm(%p, %p)"), (void *) SP_PARM, (void *) termp));
+ T((T_CALLED("del_curterm(%p)"), termp));
+ _nc_lock_global(curses);
if (termp != 0) {
-#ifdef USE_TERM_DRIVER
- TERMINAL_CONTROL_BLOCK *TCB = (TERMINAL_CONTROL_BLOCK *) termp;
-#endif
- TERMINAL *cur = (
-#if BROKEN_LINKER && !USE_REENTRANT
- cur_term
-#elif BROKEN_LINKER || USE_REENTRANT
- NCURSES_SP_NAME(_nc_get_cur_term) (NCURSES_SP_ARG)
-#else
- cur_term
-#endif
- );
-
_nc_free_termtype(&(termp->type));
- if (termp == cur)
- NCURSES_SP_NAME(set_curterm) (NCURSES_SP_ARGx 0);
-
FreeIfNeeded(termp->_termname);
-#if USE_HOME_TERMINFO
- if (_nc_globals.home_terminfo != 0)
- FreeAndNull(_nc_globals.home_terminfo);
-#endif
-#ifdef USE_TERM_DRIVER
- if (TCB->drv)
- TCB->drv->release(TCB);
-#endif
free(termp);
-
+ if (termp == cur_term)
+ set_curterm(0);
rc = OK;
}
- returnCode(rc);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-del_curterm(TERMINAL * termp)
-{
- int rc = ERR;
-
- _nc_lock_global(curses);
- rc = NCURSES_SP_NAME(del_curterm) (CURRENT_SCREEN, termp);
_nc_unlock_global(curses);
- return (rc);
+ returnCode(rc);
}
-#endif
diff --git a/ncurses/tinfo/lib_data.c b/ncurses/tinfo/lib_data.c
index 195ddf978ab6..e84209d4022c 100644
--- a/ncurses/tinfo/lib_data.c
+++ b/ncurses/tinfo/lib_data.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer *
****************************************************************************/
/*
@@ -42,7 +41,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_data.c,v 1.61 2010/05/15 22:06:56 tom Exp $")
+MODULE_ID("$Id: lib_data.c,v 1.52 2008/08/23 22:16:15 tom Exp $")
/*
* OS/2's native linker complains if we don't initialize public data when
@@ -52,17 +51,17 @@ MODULE_ID("$Id: lib_data.c,v 1.61 2010/05/15 22:06:56 tom Exp $")
NCURSES_EXPORT(WINDOW *)
NCURSES_PUBLIC_VAR(stdscr) (void)
{
- return CURRENT_SCREEN ? StdScreen(CURRENT_SCREEN) : 0;
+ return SP ? SP->_stdscr : 0;
}
NCURSES_EXPORT(WINDOW *)
NCURSES_PUBLIC_VAR(curscr) (void)
{
- return CURRENT_SCREEN ? CurScreen(CURRENT_SCREEN) : 0;
+ return SP ? SP->_curscr : 0;
}
NCURSES_EXPORT(WINDOW *)
NCURSES_PUBLIC_VAR(newscr) (void)
{
- return CURRENT_SCREEN ? NewScreen(CURRENT_SCREEN) : 0;
+ return SP ? SP->_newscr : 0;
}
#else
NCURSES_EXPORT_VAR(WINDOW *) stdscr = 0;
@@ -94,7 +93,7 @@ _nc_screen(void)
NCURSES_EXPORT(int)
_nc_alloc_screen(void)
{
- return ((my_screen = _nc_alloc_screen_sp()) != 0);
+ return ((my_screen = typeCalloc(SCREEN, 1)) != 0);
}
NCURSES_EXPORT(void)
@@ -104,7 +103,6 @@ _nc_set_screen(SCREEN *sp)
}
#else
-
NCURSES_EXPORT_VAR(SCREEN *) SP = NULL; /* Some linkers require initialized data... */
#endif
/* *INDENT-OFF* */
@@ -142,9 +140,7 @@ NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = {
0, /* tgetent_index */
0, /* tgetent_sequence */
-#ifndef USE_SP_WINDOWLIST
0, /* _nc_windowlist */
-#endif
#if USE_HOME_TERMINFO
NULL, /* home_terminfo */
@@ -155,10 +151,6 @@ NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = {
0, /* safeprint_rows */
#endif
-#ifdef USE_TERM_DRIVER
- 0, /* term_driver */
-#endif
-
#ifdef TRACE
FALSE, /* init_trace */
CHARS_0s, /* trace_fname */
@@ -182,9 +174,7 @@ NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = {
{ CHARS_0s, CHARS_0s }, /* traceatr_color_buf */
0, /* traceatr_color_sel */
-1, /* traceatr_color_last */
-#if !defined(USE_PTHREADS) && USE_REENTRANT
- 0, /* nested_tracef */
-#endif
+
#endif /* TRACE */
#ifdef USE_PTHREADS
PTHREAD_MUTEX_INITIALIZER, /* mutex_curses */
@@ -193,9 +183,6 @@ NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = {
0, /* nested_tracef */
0, /* use_pthreads */
#endif
-#if USE_PTHREADS_EINTR
- 0, /* read_thread */
-#endif
};
#define STACK_FRAME_0 { { 0 }, 0 }
@@ -209,10 +196,8 @@ NCURSES_EXPORT_VAR(NCURSES_PRESCREEN) _nc_prescreen = {
TRUE, /* use_env */
FALSE, /* filter_mode */
A_NORMAL, /* previous_attr */
-#ifndef USE_SP_RIPOFF
RIPOFF_0s, /* ripoff */
NULL, /* rsp */
-#endif
{ /* tparm_state */
#ifdef TRACE
NULL, /* tname */
@@ -236,13 +221,10 @@ NCURSES_EXPORT_VAR(NCURSES_PRESCREEN) _nc_prescreen = {
#if NCURSES_NO_PADDING
FALSE, /* flag to set if padding disabled */
#endif
- 0, /* _outch */
#if BROKEN_LINKER || USE_REENTRANT
NULL, /* real_acs_map */
0, /* LINES */
0, /* COLS */
- 8, /* TABSIZE */
- 1000, /* ESCDELAY */
0, /* cur_term */
#ifdef TRACE
0L, /* _outchars */
@@ -252,22 +234,6 @@ NCURSES_EXPORT_VAR(NCURSES_PRESCREEN) _nc_prescreen = {
};
/* *INDENT-ON* */
-/*
- * wgetch() and other functions with a WINDOW* parameter may use a SCREEN*
- * internally, and it is useful to allow those to be invoked without switching
- * SCREEN's, e.g., for multi-threaded applications.
- */
-NCURSES_EXPORT(SCREEN *)
-_nc_screen_of(WINDOW *win)
-{
- SCREEN *sp = 0;
-
- if (win != 0) {
- sp = WINDOW_EXT(win, screen);
- }
- return (sp);
-}
-
/******************************************************************************/
#ifdef USE_PTHREADS
static void
@@ -348,9 +314,7 @@ _nc_mutex_unlock(pthread_mutex_t * obj)
return 0;
return pthread_mutex_unlock(obj);
}
-#endif /* USE_PTHREADS */
-#if defined(USE_PTHREADS) || USE_PTHREADS_EINTR
#if USE_WEAK_SYMBOLS
/*
* NB: sigprocmask(2) is global but pthread_sigmask(3p)
diff --git a/ncurses/tinfo/lib_has_cap.c b/ncurses/tinfo/lib_has_cap.c
index d1b9b8d966da..0dc66bd9b918 100644
--- a/ncurses/tinfo/lib_has_cap.c
+++ b/ncurses/tinfo/lib_has_cap.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2003 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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-2003 *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,53 +41,25 @@
#include <curses.priv.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
+#include <term.h>
-MODULE_ID("$Id: lib_has_cap.c,v 1.9 2009/10/24 22:15:47 tom Exp $")
+MODULE_ID("$Id: lib_has_cap.c,v 1.4 2003/10/25 19:43:55 tom Exp $")
NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(has_ic) (NCURSES_SP_DCL0)
-{
- bool code = FALSE;
-
- T((T_CALLED("has_ic(%p)"), (void *) SP_PARM));
-
- if (IsValidTIScreen(SP_PARM) && IsTermInfo(SP_PARM)) {
- code = ((insert_character || parm_ich
- || (enter_insert_mode && exit_insert_mode))
- && (delete_character || parm_dch)) ? TRUE : FALSE;
- }
-
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(bool)
has_ic(void)
{
- return NCURSES_SP_NAME(has_ic) (CURRENT_SCREEN);
-}
-#endif
-
-NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(has_il) (NCURSES_SP_DCL0)
-{
- bool code = FALSE;
- T((T_CALLED("has_il(%p)"), (void *) SP_PARM));
- if (IsValidTIScreen(SP_PARM) && IsTermInfo(SP_PARM)) {
- code = ((insert_line || parm_insert_line)
- && (delete_line || parm_delete_line)) ? TRUE : FALSE;
- }
-
- returnCode(code);
+ T((T_CALLED("has_ic()")));
+ returnCode(cur_term &&
+ (insert_character || parm_ich
+ || (enter_insert_mode && exit_insert_mode))
+ && (delete_character || parm_dch));
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(bool)
has_il(void)
{
- return NCURSES_SP_NAME(has_il) (CURRENT_SCREEN);
+ T((T_CALLED("has_il()")));
+ returnCode(cur_term
+ && (insert_line || parm_insert_line)
+ && (delete_line || parm_delete_line));
}
-#endif
diff --git a/ncurses/tinfo/lib_kernel.c b/ncurses/tinfo/lib_kernel.c
index 37f70842907d..89dc1e80ea8e 100644
--- a/ncurses/tinfo/lib_kernel.c
+++ b/ncurses/tinfo/lib_kernel.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2004 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 *
@@ -29,8 +29,7 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 2002 *
- * and: Juergen Pfeifer 2009 *
+ * and: Thomas E. Dickey 2002 *
****************************************************************************/
/*
@@ -47,8 +46,9 @@
*/
#include <curses.priv.h>
+#include <term.h> /* cur_term */
-MODULE_ID("$Id: lib_kernel.c,v 1.31 2010/12/19 01:21:19 tom Exp $")
+MODULE_ID("$Id: lib_kernel.c,v 1.24 2004/05/08 17:11:21 tom Exp $")
static int
_nc_vdisable(void)
@@ -59,7 +59,7 @@ _nc_vdisable(void)
#endif
#if defined(_PC_VDISABLE)
if (value == -1) {
- value = (int) fpathconf(0, _PC_VDISABLE);
+ value = fpathconf(0, _PC_VDISABLE);
if (value == -1) {
value = 0377;
}
@@ -79,32 +79,22 @@ _nc_vdisable(void)
*/
NCURSES_EXPORT(char)
-NCURSES_SP_NAME(erasechar) (NCURSES_SP_DCL0)
+erasechar(void)
{
int result = ERR;
- TERMINAL *termp = TerminalOf(SP_PARM);
-
- T((T_CALLED("erasechar(%p)"), (void *) SP_PARM));
+ T((T_CALLED("erasechar()")));
- if (termp != 0) {
+ if (cur_term != 0) {
#ifdef TERMIOS
- result = termp->Ottyb.c_cc[VERASE];
+ result = cur_term->Ottyb.c_cc[VERASE];
if (result == _nc_vdisable())
result = ERR;
#else
- result = termp->Ottyb.sg_erase;
+ result = cur_term->Ottyb.sg_erase;
#endif
}
- returnChar((char) result);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char)
-erasechar(void)
-{
- return NCURSES_SP_NAME(erasechar) (CURRENT_SCREEN);
+ returnCode(result);
}
-#endif
/*
* killchar()
@@ -114,32 +104,22 @@ erasechar(void)
*/
NCURSES_EXPORT(char)
-NCURSES_SP_NAME(killchar) (NCURSES_SP_DCL0)
+killchar(void)
{
int result = ERR;
- TERMINAL *termp = TerminalOf(SP_PARM);
+ T((T_CALLED("killchar()")));
- T((T_CALLED("killchar(%p)"), (void *) SP_PARM));
-
- if (termp != 0) {
+ if (cur_term != 0) {
#ifdef TERMIOS
- result = termp->Ottyb.c_cc[VKILL];
+ result = cur_term->Ottyb.c_cc[VKILL];
if (result == _nc_vdisable())
result = ERR;
#else
- result = termp->Ottyb.sg_kill;
+ result = cur_term->Ottyb.sg_kill;
#endif
}
- returnChar((char) result);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char)
-killchar(void)
-{
- return NCURSES_SP_NAME(killchar) (CURRENT_SCREEN);
+ returnCode(result);
}
-#endif
/*
* flushinp()
@@ -149,36 +129,26 @@ killchar(void)
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(flushinp) (NCURSES_SP_DCL0)
+flushinp(void)
{
- TERMINAL *termp = TerminalOf(SP_PARM);
-
- T((T_CALLED("flushinp(%p)"), (void *) SP_PARM));
+ T((T_CALLED("flushinp()")));
- if (termp != 0) {
+ if (cur_term != 0) {
#ifdef TERMIOS
- tcflush(termp->Filedes, TCIFLUSH);
+ tcflush(cur_term->Filedes, TCIFLUSH);
#else
errno = 0;
do {
- ioctl(termp->Filedes, TIOCFLUSH, 0);
+ ioctl(cur_term->Filedes, TIOCFLUSH, 0);
} while
(errno == EINTR);
#endif
- if (SP_PARM) {
- SP_PARM->_fifohead = -1;
- SP_PARM->_fifotail = 0;
- SP_PARM->_fifopeek = 0;
+ if (SP) {
+ SP->_fifohead = -1;
+ SP->_fifotail = 0;
+ SP->_fifopeek = 0;
}
returnCode(OK);
}
returnCode(ERR);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-flushinp(void)
-{
- return NCURSES_SP_NAME(flushinp) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/tinfo/lib_longname.c b/ncurses/tinfo/lib_longname.c
index 14903175b322..1301ee516944 100644
--- a/ncurses/tinfo/lib_longname.c
+++ b/ncurses/tinfo/lib_longname.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 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 *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,38 +40,8 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_longname.c,v 1.12 2010/12/20 00:31:26 tom Exp $")
+MODULE_ID("$Id: lib_longname.c,v 1.9 2000/12/10 02:55:07 tom Exp $")
-#if USE_REENTRANT
-NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(longname) (NCURSES_SP_DCL0)
-{
- static char empty[] =
- {'\0'};
- char *ptr;
-
- T((T_CALLED("longname(%p)"), (void *) SP_PARM));
-
- if (SP_PARM) {
- for (ptr = SP_PARM->_ttytype + strlen(SP_PARM->_ttytype);
- ptr > SP_PARM->_ttytype;
- ptr--)
- if (*ptr == '|')
- returnPtr(ptr + 1);
- returnPtr(SP_PARM->_ttytype);
- }
- return empty;
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char *)
-longname(void)
-{
- return NCURSES_SP_NAME(longname) (CURRENT_SCREEN);
-}
-#endif
-
-#else
NCURSES_EXPORT(char *)
longname(void)
{
@@ -81,11 +49,9 @@ longname(void)
T((T_CALLED("longname()")));
- for (ptr = ttytype + strlen(ttytype);
- ptr > ttytype;
- ptr--)
+ for (ptr = ttytype + strlen(ttytype); ptr > ttytype; ptr--)
if (*ptr == '|')
returnPtr(ptr + 1);
+
returnPtr(ttytype);
}
-#endif
diff --git a/ncurses/tinfo/lib_napms.c b/ncurses/tinfo/lib_napms.c
index 1e6abda10d09..417b3b4b4dbc 100644
--- a/ncurses/tinfo/lib_napms.c
+++ b/ncurses/tinfo/lib_napms.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,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 *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -51,17 +49,13 @@
#endif
#endif
-MODULE_ID("$Id: lib_napms.c,v 1.20 2009/11/07 20:37:30 tom Exp $")
+MODULE_ID("$Id: lib_napms.c,v 1.17 2008/05/03 21:34:13 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(napms) (NCURSES_SP_DCLx int ms)
+napms(int ms)
{
- (void) SP_PARM;
T((T_CALLED("napms(%d)"), ms));
-#ifdef USE_TERM_DRIVER
- CallDriver_1(SP_PARM, nap, ms);
-#else /* !USE_TERM_DRIVER */
#if HAVE_NANOSLEEP
{
struct timespec request, remaining;
@@ -75,15 +69,6 @@ NCURSES_SP_NAME(napms) (NCURSES_SP_DCLx int ms)
#else
_nc_timed_wait(0, 0, ms, (int *) 0 EVENTLIST_2nd(0));
#endif
-#endif /* !USE_TERM_DRIVER */
returnCode(OK);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-napms(int ms)
-{
- return NCURSES_SP_NAME(napms) (CURRENT_SCREEN, ms);
-}
-#endif
diff --git a/ncurses/tinfo/lib_options.c b/ncurses/tinfo/lib_options.c
index 654bf940aa1f..f3b1485bf111 100644
--- a/ncurses/tinfo/lib_options.c
+++ b/ncurses/tinfo/lib_options.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,67 +41,53 @@
#include <curses.priv.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
+#include <term.h>
+
+MODULE_ID("$Id: lib_options.c,v 1.58 2008/08/16 21:20:48 Werner.Fink Exp $")
-MODULE_ID("$Id: lib_options.c,v 1.71 2009/10/24 21:56:15 tom Exp $")
+static int _nc_curs_set(SCREEN *, int);
+static int _nc_meta(SCREEN *, bool);
NCURSES_EXPORT(int)
idlok(WINDOW *win, bool flag)
{
- int res = ERR;
- T((T_CALLED("idlok(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("idlok(%p,%d)"), win, flag));
if (win) {
- SCREEN *sp = _nc_screen_of(win);
- if (sp && IsTermInfo(sp)) {
- sp->_nc_sp_idlok =
- win->_idlok = (flag && (NCURSES_SP_NAME(has_il) (NCURSES_SP_ARG)
- || change_scroll_region));
- res = OK;
- }
- }
- returnCode(res);
+ _nc_idlok = win->_idlok = (flag && (has_il() || change_scroll_region));
+ returnCode(OK);
+ } else
+ returnCode(ERR);
}
NCURSES_EXPORT(void)
idcok(WINDOW *win, bool flag)
{
- T((T_CALLED("idcok(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("idcok(%p,%d)"), win, flag));
+
+ if (win)
+ _nc_idcok = win->_idcok = (flag && has_ic());
- if (win) {
- SCREEN *sp = _nc_screen_of(win);
- sp->_nc_sp_idcok = win->_idcok = (flag && NCURSES_SP_NAME(has_ic) (NCURSES_SP_ARG));
- }
returnVoid;
}
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(halfdelay) (NCURSES_SP_DCLx int t)
+halfdelay(int t)
{
- T((T_CALLED("halfdelay(%p,%d)"), (void *) SP_PARM, t));
+ T((T_CALLED("halfdelay(%d)"), t));
- if (t < 1 || t > 255 || !IsValidTIScreen(SP_PARM))
+ if (t < 1 || t > 255 || SP == 0)
returnCode(ERR);
- NCURSES_SP_NAME(cbreak) (NCURSES_SP_ARG);
- SP_PARM->_cbreak = t + 1;
+ cbreak();
+ SP->_cbreak = t + 1;
returnCode(OK);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-halfdelay(int t)
-{
- return NCURSES_SP_NAME(halfdelay) (CURRENT_SCREEN, t);
-}
-#endif
-
NCURSES_EXPORT(int)
nodelay(WINDOW *win, bool flag)
{
- T((T_CALLED("nodelay(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("nodelay(%p,%d)"), win, flag));
if (win) {
if (flag == TRUE)
@@ -117,7 +102,7 @@ nodelay(WINDOW *win, bool flag)
NCURSES_EXPORT(int)
notimeout(WINDOW *win, bool f)
{
- T((T_CALLED("notimeout(%p,%d)"), (void *) win, f));
+ T((T_CALLED("notimeout(%p,%d)"), win, f));
if (win) {
win->_notimeout = f;
@@ -129,7 +114,7 @@ notimeout(WINDOW *win, bool f)
NCURSES_EXPORT(void)
wtimeout(WINDOW *win, int delay)
{
- T((T_CALLED("wtimeout(%p,%d)"), (void *) win, delay));
+ T((T_CALLED("wtimeout(%p,%d)"), win, delay));
if (win) {
win->_delay = delay;
@@ -140,11 +125,11 @@ wtimeout(WINDOW *win, int delay)
NCURSES_EXPORT(int)
keypad(WINDOW *win, bool flag)
{
- T((T_CALLED("keypad(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("keypad(%p,%d)"), win, flag));
if (win) {
win->_use_keypad = flag;
- returnCode(_nc_keypad(_nc_screen_of(win), flag));
+ returnCode(_nc_keypad(SP, flag));
} else
returnCode(ERR);
}
@@ -152,106 +137,38 @@ keypad(WINDOW *win, bool flag)
NCURSES_EXPORT(int)
meta(WINDOW *win GCC_UNUSED, bool flag)
{
- int result = ERR;
- SCREEN *sp = (win == 0) ? CURRENT_SCREEN : _nc_screen_of(win);
-
- /* Ok, we stay relaxed and don't signal an error if win is NULL */
- T((T_CALLED("meta(%p,%d)"), (void *) win, flag));
+ int result;
/* Ok, we stay relaxed and don't signal an error if win is NULL */
-
- if (sp != 0) {
- sp->_use_meta = flag;
-#ifdef USE_TERM_DRIVER
- if (IsTermInfo(sp)) {
- if (flag) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_on", meta_on);
- } else {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_off", meta_off);
- }
- }
-#else
- if (flag) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_on", meta_on);
- } else {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_off", meta_off);
- }
-#endif
- result = OK;
- }
+ T((T_CALLED("meta(%p,%d)"), win, flag));
+ result = _nc_meta(SP, flag);
returnCode(result);
}
/* curs_set() moved here to narrow the kernel interface */
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(curs_set) (NCURSES_SP_DCLx int vis)
-{
- int code = ERR;
- T((T_CALLED("curs_set(%p,%d)"), (void *) SP_PARM, vis));
-
- if (SP_PARM != 0 && vis >= 0 && vis <= 2) {
- int cursor = SP_PARM->_cursor;
- bool bBuiltIn = !IsTermInfo(SP_PARM);
- if (vis == cursor) {
- code = cursor;
- } else {
- if (!bBuiltIn) {
- switch (vis) {
- case 2:
- code = NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
- "cursor_visible",
- cursor_visible);
- break;
- case 1:
- code = NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
- "cursor_normal",
- cursor_normal);
- break;
- case 0:
- code = NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
- "cursor_invisible",
- cursor_invisible);
- break;
- }
- } else
- code = ERR;
- if (code != ERR)
- code = (cursor == -1 ? 1 : cursor);
- SP_PARM->_cursor = vis;
- }
- }
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
curs_set(int vis)
{
- return (NCURSES_SP_NAME(curs_set) (CURRENT_SCREEN, vis));
+ int result;
+
+ T((T_CALLED("curs_set(%d)"), vis));
+ result = _nc_curs_set(SP, vis);
+ returnCode(result);
}
-#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(typeahead) (NCURSES_SP_DCLx int fd)
+typeahead(int fd)
{
- T((T_CALLED("typeahead(%p, %d)"), (void *) SP_PARM, fd));
- if (IsValidTIScreen(SP_PARM)) {
- SP_PARM->_checkfd = fd;
+ T((T_CALLED("typeahead(%d)"), fd));
+ if (SP != 0) {
+ SP->_checkfd = fd;
returnCode(OK);
} else {
returnCode(ERR);
}
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-typeahead(int fd)
-{
- return NCURSES_SP_NAME(typeahead) (CURRENT_SCREEN, fd);
-}
-#endif
-
/*
** has_key()
**
@@ -272,49 +189,42 @@ has_key_internal(int keycode, TRIES * tp)
|| has_key_internal(keycode, tp->sibling));
}
-#ifdef USE_TERM_DRIVER
-NCURSES_EXPORT(int)
-TINFO_HAS_KEY(SCREEN *sp, int keycode)
-{
- return IsValidTIScreen(sp) ?
- has_key_internal(keycode, sp->_keytry) : 0;
-}
-#else
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(has_key) (NCURSES_SP_DCLx int keycode)
-{
- T((T_CALLED("has_key(%p,%d)"), (void *) SP_PARM, keycode));
- returnCode(SP != 0 ? has_key_internal(keycode, SP_PARM->_keytry) : FALSE);
-}
-
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
has_key(int keycode)
{
- return NCURSES_SP_NAME(has_key) (CURRENT_SCREEN, keycode);
+ T((T_CALLED("has_key(%d)"), keycode));
+ returnCode(SP != 0 ? has_key_internal(keycode, SP->_keytry) : FALSE);
}
-#endif
-#endif
#endif /* NCURSES_EXT_FUNCS */
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_DCLx
- const char *name, const char *value)
+/*
+ * Internal entrypoints use SCREEN* parameter to obtain capabilities rather
+ * than cur_term.
+ */
+#undef CUR
+#define CUR (sp->_term)->type.
+
+static int
+_nc_putp(const char *name GCC_UNUSED, const char *value)
{
- int rc = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx name, value);
- if (rc != ERR) {
- _nc_flush();
+ int rc = ERR;
+
+ if (value) {
+ TPUTS_TRACE(name);
+ rc = putp(value);
}
return rc;
}
-#if 0 && NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
+static int
_nc_putp_flush(const char *name, const char *value)
{
- return NCURSES_SP_NAME(_nc_putp_flush) (CURRENT_SCREEN, name, value);
+ int rc = _nc_putp(name, value);
+ if (rc != ERR) {
+ _nc_flush();
+ }
+ return rc;
}
-#endif
/* Turn the keypad on/off
*
@@ -335,12 +245,12 @@ _nc_keypad(SCREEN *sp, bool flag)
* has wgetch() reading in more than one thread. putp() and below
* may use SP explicitly.
*/
- if (_nc_use_pthreads && sp != CURRENT_SCREEN) {
+ if (_nc_use_pthreads && sp != SP) {
SCREEN *save_sp;
/* cannot use use_screen(), since that is not in tinfo library */
_nc_lock_global(curses);
- save_sp = CURRENT_SCREEN;
+ save_sp = SP;
_nc_set_screen(sp);
rc = _nc_keypad(sp, flag);
_nc_set_screen(save_sp);
@@ -348,19 +258,10 @@ _nc_keypad(SCREEN *sp, bool flag)
} else
#endif
{
-#ifdef USE_TERM_DRIVER
- rc = CallDriver_1(sp, kpad, flag);
- if (rc == OK)
- sp->_keypad_on = flag;
-#else
if (flag) {
- (void) NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
- "keypad_xmit",
- keypad_xmit);
+ (void) _nc_putp_flush("keypad_xmit", keypad_xmit);
} else if (!flag && keypad_local) {
- (void) NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
- "keypad_local",
- keypad_local);
+ (void) _nc_putp_flush("keypad_local", keypad_local);
}
if (flag && !sp->_tried) {
@@ -369,8 +270,58 @@ _nc_keypad(SCREEN *sp, bool flag)
}
sp->_keypad_on = flag;
rc = OK;
-#endif
}
}
return (rc);
}
+
+static int
+_nc_curs_set(SCREEN *sp, int vis)
+{
+ int result = ERR;
+
+ T((T_CALLED("curs_set(%d)"), vis));
+ if (sp != 0 && vis >= 0 && vis <= 2) {
+ int cursor = sp->_cursor;
+
+ if (vis == cursor) {
+ result = cursor;
+ } else {
+ switch (vis) {
+ case 2:
+ result = _nc_putp_flush("cursor_visible", cursor_visible);
+ break;
+ case 1:
+ result = _nc_putp_flush("cursor_normal", cursor_normal);
+ break;
+ case 0:
+ result = _nc_putp_flush("cursor_invisible", cursor_invisible);
+ break;
+ }
+ if (result != ERR)
+ result = (cursor == -1 ? 1 : cursor);
+ sp->_cursor = vis;
+ }
+ }
+ returnCode(result);
+}
+
+static int
+_nc_meta(SCREEN *sp, bool flag)
+{
+ int result = ERR;
+
+ /* Ok, we stay relaxed and don't signal an error if win is NULL */
+
+ if (SP != 0) {
+ SP->_use_meta = flag;
+
+ if (flag) {
+ _nc_putp("meta_on", meta_on);
+ } else {
+ _nc_putp("meta_off", meta_off);
+ }
+ result = OK;
+ }
+ return result;
+}
diff --git a/ncurses/tinfo/lib_print.c b/ncurses/tinfo/lib_print.c
index c7bd3a62fa87..975b46d85773 100644
--- a/ncurses/tinfo/lib_print.c
+++ b/ncurses/tinfo/lib_print.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2002,2006 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 *
@@ -29,31 +29,23 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer *
****************************************************************************/
#include <curses.priv.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
+#include <term.h>
-MODULE_ID("$Id: lib_print.c,v 1.20 2010/06/05 22:18:35 tom Exp $")
+MODULE_ID("$Id: lib_print.c,v 1.16 2006/11/26 00:26:34 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(mcprint) (NCURSES_SP_DCLx char *data, int len)
+mcprint(char *data, int len)
/* ship binary character data to the printer via mc4/mc5/mc5p */
{
- int result;
char *mybuf, *switchon;
- size_t onsize, offsize;
- size_t need;
+ size_t onsize, offsize, res;
errno = 0;
- if (!HasTInfoTerminal(SP_PARM)
- || len <= 0
- || (!prtr_non && (!prtr_on || !prtr_off))) {
+ if (!cur_term || (!prtr_non && (!prtr_on || !prtr_off))) {
errno = ENODEV;
return (ERR);
}
@@ -68,10 +60,8 @@ NCURSES_SP_NAME(mcprint) (NCURSES_SP_DCLx char *data, int len)
offsize = strlen(prtr_off);
}
- need = onsize + (size_t) len + offsize;
-
if (switchon == 0
- || (mybuf = typeMalloc(char, need + 1)) == 0) {
+ || (mybuf = typeMalloc(char, onsize + len + offsize + 1)) == 0) {
errno = ENOMEM;
return (ERR);
}
@@ -88,24 +78,15 @@ NCURSES_SP_NAME(mcprint) (NCURSES_SP_DCLx char *data, int len)
* data has actually been shipped to the terminal. If the write(2)
* operation is truly atomic we're protected from this.
*/
- result = (int) write(TerminalOf(SP_PARM)->Filedes, mybuf, need);
+ res = write(cur_term->Filedes, mybuf, onsize + len + offsize);
/*
* By giving up our scheduler slot here we increase the odds that the
* kernel will ship the contiguous clist items from the last write
* immediately.
*/
-#ifndef __MINGW32__
(void) sleep(0);
-#endif
- free(mybuf);
- return (result);
-}
-#if NCURSES_SP_FUNCS && !defined(USE_TERM_DRIVER)
-NCURSES_EXPORT(int)
-mcprint(char *data, int len)
-{
- return NCURSES_SP_NAME(mcprint) (CURRENT_SCREEN, data, len);
+ free(mybuf);
+ return (res);
}
-#endif
diff --git a/ncurses/tinfo/lib_raw.c b/ncurses/tinfo/lib_raw.c
index b524a1bb55be..58e71889af12 100644
--- a/ncurses/tinfo/lib_raw.c
+++ b/ncurses/tinfo/lib_raw.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2002,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,7 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1998-on *
- * and: Juergen Pfeifer 2009 *
+ * and: Thomas E. Dickey 1998 on *
****************************************************************************/
/*
@@ -48,8 +47,9 @@
*/
#include <curses.priv.h>
+#include <term.h> /* cur_term */
-MODULE_ID("$Id: lib_raw.c,v 1.19 2010/04/24 23:49:12 tom Exp $")
+MODULE_ID("$Id: lib_raw.c,v 1.14 2007/09/29 21:50:22 tom Exp $")
#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
#define _POSIX_SOURCE
@@ -61,7 +61,7 @@ MODULE_ID("$Id: lib_raw.c,v 1.19 2010/04/24 23:49:12 tom Exp $")
#ifdef __EMX__
#include <io.h>
-#define _nc_setmode(mode) setmode(SP_PARM->_ifd, mode)
+#define _nc_setmode(mode) setmode(SP->_ifd, mode)
#else
#define _nc_setmode(mode) /* nothing */
#endif
@@ -77,235 +77,188 @@ MODULE_ID("$Id: lib_raw.c,v 1.19 2010/04/24 23:49:12 tom Exp $")
#endif /* TRACE */
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(raw) (NCURSES_SP_DCL0)
+raw(void)
{
int result = ERR;
- TERMINAL *termp;
- T((T_CALLED("raw(%p)"), (void *) SP_PARM));
- if ((termp = TerminalOf(SP_PARM)) != 0) {
+ T((T_CALLED("raw()")));
+
+ if (SP != 0 && cur_term != 0) {
TTY buf;
BEFORE("raw");
_nc_setmode(O_BINARY);
- buf = termp->Nttyb;
+ buf = cur_term->Nttyb;
#ifdef TERMIOS
- buf.c_lflag &= (unsigned) ~(ICANON | ISIG | IEXTEN);
- buf.c_iflag &= (unsigned) ~(COOKED_INPUT);
+ buf.c_lflag &= ~(ICANON | ISIG | IEXTEN);
+ buf.c_iflag &= ~(COOKED_INPUT);
buf.c_cc[VMIN] = 1;
buf.c_cc[VTIME] = 0;
#else
buf.sg_flags |= RAW;
#endif
- result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
- if (result == OK) {
- SP_PARM->_raw = TRUE;
- SP_PARM->_cbreak = 1;
- termp->Nttyb = buf;
+ if ((result = _nc_set_tty_mode(&buf)) == OK) {
+ SP->_raw = TRUE;
+ SP->_cbreak = 1;
+ cur_term->Nttyb = buf;
}
AFTER("raw");
}
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-raw(void)
-{
- return NCURSES_SP_NAME(raw) (CURRENT_SCREEN);
-}
-#endif
-
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(cbreak) (NCURSES_SP_DCL0)
+cbreak(void)
{
int result = ERR;
- TERMINAL *termp;
- T((T_CALLED("cbreak(%p)"), (void *) SP_PARM));
- if ((termp = TerminalOf(SP_PARM)) != 0) {
+ T((T_CALLED("cbreak()")));
+
+ if (SP != 0 && cur_term != 0) {
TTY buf;
BEFORE("cbreak");
_nc_setmode(O_BINARY);
- buf = termp->Nttyb;
+ buf = cur_term->Nttyb;
#ifdef TERMIOS
- buf.c_lflag &= (unsigned) ~ICANON;
- buf.c_iflag &= (unsigned) ~ICRNL;
+ buf.c_lflag &= ~ICANON;
+ buf.c_iflag &= ~ICRNL;
buf.c_lflag |= ISIG;
buf.c_cc[VMIN] = 1;
buf.c_cc[VTIME] = 0;
#else
buf.sg_flags |= CBREAK;
#endif
- result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
- if (result == OK) {
- SP_PARM->_cbreak = 1;
- termp->Nttyb = buf;
+ if ((result = _nc_set_tty_mode(&buf)) == OK) {
+ SP->_cbreak = 1;
+ cur_term->Nttyb = buf;
}
AFTER("cbreak");
}
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-cbreak(void)
-{
- return NCURSES_SP_NAME(cbreak) (CURRENT_SCREEN);
-}
-#endif
-
/*
* Note:
* this implementation may be wrong. See the comment under intrflush().
*/
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(qiflush) (NCURSES_SP_DCL0)
+qiflush(void)
{
int result = ERR;
- TERMINAL *termp;
- T((T_CALLED("qiflush(%p)"), (void *) SP_PARM));
- if ((termp = TerminalOf(SP_PARM)) != 0) {
+ T((T_CALLED("qiflush()")));
+
+ if (cur_term != 0) {
TTY buf;
BEFORE("qiflush");
- buf = termp->Nttyb;
+ buf = cur_term->Nttyb;
#ifdef TERMIOS
- buf.c_lflag &= (unsigned) ~(NOFLSH);
- result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
+ buf.c_lflag &= ~(NOFLSH);
+ result = _nc_set_tty_mode(&buf);
#else
/* FIXME */
#endif
if (result == OK)
- termp->Nttyb = buf;
+ cur_term->Nttyb = buf;
AFTER("qiflush");
}
returnVoid;
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-qiflush(void)
-{
- NCURSES_SP_NAME(qiflush) (CURRENT_SCREEN);
-}
-#endif
-
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(noraw) (NCURSES_SP_DCL0)
+noraw(void)
{
int result = ERR;
- TERMINAL *termp;
- T((T_CALLED("noraw(%p)"), (void *) SP_PARM));
- if ((termp = TerminalOf(SP_PARM)) != 0) {
+ T((T_CALLED("noraw()")));
+
+ if (SP != 0 && cur_term != 0) {
TTY buf;
BEFORE("noraw");
_nc_setmode(O_TEXT);
- buf = termp->Nttyb;
+ buf = cur_term->Nttyb;
#ifdef TERMIOS
buf.c_lflag |= ISIG | ICANON |
- (termp->Ottyb.c_lflag & IEXTEN);
+ (cur_term->Ottyb.c_lflag & IEXTEN);
buf.c_iflag |= COOKED_INPUT;
#else
buf.sg_flags &= ~(RAW | CBREAK);
#endif
- result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
- if (result == OK) {
- SP_PARM->_raw = FALSE;
- SP_PARM->_cbreak = 0;
- termp->Nttyb = buf;
+ if ((result = _nc_set_tty_mode(&buf)) == OK) {
+ SP->_raw = FALSE;
+ SP->_cbreak = 0;
+ cur_term->Nttyb = buf;
}
AFTER("noraw");
}
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-noraw(void)
-{
- return NCURSES_SP_NAME(noraw) (CURRENT_SCREEN);
-}
-#endif
-
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(nocbreak) (NCURSES_SP_DCL0)
+nocbreak(void)
{
int result = ERR;
- TERMINAL *termp;
- T((T_CALLED("nocbreak(%p)"), (void *) SP_PARM));
- if ((termp = TerminalOf(SP_PARM)) != 0) {
+ T((T_CALLED("nocbreak()")));
+
+ if (SP != 0 && cur_term != 0) {
TTY buf;
BEFORE("nocbreak");
_nc_setmode(O_TEXT);
- buf = termp->Nttyb;
+ buf = cur_term->Nttyb;
#ifdef TERMIOS
buf.c_lflag |= ICANON;
buf.c_iflag |= ICRNL;
#else
buf.sg_flags &= ~CBREAK;
#endif
- result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
- if (result == OK) {
- SP_PARM->_cbreak = 0;
- termp->Nttyb = buf;
+ if ((result = _nc_set_tty_mode(&buf)) == OK) {
+ SP->_cbreak = 0;
+ cur_term->Nttyb = buf;
}
AFTER("nocbreak");
}
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-nocbreak(void)
-{
- return NCURSES_SP_NAME(nocbreak) (CURRENT_SCREEN);
-}
-#endif
-
+/*
+ * Note:
+ * this implementation may be wrong. See the comment under intrflush().
+ */
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(noqiflush) (NCURSES_SP_DCL0)
+noqiflush(void)
{
int result = ERR;
- TERMINAL *termp;
- T((T_CALLED("noqiflush(%p)"), (void *) SP_PARM));
- if ((termp = TerminalOf(SP_PARM)) != 0) {
+ T((T_CALLED("noqiflush()")));
+
+ if (cur_term != 0) {
TTY buf;
BEFORE("noqiflush");
- buf = termp->Nttyb;
+ buf = cur_term->Nttyb;
#ifdef TERMIOS
buf.c_lflag |= NOFLSH;
- result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
+ result = _nc_set_tty_mode(&buf);
#else
/* FIXME */
#endif
- if (result == OK)
- termp->Nttyb = buf;
+ if (result == OK) {
+ cur_term->Nttyb = buf;
+ }
AFTER("noqiflush");
}
returnVoid;
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-noqiflush(void)
-{
- NCURSES_SP_NAME(noqiflush) (CURRENT_SCREEN);
-}
-#endif
-
/*
* This call does the same thing as the qiflush()/noqiflush() pair. We know
* for certain that SVr3 intrflush() tweaks the NOFLSH bit; on the other hand,
@@ -314,41 +267,30 @@ noqiflush(void)
* curs_inopts(3x) is too exact to be coincidence.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(intrflush) (NCURSES_SP_DCLx WINDOW *win GCC_UNUSED, bool flag)
+intrflush(WINDOW *win GCC_UNUSED, bool flag)
{
int result = ERR;
- TERMINAL *termp;
- T((T_CALLED("intrflush(%p,%d)"), (void *) SP_PARM, flag));
- if (SP_PARM == 0)
- returnCode(ERR);
+ T((T_CALLED("intrflush(%d)"), flag));
- if ((termp = TerminalOf(SP_PARM)) != 0) {
+ if (cur_term != 0) {
TTY buf;
BEFORE("intrflush");
- buf = termp->Nttyb;
+ buf = cur_term->Nttyb;
#ifdef TERMIOS
if (flag)
- buf.c_lflag &= (unsigned) ~(NOFLSH);
+ buf.c_lflag &= ~(NOFLSH);
else
buf.c_lflag |= (NOFLSH);
- result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
+ result = _nc_set_tty_mode(&buf);
#else
/* FIXME */
#endif
if (result == OK) {
- termp->Nttyb = buf;
+ cur_term->Nttyb = buf;
}
AFTER("intrflush");
}
returnCode(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-intrflush(WINDOW *win GCC_UNUSED, bool flag)
-{
- return NCURSES_SP_NAME(intrflush) (CURRENT_SCREEN, win, flag);
-}
-#endif
diff --git a/ncurses/tinfo/lib_setup.c b/ncurses/tinfo/lib_setup.c
index 5fcf2ae3fc32..8cfaf12c5348 100644
--- a/ncurses/tinfo/lib_setup.c
+++ b/ncurses/tinfo/lib_setup.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,6 +41,7 @@
#include <curses.priv.h>
#include <tic.h> /* for MAX_NAME_SIZE */
+#include <term_entry.h>
#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
#define _POSIX_SOURCE
@@ -51,7 +51,9 @@
#include <locale.h>
#endif
-MODULE_ID("$Id: lib_setup.c,v 1.135 2011/02/06 01:04:21 tom Exp $")
+#include <term.h> /* lines, columns, cur_term */
+
+MODULE_ID("$Id: lib_setup.c,v 1.111 2008/08/03 22:42:33 tom Exp $")
/****************************************************************************
*
@@ -107,96 +109,61 @@ MODULE_ID("$Id: lib_setup.c,v 1.135 2011/02/06 01:04:21 tom Exp $")
* Wrap global variables in this module.
*/
#if USE_REENTRANT
-
NCURSES_EXPORT(char *)
NCURSES_PUBLIC_VAR(ttytype) (void)
{
static char empty[] = "";
- char *result = empty;
-
-#if NCURSES_SP_FUNCS
- if (CURRENT_SCREEN) {
- TERMINAL *termp = TerminalOf(CURRENT_SCREEN);
- if (termp != 0) {
- result = termp->type.term_names;
- }
- }
-#else
- if (cur_term != 0) {
- result = cur_term->type.term_names;
- }
-#endif
- return result;
+ return cur_term ? cur_term->type.term_names : empty;
}
-
NCURSES_EXPORT(int *)
-_nc_ptr_Lines(SCREEN *sp)
+_nc_ptr_Lines(void)
{
- return ptrLines(sp);
+ return ptrLines();
}
-
NCURSES_EXPORT(int)
NCURSES_PUBLIC_VAR(LINES) (void)
{
- return *_nc_ptr_Lines(CURRENT_SCREEN);
+ return *_nc_ptr_Lines();
}
-
NCURSES_EXPORT(int *)
-_nc_ptr_Cols(SCREEN *sp)
+_nc_ptr_Cols(void)
{
- return ptrCols(sp);
+ return ptrCols();
}
-
NCURSES_EXPORT(int)
NCURSES_PUBLIC_VAR(COLS) (void)
{
- return *_nc_ptr_Cols(CURRENT_SCREEN);
-}
-
-NCURSES_EXPORT(int *)
-_nc_ptr_Tabsize(SCREEN *sp)
-{
- return ptrTabsize(sp);
+ return *_nc_ptr_Cols();
}
-
NCURSES_EXPORT(int)
NCURSES_PUBLIC_VAR(TABSIZE) (void)
{
- return *_nc_ptr_Tabsize(CURRENT_SCREEN);
+ return SP ? SP->_TABSIZE : 8;
}
#else
NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = "";
NCURSES_EXPORT_VAR(int) LINES = 0;
NCURSES_EXPORT_VAR(int) COLS = 0;
-NCURSES_EXPORT_VAR(int) TABSIZE = 8;
+NCURSES_EXPORT_VAR(int) TABSIZE = 0;
#endif
#if NCURSES_EXT_FUNCS
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(set_tabsize) (NCURSES_SP_DCLx int value)
+set_tabsize(int value)
{
int code = OK;
#if USE_REENTRANT
- if (SP_PARM) {
- SP_PARM->_TABSIZE = value;
+ if (SP) {
+ SP->_TABSIZE = value;
} else {
code = ERR;
}
#else
- (void) SP_PARM;
TABSIZE = value;
#endif
return code;
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-set_tabsize(int value)
-{
- return NCURSES_SP_NAME(set_tabsize) (CURRENT_SCREEN, value);
-}
#endif
-#endif /* NCURSES_EXT_FUNCS */
#if USE_SIGWINCH
/*
@@ -221,71 +188,42 @@ _nc_handle_sigwinch(SCREEN *sp)
#endif
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(use_env) (NCURSES_SP_DCLx bool f)
-{
- T((T_CALLED("use_env(%p,%d)"), (void *) SP_PARM, (int) f));
-#if NCURSES_SP_FUNCS
- if (IsPreScreen(SP_PARM)) {
- SP_PARM->_use_env = f;
- }
-#else
- _nc_prescreen.use_env = f;
-#endif
- returnVoid;
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
use_env(bool f)
{
- T((T_CALLED("use_env(%d)"), (int) f));
+ T((T_CALLED("use_env()")));
_nc_prescreen.use_env = f;
returnVoid;
}
-#endif
NCURSES_EXPORT(void)
-_nc_get_screensize(SCREEN *sp,
-#ifdef USE_TERM_DRIVER
- TERMINAL * termp,
-#endif
- int *linep, int *colp)
+_nc_get_screensize(SCREEN *sp, int *linep, int *colp)
/* Obtain lines/columns values from the environment and/or terminfo entry */
{
-#ifdef USE_TERM_DRIVER
- TERMINAL_CONTROL_BLOCK *TCB;
- int my_tabsize;
-
- assert(termp != 0 && linep != 0 && colp != 0);
- TCB = (TERMINAL_CONTROL_BLOCK *) termp;
-
- my_tabsize = TCB->info.tabsize;
- TCB->drv->size(TCB, linep, colp);
-
-#if USE_REENTRANT
- if (sp != 0) {
- sp->_TABSIZE = my_tabsize;
- }
-#else
- (void) sp;
- TABSIZE = my_tabsize;
-#endif
- T(("TABSIZE = %d", my_tabsize));
-#else /* !USE_TERM_DRIVER */
TERMINAL *termp = cur_term;
int my_tabsize;
/* figure out the size of the screen */
T(("screen size: terminfo lines = %d columns = %d", lines, columns));
- *linep = (int) lines;
- *colp = (int) columns;
-
- if (_nc_prescreen.use_env) {
+ if (!_nc_prescreen.use_env) {
+ *linep = (int) lines;
+ *colp = (int) columns;
+ } else { /* usually want to query LINES and COLUMNS from environment */
int value;
+ *linep = *colp = 0;
+
+ /* first, look for environment variables */
+ if ((value = _nc_getenv_num("LINES")) > 0) {
+ *linep = value;
+ }
+ if ((value = _nc_getenv_num("COLUMNS")) > 0) {
+ *colp = value;
+ }
+ T(("screen size: environment LINES = %d COLUMNS = %d", *linep, *colp));
+
#ifdef __EMX__
- {
+ if (*linep <= 0 || *colp <= 0) {
int screendata[2];
_scrsize(screendata);
*colp = screendata[0];
@@ -295,41 +233,33 @@ _nc_get_screensize(SCREEN *sp,
}
#endif
#if HAVE_SIZECHANGE
- /* try asking the OS */
- if (isatty(cur_term->Filedes)) {
- STRUCT_WINSIZE size;
-
- errno = 0;
- do {
- if (ioctl(cur_term->Filedes, IOCTL_WINSIZE, &size) >= 0) {
- *linep = ((sp != 0 && sp->_filtered)
- ? 1
- : WINSIZE_ROWS(size));
+ /* if that didn't work, maybe we can try asking the OS */
+ if (*linep <= 0 || *colp <= 0) {
+ if (isatty(cur_term->Filedes)) {
+ STRUCT_WINSIZE size;
+
+ errno = 0;
+ do {
+ if (ioctl(cur_term->Filedes, IOCTL_WINSIZE, &size) < 0
+ && errno != EINTR)
+ goto failure;
+ } while
+ (errno == EINTR);
+
+ /*
+ * Solaris lets users override either dimension with an
+ * environment variable.
+ */
+ if (*linep <= 0)
+ *linep = (sp != 0 && sp->_filtered) ? 1 : WINSIZE_ROWS(size);
+ if (*colp <= 0)
*colp = WINSIZE_COLS(size);
- T(("SYS screen size: environment LINES = %d COLUMNS = %d",
- *linep, *colp));
- break;
- }
- } while
- (errno == EINTR);
+ }
+ /* FALLTHRU */
+ failure:;
}
#endif /* HAVE_SIZECHANGE */
- /*
- * Finally, look for environment variables.
- *
- * Solaris lets users override either dimension with an environment
- * variable.
- */
- if ((value = _nc_getenv_num("LINES")) > 0) {
- *linep = value;
- T(("screen size: environment LINES = %d", *linep));
- }
- if ((value = _nc_getenv_num("COLUMNS")) > 0) {
- *colp = value;
- T(("screen size: environment COLUMNS = %d", *colp));
- }
-
/* if we can't get dynamic info about the size, use static */
if (*linep <= 0) {
*linep = (int) lines;
@@ -368,31 +298,19 @@ _nc_get_screensize(SCREEN *sp,
TABSIZE = my_tabsize;
#endif
T(("TABSIZE = %d", TABSIZE));
-#endif /* USE_TERM_DRIVER */
}
#if USE_SIZECHANGE
NCURSES_EXPORT(void)
_nc_update_screensize(SCREEN *sp)
{
- int new_lines;
- int new_cols;
-
-#ifdef USE_TERM_DRIVER
- int old_lines;
- int old_cols;
-
- assert(sp != 0);
-
- CallDriver_2(sp, getsize, &old_lines, &old_cols);
-
-#else
TERMINAL *termp = cur_term;
int old_lines = lines;
+ int new_lines;
int old_cols = columns;
-#endif
+ int new_cols;
- TINFO_GET_SIZE(sp, sp->_term, &new_lines, &new_cols);
+ _nc_get_screensize(sp, &new_lines, &new_cols);
/*
* See is_term_resized() and resizeterm().
@@ -402,7 +320,7 @@ _nc_update_screensize(SCREEN *sp)
if (sp != 0
&& sp->_resize != 0) {
if ((new_lines != old_lines) || (new_cols != old_cols))
- sp->_resize(NCURSES_SP_ARGx new_lines, new_cols);
+ sp->_resize(new_lines, new_cols);
sp->_sig_winch = FALSE;
}
}
@@ -435,8 +353,8 @@ _nc_update_screensize(SCREEN *sp)
* Return 1 if entry found, 0 if not found, -1 if database not accessible,
* just like tgetent().
*/
-int
-_nc_setup_tinfo(const char *const tn, TERMTYPE *const tp)
+static int
+grab_entry(const char *const tn, TERMTYPE *const tp)
{
char filename[PATH_MAX];
int status = _nc_read_entry(tn, filename, tp);
@@ -463,27 +381,28 @@ _nc_setup_tinfo(const char *const tn, TERMTYPE *const tp)
#endif
/*
+** do_prototype()
+**
** Take the real command character out of the CC environment variable
** and substitute it in for the prototype given in 'command_character'.
*/
-void
-_nc_tinfo_cmdch(TERMINAL * termp, char proto)
+static void
+do_prototype(TERMINAL * termp)
{
unsigned i;
char CC;
+ char proto;
char *tmp;
- /*
- * Only use the character if the string is a single character,
- * since it is fairly common for developers to set the C compiler
- * name as an environment variable - using the same symbol.
- */
- if ((tmp = getenv("CC")) != 0 && strlen(tmp) == 1) {
- CC = *tmp;
- for_each_string(i, &(termp->type)) {
- for (tmp = termp->type.Strings[i]; *tmp; tmp++) {
- if (*tmp == proto)
- *tmp = CC;
+ if ((tmp = getenv("CC")) != 0) {
+ if ((CC = *tmp) != 0) {
+ proto = *command_character;
+
+ for_each_string(i, &(termp->type)) {
+ for (tmp = termp->type.Strings[i]; *tmp; tmp++) {
+ if (*tmp == proto)
+ *tmp = CC;
+ }
}
}
}
@@ -546,64 +465,39 @@ _nc_unicode_locale(void)
NCURSES_EXPORT(int)
_nc_locale_breaks_acs(TERMINAL * termp)
{
- const char *env_name = "NCURSES_NO_UTF8_ACS";
char *env;
- int value;
- int result = 0;
- if ((env = getenv(env_name)) != 0) {
- result = _nc_getenv_num(env_name);
- } else if ((value = tigetnum("U8")) >= 0) {
- result = value; /* use extension feature */
+ if ((env = getenv("NCURSES_NO_UTF8_ACS")) != 0) {
+ return atoi(env);
} else if ((env = getenv("TERM")) != 0) {
- if (strstr(env, "linux")) {
- result = 1; /* always broken */
- } else if (strstr(env, "screen") != 0
- && ((env = getenv("TERMCAP")) != 0
- && strstr(env, "screen") != 0)
- && strstr(env, "hhII00") != 0) {
+ if (strstr(env, "linux"))
+ return 1; /* always broken */
+ if (strstr(env, "screen") != 0
+ && ((env = getenv("TERMCAP")) != 0
+ && strstr(env, "screen") != 0)
+ && strstr(env, "hhII00") != 0) {
if (CONTROL_N(enter_alt_charset_mode) ||
CONTROL_O(enter_alt_charset_mode) ||
CONTROL_N(set_attributes) ||
- CONTROL_O(set_attributes)) {
- result = 1;
- }
+ CONTROL_O(set_attributes))
+ return 1;
}
}
- return result;
+ return 0;
}
+/*
+ * This entrypoint is called from tgetent() to allow a special case of reusing
+ * the same TERMINAL data (see comment).
+ */
NCURSES_EXPORT(int)
-TINFO_SETUP_TERM(TERMINAL ** tp,
- NCURSES_CONST char *tname,
- int Filedes,
- int *errret,
- bool reuse)
+_nc_setupterm(NCURSES_CONST char *tname, int Filedes, int *errret, bool reuse)
{
-#ifdef USE_TERM_DRIVER
- TERMINAL_CONTROL_BLOCK *TCB = 0;
-#else
- int status;
-#endif
TERMINAL *termp;
- SCREEN *sp = 0;
- int code = ERR;
+ int status;
START_TRACE();
-
-#ifdef USE_TERM_DRIVER
- T((T_CALLED("_nc_setupterm_ex(%p,%s,%d,%p)"),
- (void *) tp, _nc_visbuf(tname), Filedes, (void *) errret));
-
- if (tp == 0) {
- ret_error0(TGETENT_ERR,
- "Invalid parameter, internal error.\n");
- } else
- termp = *tp;
-#else
- termp = cur_term;
- T((T_CALLED("setupterm(%s,%d,%p)"), _nc_visbuf(tname), Filedes, (void *) errret));
-#endif
+ T((T_CALLED("setupterm(%s,%d,%p)"), _nc_visbuf(tname), Filedes, errret));
if (tname == 0) {
tname = getenv("TERM");
@@ -644,37 +538,22 @@ TINFO_SETUP_TERM(TERMINAL ** tp,
* properly with this feature).
*/
if (reuse
- && (termp != 0)
+ && (termp = cur_term) != 0
&& termp->Filedes == Filedes
&& termp->_termname != 0
&& !strcmp(termp->_termname, tname)
&& _nc_name_match(termp->type.term_names, tname, "|")) {
T(("reusing existing terminal information and mode-settings"));
- code = OK;
} else {
-#ifdef USE_TERM_DRIVER
- termp = (TERMINAL *) typeCalloc(TERMINAL_CONTROL_BLOCK, 1);
-#else
+
termp = typeCalloc(TERMINAL, 1);
-#endif
+
if (termp == 0) {
ret_error0(TGETENT_ERR,
"Not enough memory to create terminal structure.\n");
}
-#ifdef USE_TERM_DRIVER
- INIT_TERM_DRIVER();
- TCB = (TERMINAL_CONTROL_BLOCK *) termp;
- code = _nc_globals.term_driver(TCB, tname, errret);
- if (code == OK) {
- termp->Filedes = (short) Filedes;
- termp->_termname = strdup(tname);
- } else {
- ret_error0(TGETENT_ERR,
- "Could not find any driver to handle this terminal.\n");
- }
-#else
#if USE_DATABASE || USE_TERMCAP
- status = _nc_setup_tinfo(tname, &termp->type);
+ status = grab_entry(tname, &termp->type);
#else
status = TGETENT_NO;
#endif
@@ -702,13 +581,13 @@ TINFO_SETUP_TERM(TERMINAL ** tp,
ttytype[NAMESIZE - 1] = '\0';
#endif
- termp->Filedes = (short) Filedes;
+ termp->Filedes = Filedes;
termp->_termname = strdup(tname);
set_curterm(termp);
- if (command_character)
- _nc_tinfo_cmdch(termp, *command_character);
+ if (command_character && getenv("CC"))
+ do_prototype(termp);
/*
* If an application calls setupterm() rather than initscr() or
@@ -720,94 +599,24 @@ TINFO_SETUP_TERM(TERMINAL ** tp,
def_prog_mode();
baudrate();
}
- code = OK;
-#endif
}
-#ifdef USE_TERM_DRIVER
- *tp = termp;
- NCURSES_SP_NAME(set_curterm) (sp, termp);
- TCB->drv->init(TCB);
-#else
- sp = SP;
-#endif
-
/*
* We should always check the screensize, just in case.
*/
- TINFO_GET_SIZE(sp, termp, ptrLines(sp), ptrCols(sp));
+ _nc_get_screensize(SP, ptrLines(), ptrCols());
if (errret)
*errret = TGETENT_YES;
-#ifndef USE_TERM_DRIVER
if (generic_type) {
ret_error(TGETENT_NO, "'%s': I need something more specific.\n", tname);
}
if (hard_copy) {
ret_error(TGETENT_YES, "'%s': I can't handle hardcopy terminals.\n", tname);
}
-#endif
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-/*
- * In case of handling multiple screens, we need to have a screen before
- * initialization in setupscreen takes place. This is to extend the substitute
- * for some of the stuff in _nc_prescreen, especially for slk and ripoff
- * handling which should be done per screen.
- */
-NCURSES_EXPORT(SCREEN *)
-new_prescr(void)
-{
- static SCREEN *sp;
-
- START_TRACE();
- T((T_CALLED("new_prescr()")));
-
- if (sp == 0) {
- sp = _nc_alloc_screen_sp();
- if (sp != 0) {
- sp->rsp = sp->rippedoff;
- sp->_filtered = _nc_prescreen.filter_mode;
- sp->_use_env = _nc_prescreen.use_env;
-#if NCURSES_NO_PADDING
- sp->_no_padding = _nc_prescreen._no_padding;
-#endif
- sp->slk_format = 0;
- sp->_slk = 0;
- sp->_prescreen = TRUE;
- SP_PRE_INIT(sp);
-#if USE_REENTRANT
- sp->_TABSIZE = _nc_prescreen._TABSIZE;
- sp->_ESCDELAY = _nc_prescreen._ESCDELAY;
-#endif
- }
- }
- returnSP(sp);
-}
-#endif
-
-#ifdef USE_TERM_DRIVER
-/*
- * This entrypoint is called from tgetent() to allow a special case of reusing
- * the same TERMINAL data (see comment).
- */
-NCURSES_EXPORT(int)
-_nc_setupterm(NCURSES_CONST char *tname,
- int Filedes,
- int *errret,
- bool reuse)
-{
- int res;
- TERMINAL *termp;
- res = TINFO_SETUP_TERM(&termp, tname, Filedes, errret, reuse);
- if (ERR != res)
- NCURSES_SP_NAME(set_curterm) (CURRENT_SCREEN_PRE, termp);
- return res;
+ returnCode(OK);
}
-#endif
/*
* setupterm(termname, Filedes, errret)
diff --git a/ncurses/tinfo/lib_termcap.c b/ncurses/tinfo/lib_termcap.c
index e9dae85bdd97..2d245ffbb61f 100644
--- a/ncurses/tinfo/lib_termcap.c
+++ b/ncurses/tinfo/lib_termcap.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer *
* *
* some of the code in here was contributed by: *
* Magnus Bengtsson, d6mbeng@dtek.chalmers.se (Nov'93) *
@@ -44,11 +43,9 @@
#include <tic.h>
#include <ctype.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
+#include <term_entry.h>
-MODULE_ID("$Id: lib_termcap.c,v 1.73 2010/12/25 19:27:12 tom Exp $")
+MODULE_ID("$Id: lib_termcap.c,v 1.63 2008/08/16 19:22:55 tom Exp $")
NCURSES_EXPORT_VAR(char *) UP = 0;
NCURSES_EXPORT_VAR(char *) BC = 0;
@@ -79,26 +76,16 @@ NCURSES_EXPORT_VAR(char *) BC = 0;
***************************************************************************/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tgetent) (NCURSES_SP_DCLx char *bufp, const char *name)
+tgetent(char *bufp, const char *name)
{
- int rc = ERR;
+ int errcode;
int n;
bool found_cache = FALSE;
-#ifdef USE_TERM_DRIVER
- TERMINAL *termp = 0;
-#endif
START_TRACE();
T((T_CALLED("tgetent()")));
- TINFO_SETUP_TERM(&termp, (NCURSES_CONST char *) name,
- STDOUT_FILENO, &rc, TRUE);
-
-#ifdef USE_TERM_DRIVER
- if (termp == 0 ||
- !((TERMINAL_CONTROL_BLOCK *) termp)->drv->isTerminfo)
- return (rc);
-#endif
+ _nc_setupterm((NCURSES_CONST char *) name, STDOUT_FILENO, &errcode, TRUE);
/*
* In general we cannot tell if the fixed sgr0 is still used by the
@@ -122,9 +109,9 @@ NCURSES_SP_NAME(tgetent) (NCURSES_SP_DCLx char *bufp, const char *name)
/*
* Also free the terminfo data that we loaded (much bigger leak).
*/
- if (LAST_TRM != 0 && LAST_TRM != TerminalOf(SP_PARM)) {
+ if (LAST_TRM != 0 && LAST_TRM != cur_term) {
TERMINAL *trm = LAST_TRM;
- NCURSES_SP_NAME(del_curterm) (NCURSES_SP_ARGx LAST_TRM);
+ del_curterm(LAST_TRM);
for (CacheInx = 0; CacheInx < TGETENT_MAX; ++CacheInx)
if (LAST_TRM == trm)
LAST_TRM = 0;
@@ -144,7 +131,7 @@ NCURSES_SP_NAME(tgetent) (NCURSES_SP_DCLx char *bufp, const char *name)
}
CacheInx = best;
}
- LAST_TRM = TerminalOf(SP_PARM);
+ LAST_TRM = cur_term;
LAST_SEQ = ++CacheSeq;
PC = 0;
@@ -152,7 +139,7 @@ NCURSES_SP_NAME(tgetent) (NCURSES_SP_DCLx char *bufp, const char *name)
BC = 0;
FIX_SGR0 = 0; /* don't free it - application may still use */
- if (rc == 1) {
+ if (errcode == 1) {
if (cursor_left)
if ((backspaces_with_bs = (char) !strcmp(cursor_left, "\b")) == 0)
@@ -166,7 +153,7 @@ NCURSES_SP_NAME(tgetent) (NCURSES_SP_DCLx char *bufp, const char *name)
if (backspace_if_not_bs != NULL)
BC = backspace_if_not_bs;
- if ((FIX_SGR0 = _nc_trim_sgr0(&(TerminalOf(SP_PARM)->type))) != 0) {
+ if ((FIX_SGR0 = _nc_trim_sgr0(&(cur_term->type))) != 0) {
if (!strcmp(FIX_SGR0, exit_attribute_mode)) {
if (FIX_SGR0 != exit_attribute_mode) {
free(FIX_SGR0);
@@ -177,8 +164,8 @@ NCURSES_SP_NAME(tgetent) (NCURSES_SP_DCLx char *bufp, const char *name)
LAST_BUF = bufp;
LAST_USE = TRUE;
- SetNoPadding(SP_PARM);
- (void) NCURSES_SP_NAME(baudrate) (NCURSES_SP_ARG); /* sets ospeed as a side-effect */
+ SetNoPadding(SP);
+ (void) baudrate(); /* sets ospeed as a side-effect */
/* LINT_PREPRO
#if 0*/
@@ -187,27 +174,8 @@ NCURSES_SP_NAME(tgetent) (NCURSES_SP_DCLx char *bufp, const char *name)
#endif*/
}
- returnCode(rc);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-tgetent(char *bufp, const char *name)
-{
- return NCURSES_SP_NAME(tgetent) (CURRENT_SCREEN, bufp, name);
-}
-#endif
-
-#if 0
-static bool
-same_tcname(const char *a, const char *b)
-{
- fprintf(stderr, "compare(%s,%s)\n", a, b);
- return !strncmp(a, b, 2);
+ returnCode(errcode);
}
-#else
-#define same_tcname(a,b) !strncmp(a,b,2)
-#endif
/***************************************************************************
*
@@ -219,48 +187,24 @@ same_tcname(const char *a, const char *b)
***************************************************************************/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tgetflag) (NCURSES_SP_DCLx NCURSES_CONST char *id)
+tgetflag(NCURSES_CONST char *id)
{
- int result = 0; /* Solaris returns zero for missing flag */
- int i, j;
-
- T((T_CALLED("tgetflag(%p, %s)"), (void *) SP_PARM, id));
- if (HasTInfoTerminal(SP_PARM)) {
- TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
- struct name_table_entry const *entry_ptr;
-
- entry_ptr = _nc_find_type_entry(id, BOOLEAN, TRUE);
- if (entry_ptr != 0) {
- j = entry_ptr->nte_index;
- }
-#if NCURSES_XNAMES
- else {
- j = -1;
- for_each_ext_boolean(i, tp) {
- const char *capname = ExtBoolname(tp, i, boolcodes);
- if (same_tcname(id, capname)) {
- j = i;
- break;
- }
+ unsigned i;
+
+ T((T_CALLED("tgetflag(%s)"), id));
+ if (cur_term != 0) {
+ TERMTYPE *tp = &(cur_term->type);
+ for_each_boolean(i, tp) {
+ const char *capname = ExtBoolname(tp, i, boolcodes);
+ if (!strncmp(id, capname, 2)) {
+ /* setupterm forces invalid booleans to false */
+ returnCode(tp->Booleans[i]);
}
}
-#endif
- if (j >= 0) {
- /* note: setupterm forces invalid booleans to false */
- result = tp->Booleans[j];
- }
}
- returnCode(result);
+ returnCode(0); /* Solaris does this */
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-tgetflag(NCURSES_CONST char *id)
-{
- return NCURSES_SP_NAME(tgetflag) (CURRENT_SCREEN, id);
-}
-#endif
-
/***************************************************************************
*
* tgetnum(str)
@@ -271,48 +215,25 @@ tgetflag(NCURSES_CONST char *id)
***************************************************************************/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tgetnum) (NCURSES_SP_DCLx NCURSES_CONST char *id)
+tgetnum(NCURSES_CONST char *id)
{
- int result = ABSENT_NUMERIC;
- int i, j;
-
- T((T_CALLED("tgetnum(%p, %s)"), (void *) SP_PARM, id));
- if (HasTInfoTerminal(SP_PARM)) {
- TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
- struct name_table_entry const *entry_ptr;
-
- entry_ptr = _nc_find_type_entry(id, NUMBER, TRUE);
- if (entry_ptr != 0) {
- j = entry_ptr->nte_index;
- }
-#if NCURSES_XNAMES
- else {
- j = -1;
- for_each_ext_number(i, tp) {
- const char *capname = ExtNumname(tp, i, numcodes);
- if (same_tcname(id, capname)) {
- j = i;
- break;
- }
+ unsigned i;
+
+ T((T_CALLED("tgetnum(%s)"), id));
+ if (cur_term != 0) {
+ TERMTYPE *tp = &(cur_term->type);
+ for_each_number(i, tp) {
+ const char *capname = ExtNumname(tp, i, numcodes);
+ if (!strncmp(id, capname, 2)) {
+ if (!VALID_NUMERIC(tp->Numbers[i]))
+ returnCode(ABSENT_NUMERIC);
+ returnCode(tp->Numbers[i]);
}
}
-#endif
- if (j >= 0) {
- if (VALID_NUMERIC(tp->Numbers[j]))
- result = tp->Numbers[j];
- }
}
- returnCode(result);
+ returnCode(ABSENT_NUMERIC);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-tgetnum(NCURSES_CONST char *id)
-{
- return NCURSES_SP_NAME(tgetnum) (CURRENT_SCREEN, id);
-}
-#endif
-
/***************************************************************************
*
* tgetstr(str, area)
@@ -323,62 +244,40 @@ tgetnum(NCURSES_CONST char *id)
***************************************************************************/
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(tgetstr) (NCURSES_SP_DCLx NCURSES_CONST char *id, char **area)
+tgetstr(NCURSES_CONST char *id, char **area)
{
+ unsigned i;
char *result = NULL;
- int i, j;
- T((T_CALLED("tgetstr(%s,%p)"), id, (void *) area));
- if (HasTInfoTerminal(SP_PARM)) {
- TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
- struct name_table_entry const *entry_ptr;
-
- entry_ptr = _nc_find_type_entry(id, STRING, TRUE);
- if (entry_ptr != 0) {
- j = entry_ptr->nte_index;
- }
-#if NCURSES_XNAMES
- else {
- j = -1;
- for_each_ext_string(i, tp) {
- const char *capname = ExtStrname(tp, i, strcodes);
- if (same_tcname(id, capname)) {
- j = i;
- break;
- }
- }
- }
-#endif
- if (j >= 0) {
- result = tp->Strings[j];
- TR(TRACE_DATABASE, ("found match : %s", _nc_visbuf(result)));
- /* setupterm forces canceled strings to null */
- if (VALID_STRING(result)) {
- if (result == exit_attribute_mode
- && FIX_SGR0 != 0) {
- result = FIX_SGR0;
- TR(TRACE_DATABASE, ("altered to : %s", _nc_visbuf(result)));
- }
- if (area != 0
- && *area != 0) {
- (void) strcpy(*area, result);
- result = *area;
- *area += strlen(*area) + 1;
+ T((T_CALLED("tgetstr(%s,%p)"), id, area));
+ if (cur_term != 0) {
+ TERMTYPE *tp = &(cur_term->type);
+ for_each_string(i, tp) {
+ const char *capname = ExtStrname(tp, i, strcodes);
+ if (!strncmp(id, capname, 2)) {
+ result = tp->Strings[i];
+ TR(TRACE_DATABASE, ("found match : %s", _nc_visbuf(result)));
+ /* setupterm forces canceled strings to null */
+ if (VALID_STRING(result)) {
+ if (result == exit_attribute_mode
+ && FIX_SGR0 != 0) {
+ result = FIX_SGR0;
+ TR(TRACE_DATABASE, ("altered to : %s", _nc_visbuf(result)));
+ }
+ if (area != 0
+ && *area != 0) {
+ (void) strcpy(*area, result);
+ result = *area;
+ *area += strlen(*area) + 1;
+ }
}
+ break;
}
}
}
returnPtr(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char *)
-tgetstr(NCURSES_CONST char *id, char **area)
-{
- return NCURSES_SP_NAME(tgetstr) (CURRENT_SCREEN, id, area);
-}
-#endif
-
#if NO_LEAKS
NCURSES_EXPORT(void)
_nc_tgetent_leaks(void)
diff --git a/ncurses/tinfo/lib_termname.c b/ncurses/tinfo/lib_termname.c
index e3f6827ee018..713d0be8c360 100644
--- a/ncurses/tinfo/lib_termname.c
+++ b/ncurses/tinfo/lib_termname.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2003 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 *
@@ -28,31 +28,17 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_termname.c,v 1.12 2009/10/24 21:56:58 tom Exp $")
+MODULE_ID("$Id: lib_termname.c,v 1.8 2003/12/27 18:23:01 tom Exp $")
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(termname) (NCURSES_SP_DCL0)
+termname(void)
{
char *name = 0;
- T((T_CALLED("termname(%p)"), (void *) SP_PARM));
+ T((T_CALLED("termname()")));
-#if NCURSES_SP_FUNCS
- if (TerminalOf(SP_PARM) != 0) {
- name = TerminalOf(SP_PARM)->_termname;
- }
-#else
if (cur_term != 0)
name = cur_term->_termname;
-#endif
returnPtr(name);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char *)
-termname(void)
-{
- return NCURSES_SP_NAME(termname) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/tinfo/lib_ti.c b/ncurses/tinfo/lib_ti.c
index e41234210c85..df460f953ea7 100644
--- a/ncurses/tinfo/lib_ti.c
+++ b/ncurses/tinfo/lib_ti.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2003 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 *
@@ -29,159 +29,75 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
****************************************************************************/
#include <curses.priv.h>
+#include <term_entry.h>
#include <tic.h>
-MODULE_ID("$Id: lib_ti.c,v 1.29 2010/01/23 17:57:43 tom Exp $")
-
-#if 0
-static bool
-same_name(const char *a, const char *b)
-{
- fprintf(stderr, "compare(%s,%s)\n", a, b);
- return !strcmp(a, b);
-}
-#else
-#define same_name(a,b) !strcmp(a,b)
-#endif
+MODULE_ID("$Id: lib_ti.c,v 1.23 2003/05/24 21:10:28 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tigetflag) (NCURSES_SP_DCLx NCURSES_CONST char *str)
+tigetflag(NCURSES_CONST char *str)
{
- int result = ABSENT_BOOLEAN;
- int i, j;
+ unsigned i;
- T((T_CALLED("tigetflag(%p, %s)"), (void *) SP_PARM, str));
+ T((T_CALLED("tigetflag(%s)"), str));
- if (HasTInfoTerminal(SP_PARM)) {
- TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
- struct name_table_entry const *entry_ptr;
-
- entry_ptr = _nc_find_type_entry(str, BOOLEAN, FALSE);
- if (entry_ptr != 0) {
- j = entry_ptr->nte_index;
- }
-#if NCURSES_XNAMES
- else {
- j = -1;
- for_each_ext_boolean(i, tp) {
- const char *capname = ExtBoolname(tp, i, boolnames);
- if (same_name(str, capname)) {
- j = i;
- break;
- }
+ if (cur_term != 0) {
+ TERMTYPE *tp = &(cur_term->type);
+ for_each_boolean(i, tp) {
+ const char *capname = ExtBoolname(tp, i, boolnames);
+ if (!strcmp(str, capname)) {
+ /* setupterm forces invalid booleans to false */
+ returnCode(tp->Booleans[i]);
}
}
-#endif
- if (j >= 0) {
- /* note: setupterm forces invalid booleans to false */
- result = tp->Booleans[j];
- }
}
- returnCode(result);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-tigetflag(NCURSES_CONST char *str)
-{
- return NCURSES_SP_NAME(tigetflag) (CURRENT_SCREEN, str);
+ returnCode(ABSENT_BOOLEAN);
}
-#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tigetnum) (NCURSES_SP_DCLx NCURSES_CONST char *str)
+tigetnum(NCURSES_CONST char *str)
{
- int i, j;
- int result = CANCELLED_NUMERIC; /* Solaris returns a -1 on error */
-
- T((T_CALLED("tigetnum(%p, %s)"), (void *) SP_PARM, str));
-
- if (HasTInfoTerminal(SP_PARM)) {
- TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
- struct name_table_entry const *entry_ptr;
-
- entry_ptr = _nc_find_type_entry(str, NUMBER, FALSE);
- if (entry_ptr != 0) {
- j = entry_ptr->nte_index;
- }
-#if NCURSES_XNAMES
- else {
- j = -1;
- for_each_ext_number(i, tp) {
- const char *capname = ExtNumname(tp, i, numnames);
- if (same_name(str, capname)) {
- j = i;
- break;
- }
+ unsigned i;
+
+ T((T_CALLED("tigetnum(%s)"), str));
+
+ if (cur_term != 0) {
+ TERMTYPE *tp = &(cur_term->type);
+ for_each_number(i, tp) {
+ const char *capname = ExtNumname(tp, i, numnames);
+ if (!strcmp(str, capname)) {
+ if (!VALID_NUMERIC(tp->Numbers[i]))
+ returnCode(ABSENT_NUMERIC);
+ returnCode(tp->Numbers[i]);
}
}
-#endif
- if (j >= 0) {
- if (VALID_NUMERIC(tp->Numbers[j]))
- result = tp->Numbers[j];
- else
- result = ABSENT_NUMERIC;
- }
}
- returnCode(result);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-tigetnum(NCURSES_CONST char *str)
-{
- return NCURSES_SP_NAME(tigetnum) (CURRENT_SCREEN, str);
+ returnCode(CANCELLED_NUMERIC); /* Solaris returns a -1 instead */
}
-#endif
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(tigetstr) (NCURSES_SP_DCLx NCURSES_CONST char *str)
+tigetstr(NCURSES_CONST char *str)
{
- char *result = CANCELLED_STRING;
- int i, j;
+ unsigned i;
- T((T_CALLED("tigetstr(%p, %s)"), (void *) SP_PARM, str));
+ T((T_CALLED("tigetstr(%s)"), str));
- if (HasTInfoTerminal(SP_PARM)) {
- TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
- struct name_table_entry const *entry_ptr;
-
- entry_ptr = _nc_find_type_entry(str, STRING, FALSE);
- if (entry_ptr != 0) {
- j = entry_ptr->nte_index;
- }
-#if NCURSES_XNAMES
- else {
- j = -1;
- for_each_ext_string(i, tp) {
- const char *capname = ExtStrname(tp, i, strnames);
- if (same_name(str, capname)) {
- j = i;
- break;
- }
+ if (cur_term != 0) {
+ TERMTYPE *tp = &(cur_term->type);
+ for_each_string(i, tp) {
+ const char *capname = ExtStrname(tp, i, strnames);
+ if (!strcmp(str, capname)) {
+ /* setupterm forces cancelled strings to null */
+ returnPtr(tp->Strings[i]);
}
}
-#endif
- if (j >= 0) {
- /* note: setupterm forces cancelled strings to null */
- result = tp->Strings[j];
- }
}
- returnPtr(result);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char *)
-tigetstr(NCURSES_CONST char *str)
-{
- return NCURSES_SP_NAME(tigetstr) (CURRENT_SCREEN, str);
+ returnPtr(CANCELLED_STRING);
}
-#endif
diff --git a/ncurses/tinfo/lib_tparm.c b/ncurses/tinfo/lib_tparm.c
index 7cd12f7f6845..ba2a8404030e 100644
--- a/ncurses/tinfo/lib_tparm.c
+++ b/ncurses/tinfo/lib_tparm.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -40,9 +40,10 @@
#include <curses.priv.h>
#include <ctype.h>
+#include <term.h>
#include <tic.h>
-MODULE_ID("$Id: lib_tparm.c,v 1.82 2011/01/15 22:19:12 tom Exp $")
+MODULE_ID("$Id: lib_tparm.c,v 1.76 2008/08/16 19:22:55 tom Exp $")
/*
* char *
@@ -139,7 +140,7 @@ save_text(const char *fmt, const char *s, int len)
{
size_t s_len = strlen(s);
if (len > (int) s_len)
- s_len = (size_t) len;
+ s_len = len;
get_space(s_len + 1);
@@ -450,13 +451,12 @@ _nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount)
}
static NCURSES_INLINE char *
-tparam_internal(bool use_TPARM_ARG, const char *string, va_list ap)
+tparam_internal(const char *string, va_list ap)
{
char *p_is_s[NUM_PARM];
TPARM_ARG param[NUM_PARM];
- int popcount = 0;
+ int popcount;
int number;
- int num_args;
int len;
int level;
int x, y;
@@ -479,13 +479,7 @@ tparam_internal(bool use_TPARM_ARG, const char *string, va_list ap)
if (TPS(fmt_buff) == 0)
return NULL;
- if (number > NUM_PARM)
- number = NUM_PARM;
- if (popcount > NUM_PARM)
- popcount = NUM_PARM;
- num_args = max(popcount, number);
-
- for (i = 0; i < num_args; i++) {
+ for (i = 0; i < max(popcount, number); i++) {
/*
* A few caps (such as plab_norm) have string-valued parms.
* We'll have to assume that the caller knows the difference, since
@@ -495,11 +489,8 @@ tparam_internal(bool use_TPARM_ARG, const char *string, va_list ap)
*/
if (p_is_s[i] != 0) {
p_is_s[i] = va_arg(ap, char *);
- param[i] = 0;
- } else if (use_TPARM_ARG) {
- param[i] = va_arg(ap, TPARM_ARG);
} else {
- param[i] = (TPARM_ARG) va_arg(ap, int);
+ param[i] = va_arg(ap, TPARM_ARG);
}
}
@@ -517,7 +508,7 @@ tparam_internal(bool use_TPARM_ARG, const char *string, va_list ap)
if (p_is_s[i])
spush(p_is_s[i]);
else
- npush((int) param[i]);
+ npush(param[i]);
}
}
#ifdef TRACE
@@ -526,7 +517,7 @@ tparam_internal(bool use_TPARM_ARG, const char *string, va_list ap)
if (p_is_s[i] != 0)
save_text(", %s", _nc_visbuf(p_is_s[i]), 0);
else
- save_number(", %d", (int) param[i], 0);
+ save_number(", %d", param[i], 0);
}
_tracef(T_CALLED("%s(%s%s)"), TPS(tname), _nc_visbuf(cp), TPS(out_buff));
TPS(out_used) = 0;
@@ -573,7 +564,7 @@ tparam_internal(bool use_TPARM_ARG, const char *string, va_list ap)
if (p_is_s[i])
spush(p_is_s[i]);
else
- npush((int) param[i]);
+ npush(param[i]);
}
break;
@@ -781,7 +772,7 @@ tparm_varargs(NCURSES_CONST char *string,...)
#ifdef TRACE
TPS(tname) = "tparm";
#endif /* TRACE */
- result = tparam_internal(TRUE, string, ap);
+ result = tparam_internal(string, ap);
va_end(ap);
return result;
}
@@ -802,19 +793,3 @@ tparm_proto(NCURSES_CONST char *string,
return tparm_varargs(string, a1, a2, a3, a4, a5, a6, a7, a8, a9);
}
#endif /* NCURSES_TPARM_VARARGS */
-
-NCURSES_EXPORT(char *)
-tiparm(const char *string,...)
-{
- va_list ap;
- char *result;
-
- _nc_tparm_err = 0;
- va_start(ap, string);
-#ifdef TRACE
- TPS(tname) = "tiparm";
-#endif /* TRACE */
- result = tparam_internal(FALSE, string, ap);
- va_end(ap);
- return result;
-}
diff --git a/ncurses/tinfo/lib_tputs.c b/ncurses/tinfo/lib_tputs.c
index dc70f3e0b0b8..a8b7276895a5 100644
--- a/ncurses/tinfo/lib_tputs.c
+++ b/ncurses/tinfo/lib_tputs.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,16 +41,12 @@
*/
#include <curses.priv.h>
-
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
#include <ctype.h>
+#include <term.h> /* padding_baud_rate, xon_xoff */
#include <termcap.h> /* ospeed */
#include <tic.h>
-MODULE_ID("$Id: lib_tputs.c,v 1.81 2010/12/20 00:42:50 tom Exp $")
+MODULE_ID("$Id: lib_tputs.c,v 1.66 2008/06/28 13:12:15 tom Exp $")
NCURSES_EXPORT_VAR(char) PC = 0; /* used by termcap library */
NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */
@@ -74,136 +69,63 @@ _nc_set_no_padding(SCREEN *sp)
}
#endif
-#if NCURSES_SP_FUNCS
-#define SetOutCh(func) if (SP_PARM) SP_PARM->_outch = func; else _nc_prescreen._outch = func
-#define GetOutCh() (SP_PARM ? SP_PARM->_outch : _nc_prescreen._outch)
-#else
-#define SetOutCh(func) static_outch = func
-#define GetOutCh() static_outch
-static NCURSES_SP_OUTC static_outch = NCURSES_SP_NAME(_nc_outch);
-#endif
+static int (*my_outch) (int c) = _nc_outch;
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(delay_output) (NCURSES_SP_DCLx int ms)
+delay_output(int ms)
{
- T((T_CALLED("delay_output(%p,%d)"), (void *) SP_PARM, ms));
-
- if (!HasTInfoTerminal(SP_PARM))
- returnCode(ERR);
+ T((T_CALLED("delay_output(%d)"), ms));
if (no_pad_char) {
- NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ _nc_flush();
napms(ms);
} else {
- NCURSES_SP_OUTC my_outch = GetOutCh();
register int nullcount;
nullcount = (ms * _nc_baudrate(ospeed)) / (BAUDBYTE * 1000);
for (_nc_nulls_sent += nullcount; nullcount > 0; nullcount--)
- my_outch(NCURSES_SP_ARGx PC);
- if (my_outch == NCURSES_SP_NAME(_nc_outch))
- NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ my_outch(PC);
+ if (my_outch == _nc_outch)
+ _nc_flush();
}
returnCode(OK);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-delay_output(int ms)
-{
- return NCURSES_SP_NAME(delay_output) (CURRENT_SCREEN, ms);
-}
-#endif
-
-NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_DCL0)
-{
- (void) fflush(NC_OUTPUT(SP_PARM));
-}
-
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(void)
_nc_flush(void)
{
- NCURSES_SP_NAME(_nc_flush) (CURRENT_SCREEN);
+ (void) fflush(NC_OUTPUT);
}
-#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_outch) (NCURSES_SP_DCLx int ch)
+_nc_outch(int ch)
{
- int rc = OK;
-
COUNT_OUTCHARS(1);
- if (HasTInfoTerminal(SP_PARM)
- && SP_PARM != 0
- && SP_PARM->_cleanup) {
- char tmp = (char) ch;
+ if (SP != 0
+ && SP->_cleanup) {
+ char tmp = ch;
/*
* POSIX says write() is safe in a signal handler, but the
* buffered I/O is not.
*/
- if (write(fileno(NC_OUTPUT(SP_PARM)), &tmp, 1) == -1)
- rc = ERR;
+ write(fileno(NC_OUTPUT), &tmp, 1);
} else {
- if (putc(ch, NC_OUTPUT(SP_PARM)) == EOF)
- rc = ERR;
+ putc(ch, NC_OUTPUT);
}
- return rc;
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-_nc_outch(int ch)
-{
- return NCURSES_SP_NAME(_nc_outch) (CURRENT_SCREEN, ch);
-}
-#endif
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(putp) (NCURSES_SP_DCLx const char *string)
-{
- return NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- string, 1, NCURSES_SP_NAME(_nc_outch));
-}
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_DCLx
- const char *name GCC_UNUSED,
- const char *string)
-{
- int rc = ERR;
-
- if (string != 0) {
- TPUTS_TRACE(name);
- rc = NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx string);
- }
- return rc;
+ return OK;
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
putp(const char *string)
{
- return NCURSES_SP_NAME(putp) (CURRENT_SCREEN, string);
+ return tputs(string, 1, _nc_outch);
}
NCURSES_EXPORT(int)
-_nc_putp(const char *name, const char *string)
-{
- return NCURSES_SP_NAME(_nc_putp) (CURRENT_SCREEN, name, string);
-}
-#endif
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tputs) (NCURSES_SP_DCLx
- const char *string,
- int affcnt,
- NCURSES_SP_OUTC outc)
+tputs(const char *string, int affcnt, int (*outc) (int))
{
- NCURSES_SP_OUTC my_outch = GetOutCh();
bool always_delay;
bool normal_delay;
int number;
@@ -215,7 +137,7 @@ NCURSES_SP_NAME(tputs) (NCURSES_SP_DCLx
char addrbuf[32];
if (USE_TRACEF(TRACE_TPUTS)) {
- if (outc == NCURSES_SP_NAME(_nc_outch))
+ if (outc == _nc_outch)
(void) strcpy(addrbuf, "_nc_outch");
else
(void) sprintf(addrbuf, "%p", outc);
@@ -230,19 +152,10 @@ NCURSES_SP_NAME(tputs) (NCURSES_SP_DCLx
}
#endif /* TRACE */
- if (SP_PARM != 0 && !HasTInfoTerminal(SP_PARM))
- return ERR;
-
if (!VALID_STRING(string))
return ERR;
- if (
-#if NCURSES_SP_FUNCS
- (SP_PARM != 0 && SP_PARM->_term == 0)
-#else
- cur_term == 0
-#endif
- ) {
+ if (cur_term == 0) {
always_delay = FALSE;
normal_delay = TRUE;
} else {
@@ -251,7 +164,7 @@ NCURSES_SP_NAME(tputs) (NCURSES_SP_DCLx
!xon_xoff
&& padding_baud_rate
#if NCURSES_NO_PADDING
- && !GetNoPadding(SP_PARM)
+ && !GetNoPadding(SP)
#endif
&& (_nc_baudrate(ospeed) >= padding_baud_rate);
}
@@ -285,24 +198,24 @@ NCURSES_SP_NAME(tputs) (NCURSES_SP_DCLx
}
#endif /* BSD_TPUTS */
- SetOutCh(outc); /* redirect delay_output() */
+ my_outch = outc; /* redirect delay_output() */
while (*string) {
if (*string != '$')
- (*outc) (NCURSES_SP_ARGx *string);
+ (*outc) (*string);
else {
string++;
if (*string != '<') {
- (*outc) (NCURSES_SP_ARGx '$');
+ (*outc) ('$');
if (*string)
- (*outc) (NCURSES_SP_ARGx *string);
+ (*outc) (*string);
} else {
bool mandatory;
string++;
if ((!isdigit(UChar(*string)) && *string != '.')
|| !strchr(string, '>')) {
- (*outc) (NCURSES_SP_ARGx '$');
- (*outc) (NCURSES_SP_ARGx '<');
+ (*outc) ('$');
+ (*outc) ('<');
continue;
}
@@ -337,7 +250,7 @@ NCURSES_SP_NAME(tputs) (NCURSES_SP_DCLx
&& (always_delay
|| normal_delay
|| mandatory))
- NCURSES_SP_NAME(delay_output) (NCURSES_SP_ARGx number / 10);
+ delay_output(number / 10);
} /* endelse (*string == '<') */
} /* endelse (*string == '$') */
@@ -357,25 +270,6 @@ NCURSES_SP_NAME(tputs) (NCURSES_SP_DCLx
delay_output(trailpad / 10);
#endif /* BSD_TPUTS */
- SetOutCh(my_outch);
+ my_outch = _nc_outch;
return OK;
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-_nc_outc_wrapper(SCREEN *sp, int c)
-{
- if (0 == sp) {
- return (ERR);
- } else {
- return sp->jump(c);
- }
-}
-
-NCURSES_EXPORT(int)
-tputs(const char *string, int affcnt, int (*outc) (int))
-{
- SetSafeOutcWrapper(outc);
- return NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx string, affcnt, _nc_outc_wrapper);
-}
-#endif
diff --git a/ncurses/tinfo/lib_ttyflags.c b/ncurses/tinfo/lib_ttyflags.c
index 663a06898090..a2b38a3327f1 100644
--- a/ncurses/tinfo/lib_ttyflags.c
+++ b/ncurses/tinfo/lib_ttyflags.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -36,246 +36,159 @@
*/
#include <curses.priv.h>
+#include <term.h> /* cur_term */
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_ttyflags.c,v 1.27 2010/12/25 23:43:58 tom Exp $")
+MODULE_ID("$Id: lib_ttyflags.c,v 1.18 2008/08/03 22:10:44 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_get_tty_mode) (NCURSES_SP_DCLx TTY * buf)
+_nc_get_tty_mode(TTY * buf)
{
int result = OK;
- if (buf == 0 || SP_PARM == 0) {
+ if (buf == 0) {
result = ERR;
} else {
- TERMINAL *termp = TerminalOf(SP_PARM);
-
- if (0 == termp) {
+ if (cur_term == 0) {
result = ERR;
} else {
-#ifdef USE_TERM_DRIVER
- result = CallDriver_2(SP_PARM, sgmode, FALSE, buf);
-#else
for (;;) {
- if (GET_TTY(termp->Filedes, buf) != 0) {
+ if (GET_TTY(cur_term->Filedes, buf) != 0) {
if (errno == EINTR)
continue;
result = ERR;
}
break;
}
-#endif
}
if (result == ERR)
memset(buf, 0, sizeof(*buf));
TR(TRACE_BITS, ("_nc_get_tty_mode(%d): %s",
- termp ? termp->Filedes : -1,
+ cur_term ? cur_term->Filedes : -1,
_nc_trace_ttymode(buf)));
}
return (result);
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-_nc_get_tty_mode(TTY * buf)
-{
- return NCURSES_SP_NAME(_nc_get_tty_mode) (CURRENT_SCREEN, buf);
-}
-#endif
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_DCLx TTY * buf)
+_nc_set_tty_mode(TTY * buf)
{
int result = OK;
- if (buf == 0 || SP_PARM == 0) {
+ if (buf == 0) {
result = ERR;
} else {
- TERMINAL *termp = TerminalOf(SP_PARM);
-
- if (0 == termp) {
+ if (cur_term == 0) {
result = ERR;
} else {
-#ifdef USE_TERM_DRIVER
- result = CallDriver_2(SP_PARM, sgmode, TRUE, buf);
-#else
for (;;) {
- if (SET_TTY(termp->Filedes, buf) != 0) {
+ if (SET_TTY(cur_term->Filedes, buf) != 0) {
if (errno == EINTR)
continue;
- if ((errno == ENOTTY) && (SP_PARM != 0))
- SP_PARM->_notty = TRUE;
+ if ((errno == ENOTTY) && (SP != 0))
+ SP->_notty = TRUE;
result = ERR;
}
break;
}
-#endif
}
TR(TRACE_BITS, ("_nc_set_tty_mode(%d): %s",
- termp ? termp->Filedes : -1,
+ cur_term ? cur_term->Filedes : -1,
_nc_trace_ttymode(buf)));
}
return (result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-_nc_set_tty_mode(TTY * buf)
-{
- return NCURSES_SP_NAME(_nc_set_tty_mode) (CURRENT_SCREEN, buf);
-}
-#endif
-
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(def_shell_mode) (NCURSES_SP_DCL0)
+def_shell_mode(void)
{
int rc = ERR;
- TERMINAL *termp = TerminalOf(SP_PARM);
- T((T_CALLED("def_shell_mode(%p)"), (void *) SP_PARM));
+ T((T_CALLED("def_shell_mode()")));
- if (termp != 0) {
-#ifdef USE_TERM_DRIVER
- rc = CallDriver_2(SP_PARM, mode, FALSE, TRUE);
-#else
+ if (cur_term != 0) {
/*
* If XTABS was on, remove the tab and backtab capabilities.
*/
- if (_nc_get_tty_mode(&termp->Ottyb) == OK) {
+ if (_nc_get_tty_mode(&cur_term->Ottyb) == OK) {
#ifdef TERMIOS
- if (termp->Ottyb.c_oflag & OFLAGS_TABS)
+ if (cur_term->Ottyb.c_oflag & OFLAGS_TABS)
tab = back_tab = NULL;
#else
- if (termp->Ottyb.sg_flags & XTABS)
+ if (cur_term->Ottyb.sg_flags & XTABS)
tab = back_tab = NULL;
#endif
rc = OK;
}
-#endif
}
returnCode(rc);
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-def_shell_mode(void)
-{
- return NCURSES_SP_NAME(def_shell_mode) (CURRENT_SCREEN);
-}
-#endif
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(def_prog_mode) (NCURSES_SP_DCL0)
+def_prog_mode(void)
{
int rc = ERR;
- TERMINAL *termp = TerminalOf(SP_PARM);
- T((T_CALLED("def_prog_mode(%p)"), (void *) SP_PARM));
+ T((T_CALLED("def_prog_mode()")));
- if (termp != 0) {
-#ifdef USE_TERM_DRIVER
- rc = CallDriver_2(SP_PARM, mode, TRUE, TRUE);
-#else
+ if (cur_term != 0) {
/*
* Turn off the XTABS bit in the tty structure if it was on.
*/
- if (_nc_get_tty_mode(&termp->Nttyb) == OK) {
+ if (_nc_get_tty_mode(&cur_term->Nttyb) == OK) {
#ifdef TERMIOS
- termp->Nttyb.c_oflag &= (unsigned) (~OFLAGS_TABS);
+ cur_term->Nttyb.c_oflag &= ~OFLAGS_TABS;
#else
- termp->Nttyb.sg_flags &= (unsigned) (~XTABS);
+ cur_term->Nttyb.sg_flags &= ~XTABS;
#endif
rc = OK;
}
-#endif
}
returnCode(rc);
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-def_prog_mode(void)
-{
- return NCURSES_SP_NAME(def_prog_mode) (CURRENT_SCREEN);
-}
-#endif
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(reset_prog_mode) (NCURSES_SP_DCL0)
+reset_prog_mode(void)
{
- int rc = ERR;
- TERMINAL *termp = TerminalOf(SP_PARM);
-
- T((T_CALLED("reset_prog_mode(%p)"), (void *) SP_PARM));
+ T((T_CALLED("reset_prog_mode()")));
- if (termp != 0) {
-#ifdef USE_TERM_DRIVER
- rc = CallDriver_2(SP_PARM, mode, TRUE, FALSE);
-#else
- if (_nc_set_tty_mode(&termp->Nttyb) == OK) {
- if (SP_PARM) {
- if (SP_PARM->_keypad_on)
- _nc_keypad(SP_PARM, TRUE);
- NC_BUFFERED(SP_PARM, TRUE);
+ if (cur_term != 0) {
+ if (_nc_set_tty_mode(&cur_term->Nttyb) == OK) {
+ if (SP) {
+ if (SP->_keypad_on)
+ _nc_keypad(SP, TRUE);
+ NC_BUFFERED(TRUE);
}
- rc = OK;
+ returnCode(OK);
}
-#endif
}
- returnCode(rc);
+ returnCode(ERR);
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-reset_prog_mode(void)
-{
- return NCURSES_SP_NAME(reset_prog_mode) (CURRENT_SCREEN);
-}
-#endif
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(reset_shell_mode) (NCURSES_SP_DCL0)
+reset_shell_mode(void)
{
- int rc = ERR;
- TERMINAL *termp = TerminalOf(SP_PARM);
+ T((T_CALLED("reset_shell_mode()")));
- T((T_CALLED("reset_shell_mode(%p)"), (void *) SP_PARM));
-
- if (termp != 0) {
-#ifdef USE_TERM_DRIVER
- rc = CallDriver_2(SP_PARM, mode, FALSE, FALSE);
-#else
- if (SP_PARM) {
- _nc_keypad(SP_PARM, FALSE);
+ if (cur_term != 0) {
+ if (SP) {
+ _nc_keypad(SP, FALSE);
_nc_flush();
- NC_BUFFERED(SP_PARM, FALSE);
+ NC_BUFFERED(FALSE);
}
- rc = _nc_set_tty_mode(&termp->Ottyb);
-#endif
+ returnCode(_nc_set_tty_mode(&cur_term->Ottyb));
}
- returnCode(rc);
+ returnCode(ERR);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-reset_shell_mode(void)
-{
- return NCURSES_SP_NAME(reset_shell_mode) (CURRENT_SCREEN);
-}
-#endif
-
static TTY *
-saved_tty(NCURSES_SP_DCL0)
+saved_tty(void)
{
TTY *result = 0;
- if (SP_PARM != 0) {
- result = (TTY *) & (SP_PARM->_saved_tty);
+ if (SP != 0) {
+ result = &(SP->_saved_tty);
} else {
if (_nc_prescreen.saved_tty == 0) {
_nc_prescreen.saved_tty = typeCalloc(TTY, 1);
@@ -291,31 +204,17 @@ saved_tty(NCURSES_SP_DCL0)
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(savetty) (NCURSES_SP_DCL0)
-{
- T((T_CALLED("savetty(%p)"), (void *) SP_PARM));
- returnCode(NCURSES_SP_NAME(_nc_get_tty_mode) (NCURSES_SP_ARGx saved_tty(NCURSES_SP_ARG)));
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
savetty(void)
{
- return NCURSES_SP_NAME(savetty) (CURRENT_SCREEN);
-}
-#endif
+ T((T_CALLED("savetty()")));
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(resetty) (NCURSES_SP_DCL0)
-{
- T((T_CALLED("resetty(%p)"), (void *) SP_PARM));
- returnCode(NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx saved_tty(NCURSES_SP_ARG)));
+ returnCode(_nc_get_tty_mode(saved_tty()));
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
resetty(void)
{
- return NCURSES_SP_NAME(resetty) (CURRENT_SCREEN);
+ T((T_CALLED("resetty()")));
+
+ returnCode(_nc_set_tty_mode(saved_tty()));
}
-#endif
diff --git a/ncurses/tinfo/make_hash.c b/ncurses/tinfo/make_hash.c
deleted file mode 100644
index 15c281def50c..000000000000
--- a/ncurses/tinfo/make_hash.c
+++ /dev/null
@@ -1,294 +0,0 @@
-/****************************************************************************
- * Copyright (c) 1998-2009,2010 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"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************/
-
-/****************************************************************************
- * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
- * and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- ****************************************************************************/
-
-/*
- * make_hash.c --- build-time program for constructing comp_captab.c
- *
- */
-
-#include <build.priv.h>
-
-#include <tic.h>
-#include <hashsize.h>
-
-#include <ctype.h>
-
-MODULE_ID("$Id: make_hash.c,v 1.3 2010/05/22 18:02:50 tom Exp $")
-
-/*
- * _nc_make_hash_table()
- *
- * Takes the entries in table[] and hashes them into hash_table[]
- * by name. There are CAPTABSIZE entries in table[] and HASHTABSIZE
- * slots in hash_table[].
- *
- */
-
-#undef MODULE_ID
-#define MODULE_ID(id) /*nothing */
-#include <tinfo/doalloc.c>
-
-/*
- * int hash_function(string)
- *
- * Computes the hashing function on the given string.
- *
- * The current hash function is the sum of each consectutive pair
- * of characters, taken as two-byte integers, mod HASHTABSIZE.
- *
- */
-
-static int
-hash_function(const char *string)
-{
- long sum = 0;
-
- while (*string) {
- sum += (long) (*string + (*(string + 1) << 8));
- string++;
- }
-
- return (int) (sum % HASHTABSIZE);
-}
-
-static void
-_nc_make_hash_table(struct name_table_entry *table,
- HashValue * hash_table)
-{
- short i;
- int hashvalue;
- int collisions = 0;
-
- for (i = 0; i < HASHTABSIZE; i++) {
- hash_table[i] = -1;
- }
- for (i = 0; i < CAPTABSIZE; i++) {
- hashvalue = hash_function(table[i].nte_name);
-
- if (hash_table[hashvalue] >= 0)
- collisions++;
-
- if (hash_table[hashvalue] != 0)
- table[i].nte_link = hash_table[hashvalue];
- hash_table[hashvalue] = i;
- }
-
- printf("/* %d collisions out of %d entries */\n", collisions, CAPTABSIZE);
-}
-
-/*
- * This filter reads from standard input a list of tab-delimited columns,
- * (e.g., from Caps.filtered) computes the hash-value of a specified column and
- * writes the hashed tables to standard output.
- *
- * By compiling the hash table at build time, we're able to make the entire
- * set of terminfo and termcap tables readonly (and also provide some runtime
- * performance enhancement).
- */
-
-#define MAX_COLUMNS BUFSIZ /* this _has_ to be worst-case */
-
-static char **
-parse_columns(char *buffer)
-{
- static char **list;
-
- int col = 0;
-
- if (list == 0 && (list = typeCalloc(char *, MAX_COLUMNS)) == 0)
- return (0);
-
- if (*buffer != '#') {
- while (*buffer != '\0') {
- char *s;
- for (s = buffer; (*s != '\0') && !isspace(UChar(*s)); s++)
- /*EMPTY */ ;
- if (s != buffer) {
- char mark = *s;
- *s = '\0';
- if ((s - buffer) > 1
- && (*buffer == '"')
- && (s[-1] == '"')) { /* strip the quotes */
- assert(s > buffer + 1);
- s[-1] = '\0';
- buffer++;
- }
- list[col] = buffer;
- col++;
- if (mark == '\0')
- break;
- while (*++s && isspace(UChar(*s)))
- /*EMPTY */ ;
- buffer = s;
- } else
- break;
- }
- }
- return col ? list : 0;
-}
-
-int
-main(int argc, char **argv)
-{
- struct name_table_entry *name_table = typeCalloc(struct
- name_table_entry, CAPTABSIZE);
- HashValue *hash_table = typeCalloc(HashValue, HASHTABSIZE);
- const char *root_name = "";
- int column = 0;
- int bigstring = 0;
- int n;
- char buffer[BUFSIZ];
-
- static const char *typenames[] =
- {"BOOLEAN", "NUMBER", "STRING"};
-
- short BoolCount = 0;
- short NumCount = 0;
- short StrCount = 0;
-
- /* The first argument is the column-number (starting with 0).
- * The second is the root name of the tables to generate.
- */
- if (argc <= 3
- || (column = atoi(argv[1])) <= 0
- || (column >= MAX_COLUMNS)
- || *(root_name = argv[2]) == 0
- || (bigstring = atoi(argv[3])) < 0
- || name_table == 0
- || hash_table == 0) {
- fprintf(stderr, "usage: make_hash column root_name bigstring\n");
- exit(EXIT_FAILURE);
- }
-
- /*
- * Read the table into our arrays.
- */
- for (n = 0; (n < CAPTABSIZE) && fgets(buffer, BUFSIZ, stdin);) {
- char **list, *nlp = strchr(buffer, '\n');
- if (nlp)
- *nlp = '\0';
- list = parse_columns(buffer);
- if (list == 0) /* blank or comment */
- continue;
- name_table[n].nte_link = -1; /* end-of-hash */
- name_table[n].nte_name = strdup(list[column]);
- if (!strcmp(list[2], "bool")) {
- name_table[n].nte_type = BOOLEAN;
- name_table[n].nte_index = BoolCount++;
- } else if (!strcmp(list[2], "num")) {
- name_table[n].nte_type = NUMBER;
- name_table[n].nte_index = NumCount++;
- } else if (!strcmp(list[2], "str")) {
- name_table[n].nte_type = STRING;
- name_table[n].nte_index = StrCount++;
- } else {
- fprintf(stderr, "Unknown type: %s\n", list[2]);
- exit(EXIT_FAILURE);
- }
- n++;
- }
- _nc_make_hash_table(name_table, hash_table);
-
- /*
- * Write the compiled tables to standard output
- */
- if (bigstring) {
- int len = 0;
- int nxt;
-
- printf("static const char %s_names_text[] = \\\n", root_name);
- for (n = 0; n < CAPTABSIZE; n++) {
- nxt = (int) strlen(name_table[n].nte_name) + 5;
- if (nxt + len > 72) {
- printf("\\\n");
- len = 0;
- }
- printf("\"%s\\0\" ", name_table[n].nte_name);
- len += nxt;
- }
- printf(";\n\n");
-
- len = 0;
- printf("static name_table_data const %s_names_data[] =\n",
- root_name);
- printf("{\n");
- for (n = 0; n < CAPTABSIZE; n++) {
- printf("\t{ %15d,\t%10s,\t%3d, %3d }%c\n",
- len,
- typenames[name_table[n].nte_type],
- name_table[n].nte_index,
- name_table[n].nte_link,
- n < CAPTABSIZE - 1 ? ',' : ' ');
- len += (int) strlen(name_table[n].nte_name) + 1;
- }
- printf("};\n\n");
- printf("static struct name_table_entry *_nc_%s_table = 0;\n\n", root_name);
- } else {
-
- printf("static struct name_table_entry %s _nc_%s_table[] =\n",
- bigstring ? "" : "const",
- root_name);
- printf("{\n");
- for (n = 0; n < CAPTABSIZE; n++) {
- sprintf(buffer, "\"%s\"",
- name_table[n].nte_name);
- printf("\t{ %15s,\t%10s,\t%3d, %3d }%c\n",
- buffer,
- typenames[name_table[n].nte_type],
- name_table[n].nte_index,
- name_table[n].nte_link,
- n < CAPTABSIZE - 1 ? ',' : ' ');
- }
- printf("};\n\n");
- }
-
- printf("static const HashValue _nc_%s_hash_table[%d] =\n",
- root_name,
- HASHTABSIZE + 1);
- printf("{\n");
- for (n = 0; n < HASHTABSIZE; n++) {
- printf("\t%3d,\n", hash_table[n]);
- }
- printf("\t0\t/* base-of-table */\n");
- printf("};\n\n");
-
- printf("#if (BOOLCOUNT!=%d)||(NUMCOUNT!=%d)||(STRCOUNT!=%d)\n",
- BoolCount, NumCount, StrCount);
- printf("#error\t--> term.h and comp_captab.c disagree about the <--\n");
- printf("#error\t--> numbers of booleans, numbers and/or strings <--\n");
- printf("#endif\n\n");
-
- free(hash_table);
- return EXIT_SUCCESS;
-}
diff --git a/ncurses/tinfo/make_keys.c b/ncurses/tinfo/make_keys.c
index a7854e3fe604..c084f87fb943 100644
--- a/ncurses/tinfo/make_keys.c
+++ b/ncurses/tinfo/make_keys.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -37,18 +37,18 @@
*/
#define USE_TERMLIB 1
-#include <build.priv.h>
+#include <curses.priv.h>
-MODULE_ID("$Id: make_keys.c,v 1.19 2010/06/05 22:08:00 tom Exp $")
+MODULE_ID("$Id: make_keys.c,v 1.14 2008/08/03 21:57:22 tom Exp $")
#include <names.c>
-#define UNKNOWN (unsigned) (SIZEOF(strnames) + SIZEOF(strfnames))
+#define UNKNOWN (SIZEOF(strnames) + SIZEOF(strfnames))
-static unsigned
+static size_t
lookup(const char *name)
{
- unsigned n;
+ size_t 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];
- unsigned maxlen = 16;
+ int maxlen = 16;
int scanned;
while (fgets(buffer, sizeof(buffer), ifp) != 0) {
@@ -85,14 +85,14 @@ make_keys(FILE *ifp, FILE *ofp)
scanned = sscanf(buffer, "%255s %255s", to, from);
if (scanned == 2) {
- unsigned code = lookup(from);
+ int code = lookup(from);
if (code == UNKNOWN)
continue;
- if (strlen(from) > maxlen)
- maxlen = (unsigned) strlen(from);
- fprintf(ofp, "\t{ %4u, %-*.*s },\t/* %s */\n",
+ if ((int) strlen(from) > maxlen)
+ maxlen = strlen(from);
+ fprintf(ofp, "\t{ %4d, %-*.*s },\t/* %s */\n",
code,
- (int) maxlen, (int) maxlen,
+ maxlen, maxlen,
to,
from);
}
diff --git a/ncurses/tinfo/name_match.c b/ncurses/tinfo/name_match.c
index a9ac64278888..d576901fa2e9 100644
--- a/ncurses/tinfo/name_match.c
+++ b/ncurses/tinfo/name_match.c
@@ -31,9 +31,10 @@
****************************************************************************/
#include <curses.priv.h>
+#include <term.h>
#include <tic.h>
-MODULE_ID("$Id: name_match.c,v 1.18 2008/11/16 00:19:59 juergen Exp $")
+MODULE_ID("$Id: name_match.c,v 1.17 2008/08/03 19:49:33 tom Exp $")
/*
* _nc_first_name(char *names)
diff --git a/ncurses/tinfo/parse_entry.c b/ncurses/tinfo/parse_entry.c
index ddbc25204fec..cf7a5f409d7c 100644
--- a/ncurses/tinfo/parse_entry.c
+++ b/ncurses/tinfo/parse_entry.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -46,8 +46,9 @@
#include <ctype.h>
#include <tic.h>
+#include <term_entry.h>
-MODULE_ID("$Id: parse_entry.c,v 1.75 2010/05/01 19:35:09 tom Exp $")
+MODULE_ID("$Id: parse_entry.c,v 1.69 2008/08/16 21:52:03 tom Exp $")
#ifdef LINT
static short const parametrized[] =
@@ -83,13 +84,13 @@ _nc_extend_names(ENTRY * entryp, char *name, int token_type)
case NUMBER:
first = tp->ext_Booleans;
last = tp->ext_Numbers + first;
- offset = (unsigned) (tp->ext_Booleans + tp->ext_Numbers);
+ offset = tp->ext_Booleans + tp->ext_Numbers;
tindex = tp->num_Numbers;
break;
case STRING:
- first = (unsigned) (tp->ext_Booleans + tp->ext_Numbers);
+ first = tp->ext_Booleans + tp->ext_Numbers;
last = tp->ext_Strings + first;
- offset = (unsigned) (tp->ext_Booleans + tp->ext_Numbers + tp->ext_Strings);
+ offset = tp->ext_Booleans + tp->ext_Numbers + tp->ext_Strings;
tindex = tp->num_Strings;
break;
case CANCEL:
@@ -136,31 +137,27 @@ _nc_extend_names(ENTRY * entryp, char *name, int token_type)
break;
}
}
-
-#define for_each_value(max) \
- for (last = (unsigned) (max - 1); last > tindex; last--)
-
if (!found) {
switch (token_type) {
case BOOLEAN:
- tp->ext_Booleans++;
- tp->num_Booleans++;
+ tp->ext_Booleans += 1;
+ tp->num_Booleans += 1;
tp->Booleans = typeRealloc(NCURSES_SBOOL, tp->num_Booleans, tp->Booleans);
- for_each_value(tp->num_Booleans)
+ for (last = tp->num_Booleans - 1; last > tindex; last--)
tp->Booleans[last] = tp->Booleans[last - 1];
break;
case NUMBER:
- tp->ext_Numbers++;
- tp->num_Numbers++;
+ tp->ext_Numbers += 1;
+ tp->num_Numbers += 1;
tp->Numbers = typeRealloc(short, tp->num_Numbers, tp->Numbers);
- for_each_value(tp->num_Numbers)
+ for (last = tp->num_Numbers - 1; last > tindex; last--)
tp->Numbers[last] = tp->Numbers[last - 1];
break;
case STRING:
- tp->ext_Strings++;
- tp->num_Strings++;
+ tp->ext_Strings += 1;
+ tp->num_Strings += 1;
tp->Strings = typeRealloc(char *, tp->num_Strings, tp->Strings);
- for_each_value(tp->num_Strings)
+ for (last = tp->num_Strings - 1; last > tindex; last--)
tp->Strings[last] = tp->Strings[last - 1];
break;
}
@@ -173,7 +170,7 @@ _nc_extend_names(ENTRY * entryp, char *name, int token_type)
temp.nte_name = tp->ext_Names[offset];
temp.nte_type = token_type;
- temp.nte_index = (short) tindex;
+ temp.nte_index = tindex;
temp.nte_link = -1;
return &temp;
@@ -382,14 +379,16 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
&& !strcmp("ma", _nc_curr_token.tk_name)) {
/* tell max_attributes from arrow_key_map */
entry_ptr = _nc_find_type_entry("ma", NUMBER,
- _nc_syntax != 0);
+ _nc_get_table(_nc_syntax
+ != 0));
assert(entry_ptr != 0);
} else if (token_type == STRING
&& !strcmp("MT", _nc_curr_token.tk_name)) {
/* map terminfo's string MT to MT */
entry_ptr = _nc_find_type_entry("MT", STRING,
- _nc_syntax != 0);
+ _nc_get_table(_nc_syntax
+ != 0));
assert(entry_ptr != 0);
} else if (token_type == BOOLEAN
@@ -445,7 +444,7 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
case NUMBER:
entryp->tterm.Numbers[entry_ptr->nte_index] =
- (short) _nc_curr_token.tk_valnumber;
+ _nc_curr_token.tk_valnumber;
break;
case STRING:
@@ -511,9 +510,9 @@ NCURSES_EXPORT(int)
_nc_capcmp(const char *s, const char *t)
/* compare two string capabilities, stripping out padding */
{
- if (!VALID_STRING(s) && !VALID_STRING(t))
+ if (!s && !t)
return (0);
- else if (!VALID_STRING(s) || !VALID_STRING(t))
+ else if (!s || !t)
return (1);
for (;;) {
@@ -668,7 +667,7 @@ postprocess_termcap(TERMTYPE *tp, bool has_base)
else if (PRESENT(backspace_if_not_bs))
cursor_left = backspace_if_not_bs;
}
- /* vi doesn't use "do", but it does seem to use nl (or '\n') instead */
+ /* vi doesn't use "do", but it does seems to use nl (or '\n') instead */
if (WANTED(cursor_down)) {
if (PRESENT(linefeed_if_not_lf))
cursor_down = linefeed_if_not_lf;
@@ -773,7 +772,7 @@ postprocess_termcap(TERMTYPE *tp, bool has_base)
* isn't from mytinfo...
*/
if (PRESENT(other_non_function_keys)) {
- char *base;
+ char *base = other_non_function_keys;
char *bp, *cp, *dp;
struct name_table_entry const *from_ptr;
struct name_table_entry const *to_ptr;
@@ -789,7 +788,7 @@ postprocess_termcap(TERMTYPE *tp, bool has_base)
for (base = other_non_function_keys;
(cp = strchr(base, ',')) != 0;
base = cp + 1) {
- size_t len = (unsigned) (cp - base);
+ size_t len = cp - base;
for (ap = ko_xlate; ap->from; ap++) {
if (len == strlen(ap->from)
@@ -841,7 +840,7 @@ postprocess_termcap(TERMTYPE *tp, bool has_base)
} else
*dp++ = *bp;
}
- *dp = '\0';
+ *dp++ = '\0';
tp->Strings[to_ptr->nte_index] = _nc_save_str(buf2);
}
diff --git a/ncurses/tinfo/read_entry.c b/ncurses/tinfo/read_entry.c
index e38b9cbe49d8..b4ea61ca194e 100644
--- a/ncurses/tinfo/read_entry.c
+++ b/ncurses/tinfo/read_entry.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -40,8 +40,9 @@
#include <hashed_db.h>
#include <tic.h>
+#include <term_entry.h>
-MODULE_ID("$Id: read_entry.c,v 1.108 2011/02/26 15:36:06 tom Exp $")
+MODULE_ID("$Id: read_entry.c,v 1.102 2008/08/03 19:33:04 tom Exp $")
#define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts))
@@ -56,7 +57,7 @@ convert_shorts(char *buf, short *Numbers, int count)
else if (IS_NEG2(buf + 2 * i))
Numbers[i] = CANCELLED_NUMERIC;
else
- Numbers[i] = (short) LOW_MSB(buf + 2 * i);
+ Numbers[i] = LOW_MSB(buf + 2 * i);
TR(TRACE_DATABASE, ("get Numbers[%d]=%d", i, Numbers[i]));
}
}
@@ -98,9 +99,9 @@ fake_read(char *src, int *offset, int limit, char *dst, unsigned want)
if (have > 0) {
if ((int) want > have)
- want = (unsigned) have;
+ want = have;
memcpy(dst, src + *offset, want);
- *offset += (int) want;
+ *offset += want;
} else {
want = 0;
}
@@ -154,7 +155,7 @@ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
return (TGETENT_NO);
}
- want = (unsigned) (str_size + name_size + 1);
+ want = str_size + name_size + 1;
if (str_size) {
/* try to allocate space for the string table */
if (str_count * 2 >= (int) sizeof(buf)
@@ -172,14 +173,14 @@ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
want = min(MAX_NAME_SIZE, (unsigned) name_size);
ptr->str_table = string_table;
ptr->term_names = string_table;
- if ((have = (unsigned) Read(ptr->term_names, want)) != want) {
+ if ((have = Read(ptr->term_names, want)) != want) {
memset(ptr->term_names + have, 0, want - have);
}
ptr->term_names[want] = '\0';
string_table += (want + 1);
if (have > MAX_NAME_SIZE)
- offset = (int) (have - MAX_NAME_SIZE);
+ offset = (have - MAX_NAME_SIZE);
/* grab the booleans */
if ((ptr->Booleans = TYPE_CALLOC(NCURSES_SBOOL,
@@ -233,7 +234,7 @@ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
int ext_str_count = LOW_MSB(buf + 4);
int ext_str_size = LOW_MSB(buf + 6);
int ext_str_limit = LOW_MSB(buf + 8);
- unsigned need = (unsigned) (ext_bool_count + ext_num_count + ext_str_count);
+ unsigned need = (ext_bool_count + ext_num_count + ext_str_count);
int base = 0;
if (need >= sizeof(buf)
@@ -246,9 +247,9 @@ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
|| ext_str_limit < 0)
return (TGETENT_NO);
- ptr->num_Booleans = UShort(BOOLCOUNT + ext_bool_count);
- ptr->num_Numbers = UShort(NUMCOUNT + ext_num_count);
- ptr->num_Strings = UShort(STRCOUNT + ext_str_count);
+ ptr->num_Booleans = BOOLCOUNT + ext_bool_count;
+ ptr->num_Numbers = NUMCOUNT + ext_num_count;
+ ptr->num_Strings = STRCOUNT + ext_str_count;
ptr->Booleans = typeRealloc(NCURSES_SBOOL, ptr->num_Booleans, ptr->Booleans);
ptr->Numbers = typeRealloc(short, ptr->num_Numbers, ptr->Numbers);
@@ -260,7 +261,7 @@ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
TR(TRACE_DATABASE, ("READ %d extended-booleans @%d",
ext_bool_count, offset));
- if ((ptr->ext_Booleans = UShort(ext_bool_count)) != 0) {
+ if ((ptr->ext_Booleans = ext_bool_count) != 0) {
if (Read(ptr->Booleans + BOOLCOUNT, (unsigned)
ext_bool_count) != ext_bool_count)
return (TGETENT_NO);
@@ -269,7 +270,7 @@ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
TR(TRACE_DATABASE, ("READ %d extended-numbers @%d",
ext_num_count, offset));
- if ((ptr->ext_Numbers = UShort(ext_num_count)) != 0) {
+ if ((ptr->ext_Numbers = ext_num_count) != 0) {
if (!read_shorts(buf, ext_num_count))
return (TGETENT_NO);
TR(TRACE_DATABASE, ("Before converting extended-numbers"));
@@ -278,22 +279,21 @@ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
TR(TRACE_DATABASE, ("READ extended-offsets @%d", offset));
if ((ext_str_count || need)
- && !read_shorts(buf, ext_str_count + (int) need))
+ && !read_shorts(buf, ext_str_count + need))
return (TGETENT_NO);
TR(TRACE_DATABASE, ("READ %d bytes of extended-strings @%d",
ext_str_limit, offset));
if (ext_str_limit) {
- ptr->ext_str_table = typeMalloc(char, (size_t) ext_str_limit);
- if (ptr->ext_str_table == 0)
- return (TGETENT_NO);
+ if ((ptr->ext_str_table = typeMalloc(char, ext_str_limit)) == 0)
+ return (TGETENT_NO);
if (Read(ptr->ext_str_table, (unsigned) ext_str_limit) != ext_str_limit)
return (TGETENT_NO);
TR(TRACE_DATABASE, ("first extended-string is %s", _nc_visbuf(ptr->ext_str_table)));
}
- if ((ptr->ext_Strings = UShort(ext_str_count)) != 0) {
+ if ((ptr->ext_Strings = ext_str_count) != 0) {
TR(TRACE_DATABASE,
("Before computing extended-string capabilities str_count=%d, ext_str_count=%d",
str_count, ext_str_count));
@@ -305,7 +305,7 @@ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
_nc_visbuf(ptr->Strings[i + str_count])));
ptr->Strings[i + STRCOUNT] = ptr->Strings[i + str_count];
if (VALID_STRING(ptr->Strings[i + STRCOUNT]))
- base += (int) (strlen(ptr->Strings[i + STRCOUNT]) + 1);
+ base += (strlen(ptr->Strings[i + STRCOUNT]) + 1);
TR(TRACE_DATABASE, ("... to [%d] %s",
i + STRCOUNT,
_nc_visbuf(ptr->Strings[i + STRCOUNT])));
@@ -314,7 +314,7 @@ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
if (need) {
if (ext_str_count >= (MAX_ENTRY_SIZE * 2))
- return (TGETENT_NO);
+ return (TGETENT_NO);
if ((ptr->ext_Names = TYPE_CALLOC(char *, need)) == 0)
return (TGETENT_NO);
TR(TRACE_DATABASE,
@@ -364,18 +364,16 @@ NCURSES_EXPORT(int)
_nc_read_file_entry(const char *const filename, TERMTYPE *ptr)
/* return 1 if read, 0 if not found or garbled */
{
- FILE *fp = 0;
- int code;
+ int code, fd = -1;
int limit;
char buffer[MAX_ENTRY_SIZE + 1];
if (_nc_access(filename, R_OK) < 0
- || (fp = fopen(filename, "rb")) == 0) {
+ || (fd = open(filename, O_RDONLY | O_BINARY)) < 0) {
T(("cannot open terminfo %s (errno=%d)", filename, errno));
code = TGETENT_NO;
} else {
- if ((limit = (int) fread(buffer, sizeof(char), sizeof(buffer), fp))
- > 0) {
+ if ((limit = read(fd, buffer, sizeof(buffer))) > 0) {
T(("read terminfo %s", filename));
if ((code = _nc_read_termtype(ptr, buffer, limit)) == TGETENT_NO) {
@@ -384,7 +382,7 @@ _nc_read_file_entry(const char *const filename, TERMTYPE *ptr)
} else {
code = TGETENT_NO;
}
- fclose(fp);
+ close(fd);
}
return (code);
@@ -406,22 +404,26 @@ _nc_read_tic_entry(char *filename,
/*
* If we are looking in a directory, assume the entry is a file under that,
* according to the normal rules.
+ *
+ * FIXME - add caseless-filename fixup.
*/
- unsigned need = (unsigned) (LEAF_LEN + 3 + strlen(path) + strlen(name));
- if (need <= limit)
- (void) sprintf(filename, "%s/" LEAF_FMT "/%s", path, *name, name);
+ if (_nc_is_dir_path(path)) {
+ unsigned need = 4 + strlen(path) + strlen(name);
- if (_nc_is_dir_path(path))
- result = _nc_read_file_entry(filename, tp);
+ if (need <= limit) {
+ (void) sprintf(filename, "%s/" LEAF_FMT "/%s", path, *name, name);
+ result = _nc_read_file_entry(filename, tp);
+ }
+ }
#if USE_HASHED_DB
else {
static const char suffix[] = DBM_SUFFIX;
DB *capdbp;
unsigned lens = sizeof(suffix) - 1;
unsigned size = strlen(path);
- unsigned test = lens + size;
+ unsigned need = lens + size;
- if (test < limit) {
+ if (need <= limit) {
if (size >= lens
&& !strcmp(path + size - lens, suffix))
(void) strcpy(filename, path);
@@ -513,7 +515,6 @@ _nc_read_entry(const char *const name, char *const filename, TERMTYPE *const tp)
{
int code = TGETENT_NO;
- sprintf(filename, "%.*s", PATH_MAX - 1, name);
if (strlen(name) == 0
|| strcmp(name, ".") == 0
|| strcmp(name, "..") == 0
diff --git a/ncurses/tinfo/read_termcap.c b/ncurses/tinfo/read_termcap.c
index b39a5bebaa47..d94d1a42466d 100644
--- a/ncurses/tinfo/read_termcap.c
+++ b/ncurses/tinfo/read_termcap.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2006 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 *
@@ -56,8 +56,9 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <tic.h>
+#include <term_entry.h>
-MODULE_ID("$Id: read_termcap.c,v 1.74 2010/01/23 17:57:43 tom Exp $")
+MODULE_ID("$Id: read_termcap.c,v 1.71 2006/07/29 12:06:51 tom Exp $")
#if !PURE_TERMINFO
@@ -78,15 +79,6 @@ get_termpath(void)
return result;
}
-/*
- * Note:
- * getcap(), cgetent(), etc., are BSD functions. A copy of those was added to
- * this file in November 1995, derived from the BSD4.4 Lite sources.
- *
- * The initial adaptation uses 518 lines from that source.
- * The current source (in 2009) uses 183 lines of BSD4.4 Lite (441 ignoring
- * whitespace).
- */
#if USE_GETCAP
#if HAVE_BSD_CGETENT
@@ -115,7 +107,11 @@ static int _nc_nfcmp(const char *, char *);
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgment:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
diff --git a/ncurses/tinfo/setbuf.c b/ncurses/tinfo/setbuf.c
index a2e2660c8664..ba910e8983a4 100644
--- a/ncurses/tinfo/setbuf.c
+++ b/ncurses/tinfo/setbuf.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2008 *
****************************************************************************/
/*
@@ -42,7 +40,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: setbuf.c,v 1.16 2010/08/28 21:08:31 tom Exp $")
+MODULE_ID("$Id: setbuf.c,v 1.13 2007/05/12 19:04:02 tom Exp $")
/*
* If the output file descriptor is connected to a tty (the typical case) it
@@ -100,20 +98,11 @@ MODULE_ID("$Id: setbuf.c,v 1.16 2010/08/28 21:08:31 tom Exp $")
* buffer. So we disable this by default (there may yet be a workaround).
*/
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_DCLx FILE *ofp, bool buffered)
+_nc_set_buffer(FILE *ofp, bool buffered)
{
- int Cols;
- int Lines;
-
- if (0 == SP_PARM)
- return;
-
- Cols = *(ptrCols(SP_PARM));
- Lines = *(ptrLines(SP_PARM));
-
/* optional optimization hack -- do before any output to ofp */
#if HAVE_SETVBUF || HAVE_SETBUFFER
- if (SP_PARM->_buffered != buffered) {
+ if (SP->_buffered != buffered) {
unsigned buf_len;
char *buf_ptr;
@@ -125,11 +114,11 @@ NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_DCLx FILE *ofp, bool buffered)
setmode(ofp, O_BINARY);
#endif
if (buffered != 0) {
- buf_len = (unsigned) min(Lines * (Cols + 6), 2800);
- if ((buf_ptr = SP_PARM->_setbuf) == 0) {
+ buf_len = min(LINES * (COLS + 6), 2800);
+ if ((buf_ptr = SP->_setbuf) == 0) {
if ((buf_ptr = typeMalloc(char, buf_len)) == NULL)
return;
- SP_PARM->_setbuf = buf_ptr;
+ SP->_setbuf = buf_ptr;
/* Don't try to free this! */
}
#if !USE_SETBUF_0
@@ -155,15 +144,7 @@ NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_DCLx FILE *ofp, bool buffered)
(void) setbuffer(ofp, buf_ptr, (int) buf_len);
#endif
- SP_PARM->_buffered = buffered;
+ SP->_buffered = buffered;
}
#endif /* HAVE_SETVBUF || HAVE_SETBUFFER */
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_set_buffer(FILE *ofp, bool buffered)
-{
- NCURSES_SP_NAME(_nc_set_buffer) (CURRENT_SCREEN, ofp, buffered);
-}
-#endif
diff --git a/ncurses/tinfo/tinfo_driver.c b/ncurses/tinfo/tinfo_driver.c
deleted file mode 100644
index 5b3b55a4519e..000000000000
--- a/ncurses/tinfo/tinfo_driver.c
+++ /dev/null
@@ -1,1337 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2008-2009,2010 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"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************/
-
-/****************************************************************************
- * Author: Juergen Pfeifer *
- * *
- ****************************************************************************/
-
-#include <curses.priv.h>
-#define CUR ((TERMINAL*)TCB)->type.
-#include <tic.h>
-
-#if HAVE_NANOSLEEP
-#include <time.h>
-#if HAVE_SYS_TIME_H
-#include <sys/time.h> /* needed for MacOS X DP3 */
-#endif
-#endif
-
-#if HAVE_SIZECHANGE
-# if !defined(sun) || !TERMIOS
-# if HAVE_SYS_IOCTL_H
-# include <sys/ioctl.h>
-# endif
-# endif
-#endif
-
-MODULE_ID("$Id: tinfo_driver.c,v 1.13 2010/12/20 01:47:09 tom Exp $")
-
-/*
- * SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS,
- * Solaris, IRIX) define TIOCGWINSZ and struct winsize.
- */
-#ifdef TIOCGSIZE
-# define IOCTL_WINSIZE TIOCGSIZE
-# define STRUCT_WINSIZE struct ttysize
-# define WINSIZE_ROWS(n) (int)n.ts_lines
-# define WINSIZE_COLS(n) (int)n.ts_cols
-#else
-# ifdef TIOCGWINSZ
-# define IOCTL_WINSIZE TIOCGWINSZ
-# define STRUCT_WINSIZE struct winsize
-# define WINSIZE_ROWS(n) (int)n.ws_row
-# define WINSIZE_COLS(n) (int)n.ws_col
-# endif
-#endif
-
-/*
- * These should be screen structure members. They need to be globals for
- * historical reasons. So we assign them in start_color() and also in
- * set_term()'s screen-switching logic.
- */
-#if USE_REENTRANT
-NCURSES_EXPORT(int)
-NCURSES_PUBLIC_VAR(COLOR_PAIRS) (void)
-{
- return CURRENT_SCREEN ? CURRENT_SCREEN->_pair_count : -1;
-}
-NCURSES_EXPORT(int)
-NCURSES_PUBLIC_VAR(COLORS) (void)
-{
- return CURRENT_SCREEN ? CURRENT_SCREEN->_color_count : -1;
-}
-#else
-NCURSES_EXPORT_VAR(int) COLOR_PAIRS = 0;
-NCURSES_EXPORT_VAR(int) COLORS = 0;
-#endif
-
-#define TCBMAGIC NCDRV_MAGIC(NCDRV_TINFO)
-#define AssertTCB() assert(TCB!=0 && TCB->magic==TCBMAGIC)
-#define SetSP() assert(TCB->csp!=0); sp = TCB->csp
-
-/*
- * This routine needs to do all the work to make curscr look
- * like newscr.
- */
-static int
-drv_doupdate(TERMINAL_CONTROL_BLOCK * TCB)
-{
- AssertTCB();
- return TINFO_DOUPDATE(TCB->csp);
-}
-
-#define ret_error(code, fmt, arg) if (errret) {\
- *errret = code;\
- return(FALSE); \
- } else {\
- fprintf(stderr, fmt, arg);\
- exit(EXIT_FAILURE);\
- }
-
-#define ret_error0(code, msg) if (errret) {\
- *errret = code;\
- return(FALSE);\
- } else {\
- fprintf(stderr, msg);\
- exit(EXIT_FAILURE);\
- }
-
-static bool
-drv_CanHandle(TERMINAL_CONTROL_BLOCK * TCB, const char *tname, int *errret)
-{
- bool result = FALSE;
- int status;
- TERMINAL *termp;
- SCREEN *sp;
-
- assert(TCB != 0 && tname != 0);
- termp = (TERMINAL *) TCB;
- sp = TCB->csp;
- TCB->magic = TCBMAGIC;
-
-#if (USE_DATABASE || USE_TERMCAP)
- status = _nc_setup_tinfo(tname, &termp->type);
-#else
- status = TGETENT_NO;
-#endif
-
- /* try fallback list if entry on disk */
- if (status != TGETENT_YES) {
- const TERMTYPE *fallback = _nc_fallback(tname);
-
- if (fallback) {
- termp->type = *fallback;
- status = TGETENT_YES;
- }
- }
-
- if (status != TGETENT_YES) {
- NCURSES_SP_NAME(del_curterm) (NCURSES_SP_ARGx termp);
- if (status == TGETENT_ERR) {
- ret_error0(status, "terminals database is inaccessible\n");
- } else if (status == TGETENT_NO) {
- ret_error(status, "'%s': unknown terminal type.\n", tname);
- }
- }
- result = TRUE;
-#if !USE_REENTRANT
- strncpy(ttytype, termp->type.term_names, NAMESIZE - 1);
- ttytype[NAMESIZE - 1] = '\0';
-#endif
-
- if (command_character)
- _nc_tinfo_cmdch(termp, *command_character);
-
- if (generic_type) {
- ret_error(TGETENT_NO, "'%s': I need something more specific.\n", tname);
- }
- if (hard_copy) {
- ret_error(TGETENT_YES, "'%s': I can't handle hardcopy terminals.\n", tname);
- }
-
- return result;
-}
-
-static int
-drv_dobeepflash(TERMINAL_CONTROL_BLOCK * TCB, bool beepFlag)
-{
- SCREEN *sp;
- int res = ERR;
-
- AssertTCB();
- SetSP();
-
- /* FIXME: should make sure that we are not in altchar mode */
- if (beepFlag) {
- if (bell) {
- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "bell", bell);
- NCURSES_SP_NAME(_nc_flush) (sp);
- } else if (flash_screen) {
- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "flash_screen",
- flash_screen);
- NCURSES_SP_NAME(_nc_flush) (sp);
- }
- } else {
- if (flash_screen) {
- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "flash_screen",
- flash_screen);
- NCURSES_SP_NAME(_nc_flush) (sp);
- } else if (bell) {
- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "bell", bell);
- NCURSES_SP_NAME(_nc_flush) (sp);
- }
- }
- return res;
-}
-
-/*
- * SVr4 curses is known to interchange color codes (1,4) and (3,6), possibly
- * to maintain compatibility with a pre-ANSI scheme. The same scheme is
- * also used in the FreeBSD syscons.
- */
-static int
-toggled_colors(int c)
-{
- if (c < 16) {
- static const int table[] =
- {0, 4, 2, 6, 1, 5, 3, 7,
- 8, 12, 10, 14, 9, 13, 11, 15};
- c = table[c];
- }
- return c;
-}
-
-static int
-drv_print(TERMINAL_CONTROL_BLOCK * TCB, char *data, int len)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-#if NCURSES_EXT_FUNCS
- return NCURSES_SP_NAME(mcprint) (TCB->csp, data, len);
-#else
- return ERR;
-#endif
-}
-
-static int
-drv_defaultcolors(TERMINAL_CONTROL_BLOCK * TCB, int fg, int bg)
-{
- SCREEN *sp;
- int code = ERR;
-
- AssertTCB();
- SetSP();
-
- if (sp != 0 && orig_pair && orig_colors && (initialize_pair != 0)) {
-#if NCURSES_EXT_FUNCS
- sp->_default_color = isDefaultColor(fg) || isDefaultColor(bg);
- sp->_has_sgr_39_49 = (NCURSES_SP_NAME(tigetflag) (NCURSES_SP_ARGx
- "AX")
- == TRUE);
- sp->_default_fg = isDefaultColor(fg) ? COLOR_DEFAULT : (fg & C_MASK);
- sp->_default_bg = isDefaultColor(bg) ? COLOR_DEFAULT : (bg & C_MASK);
- if (sp->_color_pairs != 0) {
- bool save = sp->_default_color;
- sp->_default_color = TRUE;
- NCURSES_SP_NAME(init_pair) (NCURSES_SP_ARGx
- 0,
- (short)fg,
- (short)bg);
- sp->_default_color = save;
- }
-#endif
- code = OK;
- }
- return (code);
-}
-
-static void
-drv_setcolor(TERMINAL_CONTROL_BLOCK * TCB,
- bool fore,
- int color,
- NCURSES_SP_OUTC outc)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- if (fore) {
- if (set_a_foreground) {
- TPUTS_TRACE("set_a_foreground");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_a_foreground, color), 1, outc);
- } else {
- TPUTS_TRACE("set_foreground");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_foreground,
- toggled_colors(color)), 1, outc);
- }
- } else {
- if (set_a_background) {
- TPUTS_TRACE("set_a_background");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_a_background, color), 1, outc);
- } else {
- TPUTS_TRACE("set_background");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_background,
- toggled_colors(color)), 1, outc);
- }
- }
-}
-
-static bool
-drv_rescol(TERMINAL_CONTROL_BLOCK * TCB)
-{
- bool result = FALSE;
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- if (orig_pair != 0) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "orig_pair", orig_pair);
- result = TRUE;
- }
- return result;
-}
-
-static bool
-drv_rescolors(TERMINAL_CONTROL_BLOCK * TCB)
-{
- int result = FALSE;
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- if (orig_colors != 0) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "orig_colors", orig_colors);
- result = TRUE;
- }
- return result;
-}
-
-static int
-drv_size(TERMINAL_CONTROL_BLOCK * TCB, int *linep, int *colp)
-{
- SCREEN *sp;
- bool useEnv = TRUE;
-
- AssertTCB();
- sp = TCB->csp; /* can be null here */
-
- if (sp) {
- useEnv = sp->_use_env;
- } else
- useEnv = _nc_prescreen.use_env;
-
- /* figure out the size of the screen */
- T(("screen size: terminfo lines = %d columns = %d", lines, columns));
-
- *linep = (int) lines;
- *colp = (int) columns;
-
- if (useEnv) {
- int value;
-
-#ifdef __EMX__
- {
- int screendata[2];
- _scrsize(screendata);
- *colp = screendata[0];
- *linep = screendata[1];
- T(("EMX screen size: environment LINES = %d COLUMNS = %d",
- *linep, *colp));
- }
-#endif
-#if HAVE_SIZECHANGE
- /* try asking the OS */
- {
- TERMINAL *termp = (TERMINAL *) TCB;
- if (isatty(termp->Filedes)) {
- STRUCT_WINSIZE size;
-
- errno = 0;
- do {
- if (ioctl(termp->Filedes, IOCTL_WINSIZE, &size) >= 0) {
- *linep = ((sp != 0 && sp->_filtered)
- ? 1
- : WINSIZE_ROWS(size));
- *colp = WINSIZE_COLS(size);
- T(("SYS screen size: environment LINES = %d COLUMNS = %d",
- *linep, *colp));
- break;
- }
- } while
- (errno == EINTR);
- }
- }
-#endif /* HAVE_SIZECHANGE */
-
- /*
- * Finally, look for environment variables.
- *
- * Solaris lets users override either dimension with an environment
- * variable.
- */
- if ((value = _nc_getenv_num("LINES")) > 0) {
- *linep = value;
- T(("screen size: environment LINES = %d", *linep));
- }
- if ((value = _nc_getenv_num("COLUMNS")) > 0) {
- *colp = value;
- T(("screen size: environment COLUMNS = %d", *colp));
- }
-
- /* if we can't get dynamic info about the size, use static */
- if (*linep <= 0) {
- *linep = (int) lines;
- }
- if (*colp <= 0) {
- *colp = (int) columns;
- }
-
- /* the ultimate fallback, assume fixed 24x80 size */
- if (*linep <= 0) {
- *linep = 24;
- }
- if (*colp <= 0) {
- *colp = 80;
- }
-
- /*
- * Put the derived values back in the screen-size caps, so
- * tigetnum() and tgetnum() will do the right thing.
- */
- lines = (short) (*linep);
- columns = (short) (*colp);
- }
-
- T(("screen size is %dx%d", *linep, *colp));
- return OK;
-}
-
-static int
-drv_getsize(TERMINAL_CONTROL_BLOCK * TCB, int *l, int *c)
-{
- AssertTCB();
- assert(l != 0 && c != 0);
- *l = lines;
- *c = columns;
- return OK;
-}
-
-static int
-drv_setsize(TERMINAL_CONTROL_BLOCK * TCB, int l, int c)
-{
- AssertTCB();
- lines = (short) l;
- columns = (short) c;
- return OK;
-}
-
-static int
-drv_sgmode(TERMINAL_CONTROL_BLOCK * TCB, bool setFlag, TTY * buf)
-{
- SCREEN *sp = TCB->csp;
- TERMINAL *_term = (TERMINAL *) TCB;
- int result = OK;
-
- AssertTCB();
- if (setFlag) {
- for (;;) {
- if (SET_TTY(_term->Filedes, buf) != 0) {
- if (errno == EINTR)
- continue;
- if (errno == ENOTTY) {
- if (sp)
- sp->_notty = TRUE;
- }
- result = ERR;
- }
- break;
- }
- } else {
- for (;;) {
- if (GET_TTY(_term->Filedes, buf) != 0) {
- if (errno == EINTR)
- continue;
- result = ERR;
- }
- break;
- }
- }
- return result;
-}
-
-static int
-drv_mode(TERMINAL_CONTROL_BLOCK * TCB, bool progFlag, bool defFlag)
-{
- SCREEN *sp;
- TERMINAL *_term = (TERMINAL *) TCB;
- int code = ERR;
-
- AssertTCB();
- sp = TCB->csp;
-
- if (progFlag) /* prog mode */
- {
- if (defFlag) {
- /* def_prog_mode */
- /*
- * Turn off the XTABS bit in the tty structure if it was on.
- */
- if ((drv_sgmode(TCB, FALSE, &(_term->Nttyb)) == OK)) {
-#ifdef TERMIOS
- _term->Nttyb.c_oflag &= (unsigned) ~OFLAGS_TABS;
-#else
- _term->Nttyb.sg_flags &= (unsigned) ~XTABS;
-#endif
- code = OK;
- }
- } else {
- /* reset_prog_mode */
- if (drv_sgmode(TCB, TRUE, &(_term->Nttyb)) == OK) {
- if (sp) {
- if (sp->_keypad_on)
- _nc_keypad(sp, TRUE);
- NC_BUFFERED(sp, TRUE);
- }
- code = OK;
- }
- }
- } else { /* shell mode */
- if (defFlag) {
- /* def_shell_mode */
- /*
- * If XTABS was on, remove the tab and backtab capabilities.
- */
- if (drv_sgmode(TCB, FALSE, &(_term->Ottyb)) == OK) {
-#ifdef TERMIOS
- if (_term->Ottyb.c_oflag & OFLAGS_TABS)
- tab = back_tab = NULL;
-#else
- if (_term->Ottyb.sg_flags & XTABS)
- tab = back_tab = NULL;
-#endif
- code = OK;
- }
- } else {
- /* reset_shell_mode */
- if (sp) {
- _nc_keypad(sp, FALSE);
- NCURSES_SP_NAME(_nc_flush) (sp);
- NC_BUFFERED(sp, FALSE);
- }
- code = drv_sgmode(TCB, TRUE, &(_term->Ottyb));
- }
- }
- return (code);
-}
-
-static void
-drv_wrap(SCREEN *sp)
-{
- if (sp) {
- sp->_mouse_wrap(sp);
- NCURSES_SP_NAME(_nc_screen_wrap) (sp);
- NCURSES_SP_NAME(_nc_mvcur_wrap) (sp); /* wrap up cursor addressing */
- }
-}
-
-static void
-drv_release(TERMINAL_CONTROL_BLOCK * TCB GCC_UNUSED)
-{
-}
-
-# define SGR0_TEST(mode) (mode != 0) && (exit_attribute_mode == 0 || strcmp(mode, exit_attribute_mode))
-
-static void
-drv_screen_init(SCREEN *sp)
-{
- TERMINAL_CONTROL_BLOCK *TCB = TCBOf(sp);
-
- AssertTCB();
-
- /*
- * Check for mismatched graphic-rendition capabilities. Most SVr4
- * terminfo trees contain entries that have rmul or rmso equated to
- * sgr0 (Solaris curses copes with those entries). We do this only
- * for curses, since many termcap applications assume that
- * smso/rmso and smul/rmul are paired, and will not function
- * properly if we remove rmso or rmul. Curses applications
- * shouldn't be looking at this detail.
- */
- sp->_use_rmso = SGR0_TEST(exit_standout_mode);
- sp->_use_rmul = SGR0_TEST(exit_underline_mode);
-
- /*
- * Check whether we can optimize scrolling under dumb terminals in
- * case we do not have any of these capabilities, scrolling
- * optimization will be useless.
- */
- sp->_scrolling = ((scroll_forward && scroll_reverse) ||
- ((parm_rindex ||
- parm_insert_line ||
- insert_line) &&
- (parm_index ||
- parm_delete_line ||
- delete_line)));
-
- NCURSES_SP_NAME(baudrate) (sp);
-
- NCURSES_SP_NAME(_nc_mvcur_init) (sp);
- /* initialize terminal to a sane state */
- NCURSES_SP_NAME(_nc_screen_init) (sp);
-}
-
-static void
-drv_init(TERMINAL_CONTROL_BLOCK * TCB)
-{
- SCREEN *sp;
- TERMINAL *trm;
-
- AssertTCB();
-
- trm = (TERMINAL *) TCB;
- sp = TCB->csp;
-
- TCB->info.initcolor = initialize_color;
- TCB->info.canchange = can_change;
- TCB->info.hascolor = ((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs)
- && (((set_foreground != NULL)
- && (set_background != NULL))
- || ((set_a_foreground != NULL)
- && (set_a_background != NULL))
- || set_color_pair)) ? TRUE : FALSE);
-
- TCB->info.caninit = !(exit_ca_mode && non_rev_rmcup);
-
- TCB->info.maxpairs = VALID_NUMERIC(max_pairs) ? max_pairs : 0;
- TCB->info.maxcolors = VALID_NUMERIC(max_colors) ? max_colors : 0;
- TCB->info.numlabels = VALID_NUMERIC(num_labels) ? num_labels : 0;
- TCB->info.labelwidth = VALID_NUMERIC(label_width) ? label_width : 0;
- TCB->info.labelheight = VALID_NUMERIC(label_height) ? label_height : 0;
- TCB->info.nocolorvideo = VALID_NUMERIC(no_color_video) ? no_color_video
- : 0;
- TCB->info.tabsize = VALID_NUMERIC(init_tabs) ? (int) init_tabs : 8;
-
- TCB->info.defaultPalette = hue_lightness_saturation ? _nc_hls_palette : _nc_cga_palette;
-
- /*
- * If an application calls setupterm() rather than initscr() or
- * newterm(), we will not have the def_prog_mode() call in
- * _nc_setupscreen(). Do it now anyway, so we can initialize the
- * baudrate.
- */
- if (isatty(trm->Filedes)) {
- TCB->drv->mode(TCB, TRUE, TRUE);
- }
-}
-
-#define MAX_PALETTE 8
-#define InPalette(n) ((n) >= 0 && (n) < MAX_PALETTE)
-
-static void
-drv_initpair(TERMINAL_CONTROL_BLOCK * TCB, short pair, short f, short b)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- if ((initialize_pair != NULL) && InPalette(f) && InPalette(b)) {
- const color_t *tp = InfoOf(sp).defaultPalette;
-
- TR(TRACE_ATTRS,
- ("initializing pair: pair = %d, fg=(%d,%d,%d), bg=(%d,%d,%d)",
- pair,
- tp[f].red, tp[f].green, tp[f].blue,
- tp[b].red, tp[b].green, tp[b].blue));
-
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "initialize_pair",
- TPARM_7(initialize_pair,
- pair,
- tp[f].red, tp[f].green, tp[f].blue,
- tp[b].red, tp[b].green, tp[b].blue));
- }
-}
-
-static int
-default_fg(SCREEN *sp)
-{
-#if NCURSES_EXT_FUNCS
- return (sp != 0) ? sp->_default_fg : COLOR_WHITE;
-#else
- return COLOR_WHITE;
-#endif
-}
-
-static int
-default_bg(SCREEN *sp)
-{
-#if NCURSES_EXT_FUNCS
- return sp != 0 ? sp->_default_bg : COLOR_BLACK;
-#else
- return COLOR_BLACK;
-#endif
-}
-
-static void
-drv_initcolor(TERMINAL_CONTROL_BLOCK * TCB,
- short color, short r, short g, short b)
-{
- SCREEN *sp = TCB->csp;
-
- AssertTCB();
- if (initialize_color != NULL) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "initialize_color",
- TPARM_4(initialize_color, color, r, g, b));
- }
-}
-
-static void
-drv_do_color(TERMINAL_CONTROL_BLOCK * TCB,
- short old_pair,
- short pair,
- bool reverse,
- NCURSES_SP_OUTC outc)
-{
- SCREEN *sp = TCB->csp;
- NCURSES_COLOR_T fg = COLOR_DEFAULT;
- NCURSES_COLOR_T bg = COLOR_DEFAULT;
- NCURSES_COLOR_T old_fg, old_bg;
-
- AssertTCB();
- if (sp == 0)
- return;
-
- if (pair < 0 || pair >= COLOR_PAIRS) {
- return;
- } else if (pair != 0) {
- if (set_color_pair) {
- TPUTS_TRACE("set_color_pair");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_color_pair, pair), 1, outc);
- return;
- } else if (sp != 0) {
- NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx
- (short) pair,
- &fg,
- &bg);
- }
- }
-
- if (old_pair >= 0
- && sp != 0
- && NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx
- old_pair,
- &old_fg,
- &old_bg) !=ERR) {
- if ((isDefaultColor(fg) && !isDefaultColor(old_fg))
- || (isDefaultColor(bg) && !isDefaultColor(old_bg))) {
-#if NCURSES_EXT_FUNCS
- /*
- * A minor optimization - but extension. If "AX" is specified in
- * the terminal description, treat it as screen's indicator of ECMA
- * SGR 39 and SGR 49, and assume the two sequences are independent.
- */
- if (sp->_has_sgr_39_49
- && isDefaultColor(old_bg)
- && !isDefaultColor(old_fg)) {
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx "\033[39m", 1, outc);
- } else if (sp->_has_sgr_39_49
- && isDefaultColor(old_fg)
- && !isDefaultColor(old_bg)) {
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx "\033[49m", 1, outc);
- } else
-#endif
- drv_rescol(TCB);
- }
- } else {
- drv_rescol(TCB);
- if (old_pair < 0)
- return;
- }
-
-#if NCURSES_EXT_FUNCS
- if (isDefaultColor(fg))
- fg = (NCURSES_COLOR_T) default_fg(sp);
- if (isDefaultColor(bg))
- bg = (NCURSES_COLOR_T) default_bg(sp);
-#endif
-
- if (reverse) {
- NCURSES_COLOR_T xx = fg;
- fg = bg;
- bg = xx;
- }
-
- TR(TRACE_ATTRS, ("setting colors: pair = %d, fg = %d, bg = %d", pair,
- fg, bg));
-
- if (!isDefaultColor(fg)) {
- drv_setcolor(TCB, TRUE, fg, outc);
- }
- if (!isDefaultColor(bg)) {
- drv_setcolor(TCB, FALSE, bg, outc);
- }
-}
-
-#define xterm_kmous "\033[M"
-static void
-init_xterm_mouse(SCREEN *sp)
-{
- sp->_mouse_type = M_XTERM;
- sp->_mouse_xtermcap = NCURSES_SP_NAME(tigetstr) (NCURSES_SP_ARGx "XM");
- if (!VALID_STRING(sp->_mouse_xtermcap))
- sp->_mouse_xtermcap = "\033[?1000%?%p1%{1}%=%th%el%;";
-}
-
-static void
-drv_initmouse(TERMINAL_CONTROL_BLOCK * TCB)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- /* we know how to recognize mouse events under "xterm" */
- if (sp != 0) {
- if (key_mouse != 0) {
- if (!strcmp(key_mouse, xterm_kmous)
- || strstr(TerminalOf(sp)->type.term_names, "xterm") != 0) {
- init_xterm_mouse(sp);
- }
- } else if (strstr(TerminalOf(sp)->type.term_names, "xterm") != 0) {
- if (_nc_add_to_try(&(sp->_keytry), xterm_kmous, KEY_MOUSE) == OK)
- init_xterm_mouse(sp);
- }
- }
-}
-
-static int
-drv_testmouse(TERMINAL_CONTROL_BLOCK * TCB, int delay)
-{
- int rc = 0;
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
-#if USE_SYSMOUSE
- if ((sp->_mouse_type == M_SYSMOUSE)
- && (sp->_sysmouse_head < sp->_sysmouse_tail)) {
- rc = TW_MOUSE;
- } else
-#endif
- {
- rc = TCBOf(sp)->drv->twait(TCBOf(sp),
- TWAIT_MASK,
- delay,
- (int *) 0
- EVENTLIST_2nd(evl));
-#if USE_SYSMOUSE
- if ((sp->_mouse_type == M_SYSMOUSE)
- && (sp->_sysmouse_head < sp->_sysmouse_tail)
- && (rc == 0)
- && (errno == EINTR)) {
- rc |= TW_MOUSE;
- }
-#endif
- }
- return rc;
-}
-
-static int
-drv_mvcur(TERMINAL_CONTROL_BLOCK * TCB, int yold, int xold, int ynew, int xnew)
-{
- SCREEN *sp = TCB->csp;
- AssertTCB();
- return TINFO_MVCUR(sp, yold, xold, ynew, xnew);
-}
-
-static void
-drv_hwlabel(TERMINAL_CONTROL_BLOCK * TCB, int labnum, char *text)
-{
- SCREEN *sp = TCB->csp;
-
- AssertTCB();
- if (labnum > 0 && labnum <= num_labels) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "plab_norm",
- TPARM_2(plab_norm, labnum, text));
- }
-}
-
-static void
-drv_hwlabelOnOff(TERMINAL_CONTROL_BLOCK * TCB, bool OnFlag)
-{
- SCREEN *sp = TCB->csp;
-
- AssertTCB();
- if (OnFlag) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "label_on", label_on);
- } else {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "label_off", label_off);
- }
-}
-
-static chtype
-drv_conattr(TERMINAL_CONTROL_BLOCK * TCB)
-{
- SCREEN *sp = TCB->csp;
- chtype attrs = A_NORMAL;
-
- AssertTCB();
- if (enter_alt_charset_mode)
- attrs |= A_ALTCHARSET;
-
- if (enter_blink_mode)
- attrs |= A_BLINK;
-
- if (enter_bold_mode)
- attrs |= A_BOLD;
-
- if (enter_dim_mode)
- attrs |= A_DIM;
-
- if (enter_reverse_mode)
- attrs |= A_REVERSE;
-
- if (enter_standout_mode)
- attrs |= A_STANDOUT;
-
- if (enter_protected_mode)
- attrs |= A_PROTECT;
-
- if (enter_secure_mode)
- attrs |= A_INVIS;
-
- if (enter_underline_mode)
- attrs |= A_UNDERLINE;
-
- if (sp && sp->_coloron)
- attrs |= A_COLOR;
-
- return (attrs);
-}
-
-static void
-drv_setfilter(TERMINAL_CONTROL_BLOCK * TCB)
-{
- AssertTCB();
-
- clear_screen = 0;
- cursor_down = parm_down_cursor = 0;
- cursor_address = 0;
- cursor_up = parm_up_cursor = 0;
- row_address = 0;
- cursor_home = carriage_return;
-}
-
-static void
-drv_initacs(TERMINAL_CONTROL_BLOCK * TCB, chtype *real_map, chtype *fake_map)
-{
- SCREEN *sp = TCB->csp;
-
- AssertTCB();
- assert(sp != 0);
- if (ena_acs != NULL) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "ena_acs", ena_acs);
- }
-#if NCURSES_EXT_FUNCS
- /*
- * Linux console "supports" the "PC ROM" character set by the coincidence
- * that smpch/rmpch and smacs/rmacs have the same values. ncurses has
- * no codepage support (see SCO Merge for an example). Outside of the
- * values defined in acsc, there are no definitions for the "PC ROM"
- * character set (assumed by some applications to be codepage 437), but we
- * allow those applications to use those codepoints.
- *
- * test/blue.c uses this feature.
- */
-#define PCH_KLUDGE(a,b) (a != 0 && b != 0 && !strcmp(a,b))
- if (PCH_KLUDGE(enter_pc_charset_mode, enter_alt_charset_mode) &&
- PCH_KLUDGE(exit_pc_charset_mode, exit_alt_charset_mode)) {
- size_t i;
- for (i = 1; i < ACS_LEN; ++i) {
- if (real_map[i] == 0) {
- real_map[i] = i;
- if (real_map != fake_map) {
- if (sp != 0)
- sp->_screen_acs_map[i] = TRUE;
- }
- }
- }
- }
-#endif
-
- if (acs_chars != NULL) {
- size_t i = 0;
- size_t length = strlen(acs_chars);
-
- while (i + 1 < length) {
- if (acs_chars[i] != 0 && UChar(acs_chars[i]) < ACS_LEN) {
- real_map[UChar(acs_chars[i])] = UChar(acs_chars[i + 1]) | A_ALTCHARSET;
- if (sp != 0)
- sp->_screen_acs_map[UChar(acs_chars[i])] = TRUE;
- }
- i += 2;
- }
- }
-#ifdef TRACE
- /* Show the equivalent mapping, noting if it does not match the
- * given attribute, whether by re-ordering or duplication.
- */
- if (USE_TRACEF(TRACE_CALLS)) {
- size_t n, m;
- char show[ACS_LEN * 2 + 1];
- for (n = 1, m = 0; n < ACS_LEN; n++) {
- if (real_map[n] != 0) {
- show[m++] = (char) n;
- show[m++] = (char) ChCharOf(real_map[n]);
- }
- }
- show[m] = 0;
- if (acs_chars == NULL || strcmp(acs_chars, show))
- _tracef("%s acs_chars %s",
- (acs_chars == NULL) ? "NULL" : "READ",
- _nc_visbuf(acs_chars));
- _tracef("%s acs_chars %s",
- (acs_chars == NULL)
- ? "NULL"
- : (strcmp(acs_chars, show)
- ? "DIFF"
- : "SAME"),
- _nc_visbuf(show));
-
- _nc_unlock_global(tracef);
- }
-#endif /* TRACE */
-}
-
-#define ENSURE_TINFO(sp) (TCBOf(sp)->drv->isTerminfo)
-
-NCURSES_EXPORT(void)
-_nc_cookie_init(SCREEN *sp)
-{
- bool support_cookies = USE_XMC_SUPPORT;
- TERMINAL_CONTROL_BLOCK *TCB = (TERMINAL_CONTROL_BLOCK *) (sp->_term);
-
- if (sp == 0 || !ENSURE_TINFO(sp))
- return;
-
-#if USE_XMC_SUPPORT
- /*
- * If we have no magic-cookie support compiled-in, or if it is suppressed
- * in the environment, reset the support-flag.
- */
- if (magic_cookie_glitch >= 0) {
- if (getenv("NCURSES_NO_MAGIC_COOKIE") != 0) {
- support_cookies = FALSE;
- }
- }
-#endif
-
- if (!support_cookies && magic_cookie_glitch >= 0) {
- T(("will disable attributes to work w/o magic cookies"));
- }
-
- if (magic_cookie_glitch > 0) { /* tvi, wyse */
-
- sp->_xmc_triggers = sp->_ok_attributes & (
- A_STANDOUT |
- A_UNDERLINE |
- A_REVERSE |
- A_BLINK |
- A_DIM |
- A_BOLD |
- A_INVIS |
- A_PROTECT
- );
-#if 0
- /*
- * We "should" treat colors as an attribute. The wyse350 (and its
- * clones) appear to be the only ones that have both colors and magic
- * cookies.
- */
- if (has_colors()) {
- sp->_xmc_triggers |= A_COLOR;
- }
-#endif
- sp->_xmc_suppress = sp->_xmc_triggers & (chtype) ~(A_BOLD);
-
- T(("magic cookie attributes %s", _traceattr(sp->_xmc_suppress)));
- /*
- * Supporting line-drawing may be possible. But make the regular
- * video attributes work first.
- */
- acs_chars = ABSENT_STRING;
- ena_acs = ABSENT_STRING;
- enter_alt_charset_mode = ABSENT_STRING;
- exit_alt_charset_mode = ABSENT_STRING;
-#if USE_XMC_SUPPORT
- /*
- * To keep the cookie support simple, suppress all of the optimization
- * hooks except for clear_screen and the cursor addressing.
- */
- if (support_cookies) {
- clr_eol = ABSENT_STRING;
- clr_eos = ABSENT_STRING;
- set_attributes = ABSENT_STRING;
- }
-#endif
- } else if (magic_cookie_glitch == 0) { /* hpterm */
- }
-
- /*
- * If magic cookies are not supported, cancel the strings that set
- * video attributes.
- */
- if (!support_cookies && magic_cookie_glitch >= 0) {
- magic_cookie_glitch = ABSENT_NUMERIC;
- set_attributes = ABSENT_STRING;
- enter_blink_mode = ABSENT_STRING;
- enter_bold_mode = ABSENT_STRING;
- enter_dim_mode = ABSENT_STRING;
- enter_reverse_mode = ABSENT_STRING;
- enter_standout_mode = ABSENT_STRING;
- enter_underline_mode = ABSENT_STRING;
- }
-
- /* initialize normal acs before wide, since we use mapping in the latter */
-#if !USE_WIDEC_SUPPORT
- if (_nc_unicode_locale() && _nc_locale_breaks_acs(sp->_term)) {
- acs_chars = NULL;
- ena_acs = NULL;
- enter_alt_charset_mode = NULL;
- exit_alt_charset_mode = NULL;
- set_attributes = NULL;
- }
-#endif
-}
-
-static int
-drv_twait(TERMINAL_CONTROL_BLOCK * TCB,
- int mode,
- int milliseconds,
- int *timeleft
- EVENTLIST_2nd(_nc_eventlist * evl))
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- return _nc_timed_wait(sp, mode, milliseconds, timeleft EVENTLIST_2nd(evl));
-}
-
-static int
-drv_read(TERMINAL_CONTROL_BLOCK * TCB, int *buf)
-{
- SCREEN *sp;
- unsigned char c2 = 0;
- int n;
-
- AssertTCB();
- assert(buf);
- SetSP();
-
-# if USE_PTHREADS_EINTR
- if ((pthread_self) && (pthread_kill) && (pthread_equal))
- _nc_globals.read_thread = pthread_self();
-# endif
- n = read(sp->_ifd, &c2, 1);
-#if USE_PTHREADS_EINTR
- _nc_globals.read_thread = 0;
-#endif
- *buf = (int) c2;
- return n;
-}
-
-static int
-drv_nap(TERMINAL_CONTROL_BLOCK * TCB GCC_UNUSED, int ms)
-{
-#if HAVE_NANOSLEEP
- {
- struct timespec request, remaining;
- request.tv_sec = ms / 1000;
- request.tv_nsec = (ms % 1000) * 1000000;
- while (nanosleep(&request, &remaining) == -1
- && errno == EINTR) {
- request = remaining;
- }
- }
-#else
- _nc_timed_wait(0, 0, ms, (int *) 0 EVENTLIST_2nd(0));
-#endif
- return OK;
-}
-
-static int
-__nc_putp(SCREEN *sp, const char *name GCC_UNUSED, const char *value)
-{
- int rc = ERR;
-
- if (value) {
- rc = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx name, value);
- }
- return rc;
-}
-
-static int
-__nc_putp_flush(SCREEN *sp, const char *name, const char *value)
-{
- int rc = __nc_putp(sp, name, value);
- if (rc != ERR) {
- NCURSES_SP_NAME(_nc_flush) (sp);
- }
- return rc;
-}
-
-static int
-drv_kpad(TERMINAL_CONTROL_BLOCK * TCB, bool flag)
-{
- int ret = ERR;
- SCREEN *sp;
-
- AssertTCB();
-
- sp = TCB->csp;
-
- if (sp) {
- if (flag) {
- (void) __nc_putp_flush(sp, "keypad_xmit", keypad_xmit);
- } else if (!flag && keypad_local) {
- (void) __nc_putp_flush(sp, "keypad_local", keypad_local);
- }
- if (flag && !sp->_tried) {
- _nc_init_keytry(sp);
- sp->_tried = TRUE;
- }
- ret = OK;
- }
-
- return ret;
-}
-
-static int
-drv_keyok(TERMINAL_CONTROL_BLOCK * TCB, int c, bool flag)
-{
- SCREEN *sp;
- int code = ERR;
- int count = 0;
- char *s;
-
- AssertTCB();
- SetSP();
-
- if (c >= 0) {
- unsigned ch = (unsigned) c;
- if (flag) {
- while ((s = _nc_expand_try(sp->_key_ok, ch, &count, 0)) != 0
- && _nc_remove_key(&(sp->_key_ok), ch)) {
- code = _nc_add_to_try(&(sp->_keytry), s, ch);
- free(s);
- count = 0;
- if (code != OK)
- break;
- }
- } else {
- while ((s = _nc_expand_try(sp->_keytry, ch, &count, 0)) != 0
- && _nc_remove_key(&(sp->_keytry), ch)) {
- code = _nc_add_to_try(&(sp->_key_ok), s, ch);
- free(s);
- count = 0;
- if (code != OK)
- break;
- }
- }
- }
- return (code);
-}
-
-static bool
-drv_kyExist(TERMINAL_CONTROL_BLOCK * TCB, int key)
-{
- bool res = FALSE;
-
- AssertTCB();
- if (TCB->csp)
- res = TINFO_HAS_KEY(TCB->csp, key) == 0 ? FALSE : TRUE;
-
- return res;
-}
-
-NCURSES_EXPORT_VAR (TERM_DRIVER) _nc_TINFO_DRIVER = {
- TRUE,
- drv_CanHandle, /* CanHandle */
- drv_init, /* init */
- drv_release, /* release */
- drv_size, /* size */
- drv_sgmode, /* sgmode */
- drv_conattr, /* conattr */
- drv_mvcur, /* hwcur */
- drv_mode, /* mode */
- drv_rescol, /* rescol */
- drv_rescolors, /* rescolors */
- drv_setcolor, /* color */
- drv_dobeepflash, /* doBeepOrFlash */
- drv_initpair, /* initpair */
- drv_initcolor, /* initcolor */
- drv_do_color, /* docolor */
- drv_initmouse, /* initmouse */
- drv_testmouse, /* testmouse */
- drv_setfilter, /* setfilter */
- drv_hwlabel, /* hwlabel */
- drv_hwlabelOnOff, /* hwlabelOnOff */
- drv_doupdate, /* update */
- drv_defaultcolors, /* defaultcolors */
- drv_print, /* print */
- drv_getsize, /* getsize */
- drv_setsize, /* setsize */
- drv_initacs, /* initacs */
- drv_screen_init, /* scinit */
- drv_wrap, /* scexit */
- drv_twait, /* twait */
- drv_read, /* read */
- drv_nap, /* nap */
- drv_kpad, /* kpad */
- drv_keyok, /* kyOk */
- drv_kyExist /* kyExist */
-};
diff --git a/ncurses/tinfo/trim_sgr0.c b/ncurses/tinfo/trim_sgr0.c
index 1f99208667ec..80c8f77fbebe 100644
--- a/ncurses/tinfo/trim_sgr0.c
+++ b/ncurses/tinfo/trim_sgr0.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2005-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2005-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -35,8 +35,9 @@
#include <ctype.h>
#include <tic.h>
+#include <term_entry.h>
-MODULE_ID("$Id: trim_sgr0.c,v 1.12 2010/12/25 23:03:57 tom Exp $")
+MODULE_ID("$Id: trim_sgr0.c,v 1.8 2007/04/07 17:14:11 tom Exp $")
#undef CUR
#define CUR tp->
@@ -99,8 +100,8 @@ rewrite_sgr(char *s, char *attr)
{
if (PRESENT(s)) {
if (PRESENT(attr)) {
- size_t len_s = strlen(s);
- size_t len_a = strlen(attr);
+ unsigned len_s = strlen(s);
+ unsigned len_a = strlen(attr);
if (len_s > len_a && !strncmp(attr, s, len_a)) {
unsigned n;
@@ -123,8 +124,8 @@ similar_sgr(char *a, char *b)
bool result = FALSE;
int csi_a = is_csi(a);
int csi_b = is_csi(b);
- size_t len_a;
- size_t len_b;
+ unsigned len_a;
+ unsigned len_b;
TR(TRACE_DATABASE, ("similar_sgr:\n\t%s\n\t%s",
_nc_visbuf2(1, a),
@@ -169,13 +170,13 @@ chop_out(char *string, unsigned i, unsigned j)
* Returns the number of chars from 'full' that we matched. If any mismatch
* occurs, return zero.
*/
-static unsigned
+static int
compare_part(const char *part, const char *full)
{
const char *next_part;
const char *next_full;
- unsigned used_full = 0;
- unsigned used_delay = 0;
+ int used_full = 0;
+ int used_delay = 0;
while (*part != 0) {
if (*part != *full) {
@@ -198,7 +199,7 @@ compare_part(const char *part, const char *full)
next_part = skip_delay(part);
next_full = skip_delay(full);
if (next_part != part && next_full != full) {
- used_delay += (unsigned) (next_full - full);
+ used_delay += (next_full - full);
full = next_full;
part = next_part;
continue;
@@ -260,11 +261,10 @@ _nc_trim_sgr0(TERMTYPE *tp)
k = strlen(exit_alt_charset_mode);
if (j > k) {
for (i = 0; i <= (j - k); ++i) {
- unsigned k2 = compare_part(exit_alt_charset_mode,
- off + i);
+ int k2 = compare_part(exit_alt_charset_mode, off + i);
if (k2 != 0) {
found = TRUE;
- chop_out(off, (unsigned) i, (unsigned) (i + k2));
+ chop_out(off, i, i + k2);
break;
}
}
@@ -274,18 +274,18 @@ _nc_trim_sgr0(TERMTYPE *tp)
* SGR 10 would reset to normal font.
*/
if (!found) {
- if ((i = (size_t) is_csi(off)) != 0
+ if ((i = is_csi(off)) != 0
&& off[strlen(off) - 1] == 'm') {
TR(TRACE_DATABASE, ("looking for SGR 10 in %s",
_nc_visbuf(off)));
tmp = skip_zero(off + i);
if (tmp[0] == '1'
&& skip_zero(tmp + 1) != tmp + 1) {
- i = (size_t) (tmp - off);
+ i = tmp - off;
if (off[i - 1] == ';')
i--;
- j = (size_t) (skip_zero(tmp + 1) - off);
- (void) chop_out(off, (unsigned) i, (unsigned) j);
+ j = skip_zero(tmp + 1) - off;
+ i = chop_out(off, i, j);
found = TRUE;
}
}
@@ -293,10 +293,10 @@ _nc_trim_sgr0(TERMTYPE *tp)
if (!found
&& (tmp = strstr(end, off)) != 0
&& strcmp(end, off) != 0) {
- i = (size_t) (tmp - end);
+ i = tmp - end;
j = strlen(off);
tmp = strdup(end);
- chop_out(tmp, (unsigned) i, (unsigned) j);
+ chop_out(tmp, i, j);
free(off);
result = tmp;
}
diff --git a/ncurses/tinfo/use_screen.c b/ncurses/tinfo/use_screen.c
index 6a0297cebd51..6c3b12fb9238 100644
--- a/ncurses/tinfo/use_screen.c
+++ b/ncurses/tinfo/use_screen.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2007-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 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 *
@@ -32,7 +32,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: use_screen.c,v 1.8 2009/10/24 22:40:20 tom Exp $")
+MODULE_ID("$Id: use_screen.c,v 1.6 2008/06/07 19:16:56 tom Exp $")
NCURSES_EXPORT(int)
use_screen(SCREEN *screen, NCURSES_SCREEN_CB func, void *data)
@@ -40,14 +40,14 @@ use_screen(SCREEN *screen, NCURSES_SCREEN_CB func, void *data)
SCREEN *save_SP;
int code = OK;
- T((T_CALLED("use_screen(%p,%p,%p)"), (void *) screen, func, (void *) data));
+ T((T_CALLED("use_screen(%p,%p,%p)"), screen, func, data));
/*
* FIXME - add a flag so a given thread can check if _it_ has already
* recurred through this point, return an error if so.
*/
_nc_lock_global(curses);
- save_SP = CURRENT_SCREEN;
+ save_SP = SP;
set_term(screen);
code = func(screen, data);
diff --git a/ncurses/tinfo/write_entry.c b/ncurses/tinfo/write_entry.c
index a86c11267e93..b53bb210230d 100644
--- a/ncurses/tinfo/write_entry.c
+++ b/ncurses/tinfo/write_entry.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -42,6 +42,7 @@
#include <sys/stat.h>
#include <tic.h>
+#include <term_entry.h>
#ifndef S_ISDIR
#define S_ISDIR(mode) ((mode & S_IFMT) == S_IFDIR)
@@ -53,7 +54,7 @@
#define TRACE_OUT(p) /*nothing */
#endif
-MODULE_ID("$Id: write_entry.c,v 1.78 2010/12/25 23:23:08 tom Exp $")
+MODULE_ID("$Id: write_entry.c,v 1.72 2008/08/03 19:24:00 tom Exp $")
static int total_written;
@@ -136,12 +137,10 @@ make_db_path(char *dst, const char *src, unsigned limit)
if (_nc_is_dir_path(dst)) {
rc = -1;
} else {
- static const char suffix[] = DBM_SUFFIX;
unsigned have = strlen(dst);
- unsigned need = strlen(suffix);
- if (have > need && strcmp(dst + have - need, suffix)) {
- if (have + need <= limit)
- strcat(dst, suffix);
+ if (have > 3 && strcmp(dst + have - 3, DBM_SUFFIX)) {
+ if (have + 3 <= limit)
+ strcat(dst, DBM_SUFFIX);
else
rc = -1;
}
@@ -172,11 +171,7 @@ make_db_root(const char *path)
struct stat statbuf;
if ((rc = stat(path, &statbuf)) < 0) {
- rc = mkdir(path
-#if !defined(__MINGW32__)
- ,0777
-#endif
- );
+ rc = mkdir(path, 0777);
} else if (_nc_access(path, R_OK | W_OK | X_OK) < 0) {
rc = -1; /* permission denied */
} else if (!(S_ISDIR(statbuf.st_mode))) {
@@ -343,7 +338,6 @@ _nc_write_entry(TERMTYPE *const tp)
while (*other_names != '\0') {
ptr = other_names++;
- assert(ptr < buffer + sizeof(buffer) - 1);
while (*other_names != '|' && *other_names != '\0')
other_names++;
@@ -363,7 +357,7 @@ _nc_write_entry(TERMTYPE *const tp)
start_time = 0;
}
- if (strlen(first_name) >= sizeof(filename) - (2 + LEAF_LEN))
+ if (strlen(first_name) >= sizeof(filename) - 3)
_nc_warning("terminal name too long.");
sprintf(filename, LEAF_FMT "/%s", first_name[0], first_name);
@@ -391,13 +385,14 @@ _nc_write_entry(TERMTYPE *const tp)
}
while (*other_names != '\0') {
ptr = other_names++;
+ assert(ptr < buffer + sizeof(buffer) - 1);
while (*other_names != '|' && *other_names != '\0')
other_names++;
if (*other_names != '\0')
*(other_names++) = '\0';
- if (strlen(ptr) > sizeof(linkname) - (2 + LEAF_LEN)) {
+ if (strlen(ptr) > sizeof(linkname) - 3) {
_nc_warning("terminal alias %s too long.", ptr);
continue;
}
@@ -419,12 +414,8 @@ _nc_write_entry(TERMTYPE *const tp)
{
int code;
#if USE_SYMLINKS
- if (first_name[0] == linkname[0])
- strncpy(symlinkname, first_name, sizeof(symlinkname) - 1);
- else {
- strcpy(symlinkname, "../");
- strncat(symlinkname, filename, sizeof(symlinkname) - 4);
- }
+ strcpy(symlinkname, "../");
+ strncat(symlinkname, filename, sizeof(symlinkname) - 4);
symlinkname[sizeof(symlinkname) - 1] = '\0';
#endif /* USE_SYMLINKS */
#if HAVE_REMOVE
@@ -469,26 +460,26 @@ _nc_write_entry(TERMTYPE *const tp)
#endif /* USE_HASHED_DB */
}
-static size_t
+static unsigned
fake_write(char *dst,
unsigned *offset,
- size_t limit,
+ unsigned limit,
char *src,
- size_t want,
- size_t size)
+ unsigned want,
+ unsigned size)
{
- size_t have = (limit - *offset);
+ int have = (limit - *offset);
want *= size;
if (have > 0) {
- if (want > have)
+ if ((int) want > have)
want = have;
memcpy(dst + *offset, src, want);
- *offset += (unsigned) want;
+ *offset += want;
} else {
want = 0;
}
- return (want / size);
+ return (int) (want / size);
}
#define Write(buf, size, count) fake_write(buffer, offset, limit, (char *) buf, count, size)
@@ -496,16 +487,15 @@ fake_write(char *dst,
#undef LITTLE_ENDIAN /* BSD/OS defines this as a feature macro */
#define HI(x) ((x) / 256)
#define LO(x) ((x) % 256)
-#define LITTLE_ENDIAN(p, x) (p)[0] = (unsigned char)LO(x), \
- (p)[1] = (unsigned char)HI(x)
+#define LITTLE_ENDIAN(p, x) (p)[0] = LO(x), (p)[1] = HI(x)
#define WRITE_STRING(str) (Write(str, sizeof(char), strlen(str) + 1) == strlen(str) + 1)
static int
-compute_offsets(char **Strings, size_t strmax, short *offsets)
+compute_offsets(char **Strings, unsigned strmax, short *offsets)
{
- int nextfree = 0;
- size_t i;
+ size_t nextfree = 0;
+ unsigned i;
for (i = 0; i < strmax; i++) {
if (Strings[i] == ABSENT_STRING) {
@@ -513,8 +503,8 @@ compute_offsets(char **Strings, size_t strmax, short *offsets)
} else if (Strings[i] == CANCELLED_STRING) {
offsets[i] = -2;
} else {
- offsets[i] = (short) nextfree;
- nextfree += (int) strlen(Strings[i]) + 1;
+ offsets[i] = nextfree;
+ nextfree += strlen(Strings[i]) + 1;
TRACE_OUT(("put Strings[%d]=%s(%d)", (int) i,
_nc_visbuf(Strings[i]), (int) nextfree));
}
@@ -523,9 +513,9 @@ compute_offsets(char **Strings, size_t strmax, short *offsets)
}
static void
-convert_shorts(unsigned char *buf, short *Numbers, size_t count)
+convert_shorts(unsigned char *buf, short *Numbers, unsigned count)
{
- size_t i;
+ unsigned i;
for (i = 0; i < count; i++) {
if (Numbers[i] == ABSENT_NUMERIC) { /* HI/LO won't work */
buf[2 * i] = buf[2 * i + 1] = 0377;
@@ -534,7 +524,7 @@ convert_shorts(unsigned char *buf, short *Numbers, size_t count)
buf[2 * i + 1] = 0377;
} else {
LITTLE_ENDIAN(buf + 2 * i, Numbers[i]);
- TRACE_OUT(("put Numbers[%u]=%d", (unsigned) i, Numbers[i]));
+ TRACE_OUT(("put Numbers[%d]=%d", i, Numbers[i]));
}
}
}
@@ -546,8 +536,8 @@ convert_shorts(unsigned char *buf, short *Numbers, size_t count)
static unsigned
extended_Booleans(TERMTYPE *tp)
{
- unsigned result = 0;
- unsigned i;
+ unsigned short result = 0;
+ unsigned short i;
for (i = 0; i < tp->ext_Booleans; ++i) {
if (tp->Booleans[BOOLCOUNT + i] == TRUE)
@@ -559,8 +549,8 @@ extended_Booleans(TERMTYPE *tp)
static unsigned
extended_Numbers(TERMTYPE *tp)
{
- unsigned result = 0;
- unsigned i;
+ unsigned short result = 0;
+ unsigned short i;
for (i = 0; i < tp->ext_Numbers; ++i) {
if (tp->Numbers[NUMCOUNT + i] != ABSENT_NUMERIC)
@@ -577,7 +567,7 @@ extended_Strings(TERMTYPE *tp)
for (i = 0; i < tp->ext_Strings; ++i) {
if (tp->Strings[STRCOUNT + i] != ABSENT_STRING)
- result = (unsigned short) (i + 1);
+ result = (i + 1);
}
return result;
}
@@ -607,7 +597,7 @@ write_object(TERMTYPE *tp, char *buffer, unsigned *offset, unsigned limit)
size_t namelen, boolmax, nummax, strmax;
char zero = '\0';
size_t i;
- int nextfree;
+ short nextfree;
short offsets[MAX_ENTRY_SIZE / 2];
unsigned char buf[MAX_ENTRY_SIZE];
unsigned last_bool = BOOLWRITE;
@@ -700,7 +690,7 @@ write_object(TERMTYPE *tp, char *buffer, unsigned *offset, unsigned limit)
#if NCURSES_XNAMES
if (extended_object(tp)) {
- unsigned extcnt = (unsigned) NUM_EXT_NAMES(tp);
+ unsigned extcnt = NUM_EXT_NAMES(tp);
if (even_boundary(nextfree))
return (ERR);
diff --git a/ncurses/trace/lib_trace.c b/ncurses/trace/lib_trace.c
index a726901d4a3a..743b1f64f1ae 100644
--- a/ncurses/trace/lib_trace.c
+++ b/ncurses/trace/lib_trace.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer *
****************************************************************************/
/*
@@ -47,7 +46,7 @@
#include <ctype.h>
-MODULE_ID("$Id: lib_trace.c,v 1.76 2010/12/19 01:21:19 tom Exp $")
+MODULE_ID("$Id: lib_trace.c,v 1.71 2008/08/23 18:04:29 tom Exp $")
NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */
@@ -57,26 +56,26 @@ NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */
NCURSES_EXPORT(const char *)
NCURSES_PUBLIC_VAR(_nc_tputs_trace) (void)
{
- return CURRENT_SCREEN ? CURRENT_SCREEN->_tputs_trace : _nc_prescreen._tputs_trace;
+ return SP ? SP->_tputs_trace : _nc_prescreen._tputs_trace;
}
NCURSES_EXPORT(long)
NCURSES_PUBLIC_VAR(_nc_outchars) (void)
{
- return CURRENT_SCREEN ? CURRENT_SCREEN->_outchars : _nc_prescreen._outchars;
+ return SP ? SP->_outchars : _nc_prescreen._outchars;
}
NCURSES_EXPORT(void)
_nc_set_tputs_trace(const char *s)
{
- if (CURRENT_SCREEN)
- CURRENT_SCREEN->_tputs_trace = s;
+ if (SP)
+ SP->_tputs_trace = s;
else
_nc_prescreen._tputs_trace = s;
}
NCURSES_EXPORT(void)
_nc_count_outchars(long increment)
{
- if (CURRENT_SCREEN)
- CURRENT_SCREEN->_outchars += increment;
+ if (SP)
+ SP->_outchars += increment;
else
_nc_prescreen._outchars += increment;
}
@@ -96,7 +95,7 @@ trace(const unsigned int tracelevel)
const char *mode = _nc_globals.init_trace ? "ab" : "wb";
if (TracePath[0] == '\0') {
- size_t size = sizeof(TracePath) - 12;
+ int size = sizeof(TracePath) - 12;
if (getcwd(TracePath, size) == 0) {
perror("curses: Can't get working directory");
exit(EXIT_FAILURE);
@@ -122,7 +121,7 @@ trace(const unsigned int tracelevel)
*/
#if HAVE_SETVBUF /* ANSI */
(void) setvbuf(TraceFP, (char *) 0, _IOLBF, 0);
-#elif HAVE_SETBUF /* POSIX */
+#elif HAVE_SETBUF /* POSIX */
(void) setbuffer(TraceFP, (char *) 0);
#endif
_tracef("TRACING NCURSES version %s.%d (tracelevel=%#x)",
@@ -184,12 +183,8 @@ _nc_va_tracef(const char *fmt, va_list ap)
# if USE_WEAK_SYMBOLS
if ((pthread_self))
# endif
-#ifdef __MINGW32__
- fprintf(TraceFP, "%#lx:", (long) (void *) pthread_self().p);
-#else
fprintf(TraceFP, "%#lx:", (long) (void *) pthread_self());
#endif
-#endif
if (before || after) {
int n;
for (n = 1; n < TraceLevel; n++)
@@ -224,14 +219,6 @@ _nc_retrace_bool(NCURSES_BOOL code)
return code;
}
-/* Trace 'char' return-values */
-NCURSES_EXPORT(char)
-_nc_retrace_char(char code)
-{
- T((T_RETURN("%c"), code));
- return code;
-}
-
/* Trace 'int' return-values */
NCURSES_EXPORT(int)
_nc_retrace_int(int code)
@@ -284,7 +271,7 @@ _nc_retrace_void_ptr(void *code)
NCURSES_EXPORT(SCREEN *)
_nc_retrace_sp(SCREEN *code)
{
- T((T_RETURN("%p"), (void *) code));
+ T((T_RETURN("%p"), code));
return code;
}
@@ -292,7 +279,7 @@ _nc_retrace_sp(SCREEN *code)
NCURSES_EXPORT(WINDOW *)
_nc_retrace_win(WINDOW *code)
{
- T((T_RETURN("%p"), (void *) code));
+ T((T_RETURN("%p"), code));
return code;
}
diff --git a/ncurses/trace/lib_traceatr.c b/ncurses/trace/lib_traceatr.c
index 35ba0d3e6797..45a03cea05fe 100644
--- a/ncurses/trace/lib_traceatr.c
+++ b/ncurses/trace/lib_traceatr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Thomas Dickey 1996-on *
* and: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Juergen Pfeifer *
****************************************************************************/
/*
@@ -38,12 +37,9 @@
*/
#include <curses.priv.h>
+#include <term.h> /* acs_chars */
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_traceatr.c,v 1.74 2011/01/22 19:48:01 tom Exp $")
+MODULE_ID("$Id: lib_traceatr.c,v 1.63 2008/08/03 16:24:53 tom Exp $")
#define COLOR_OF(c) ((c < 0) ? "default" : (c > 7 ? color_of(c) : colors[c].name))
@@ -132,11 +128,11 @@ _traceattr2(int bufnum, chtype newmode)
for (n = 0; n < SIZEOF(names); n++) {
if ((newmode & names[n].val) != 0) {
if (result[1] != '\0')
- (void) _nc_trace_bufcat(bufnum, "|");
+ result = _nc_trace_bufcat(bufnum, "|");
result = _nc_trace_bufcat(bufnum, names[n].name);
if (names[n].val == A_COLOR) {
- short pairnum = (short) PairNumber(newmode);
+ short pairnum = PAIR_NUMBER(newmode);
#ifdef USE_TERMLIB
/* pair_content lives in libncurses */
(void) sprintf(temp, "{%d}", pairnum);
@@ -176,14 +172,6 @@ _traceattr(attr_t newmode)
}
/* Trace 'int' return-values */
-NCURSES_EXPORT(int)
-_nc_retrace_int_attr_t(attr_t code)
-{
- T((T_RETURN("%s"), _traceattr(code)));
- return (int) code;
-}
-
-/* Trace 'attr_t' return-values */
NCURSES_EXPORT(attr_t)
_nc_retrace_attr_t(attr_t code)
{
@@ -198,9 +186,6 @@ _nc_altcharset_name(attr_t attr, chtype ch)
unsigned int val;
const char *name;
} ALT_NAMES;
-#if NCURSES_SP_FUNCS
- SCREEN *sp = CURRENT_SCREEN;
-#endif
static const ALT_NAMES names[] =
{
{'l', "ACS_ULCORNER"}, /* upper left corner */
@@ -240,26 +225,23 @@ _nc_altcharset_name(attr_t attr, chtype ch)
const char *result = 0;
-#if NCURSES_SP_FUNCS
- (void) sp;
-#endif
if ((attr & A_ALTCHARSET) && (acs_chars != 0)) {
char *cp;
char *found = 0;
- const ALT_NAMES *strp;
+ const ALT_NAMES *sp;
for (cp = acs_chars; cp[0] && cp[1]; cp += 2) {
- if (ChCharOf(UChar(cp[1])) == ChCharOf(ch)) {
+ if (ChCharOf(cp[1]) == ChCharOf(ch)) {
found = cp;
/* don't exit from loop - there may be redefinitions */
}
}
if (found != 0) {
- ch = ChCharOf(UChar(*found));
- for (strp = names; strp->val; strp++)
- if (strp->val == ch) {
- result = strp->name;
+ ch = ChCharOf(*found);
+ for (sp = names; sp->val; sp++)
+ if (sp->val == ch) {
+ result = sp->name;
break;
}
}
@@ -278,9 +260,7 @@ _tracechtype2(int bufnum, chtype ch)
if ((found = _nc_altcharset_name(ChAttrOf(ch), ch)) != 0) {
(void) _nc_trace_bufcat(bufnum, found);
} else
- (void) _nc_trace_bufcat(bufnum,
- _nc_tracechar(CURRENT_SCREEN,
- (int) ChCharOf(ch)));
+ (void) _nc_trace_bufcat(bufnum, _nc_tracechar(SP, (int) ChCharOf(ch)));
if (ChAttrOf(ch) != A_NORMAL) {
(void) _nc_trace_bufcat(bufnum, " | ");
@@ -333,17 +313,14 @@ _tracecchar_t2(int bufnum, const cchar_t *ch)
(void) _nc_trace_bufcat(bufnum, "{ ");
for (PUTC_i = 0; PUTC_i < CCHARW_MAX; ++PUTC_i) {
PUTC_ch = ch->chars[PUTC_i];
- if (PUTC_ch == L'\0') {
- if (PUTC_i == 0)
- (void) _nc_trace_bufcat(bufnum, "\\000");
+ if (PUTC_ch == L'\0')
break;
- }
- PUTC_n = (int) wcrtomb(PUTC_buf, ch->chars[PUTC_i], &PUT_st);
+ PUTC_n = wcrtomb(PUTC_buf, ch->chars[PUTC_i], &PUT_st);
if (PUTC_n <= 0) {
if (PUTC_ch != L'\0') {
/* it could not be a multibyte sequence */
(void) _nc_trace_bufcat(bufnum,
- _nc_tracechar(CURRENT_SCREEN,
+ _nc_tracechar(SP,
UChar(ch->chars[PUTC_i])));
}
break;
@@ -352,7 +329,7 @@ _tracecchar_t2(int bufnum, const cchar_t *ch)
if (n)
(void) _nc_trace_bufcat(bufnum, ", ");
(void) _nc_trace_bufcat(bufnum,
- _nc_tracechar(CURRENT_SCREEN,
+ _nc_tracechar(SP,
UChar(PUTC_buf[n])));
}
}
diff --git a/ncurses/trace/lib_tracebits.c b/ncurses/trace/lib_tracebits.c
index d19d0e420acc..cc441b391e5b 100644
--- a/ncurses/trace/lib_tracebits.c
+++ b/ncurses/trace/lib_tracebits.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -33,8 +33,9 @@
****************************************************************************/
#include <curses.priv.h>
+#include <term.h> /* cur_term */
-MODULE_ID("$Id: lib_tracebits.c,v 1.19 2011/01/09 00:23:03 tom Exp $")
+MODULE_ID("$Id: lib_tracebits.c,v 1.17 2008/08/03 16:09:26 tom Exp $")
#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
#define _POSIX_SOURCE
@@ -261,5 +262,5 @@ _nc_tracebits(void)
return _nc_trace_ttymode(&(cur_term->Nttyb));
}
#else
-EMPTY_MODULE(_nc_empty_lib_tracebits)
+EMPTY_MODULE(_nc_tracebits)
#endif /* TRACE */
diff --git a/ncurses/trace/lib_tracechr.c b/ncurses/trace/lib_tracechr.c
index a1f9f5aa2706..79cf03b4870c 100644
--- a/ncurses/trace/lib_tracechr.c
+++ b/ncurses/trace/lib_tracechr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -39,7 +39,7 @@
#include <ctype.h>
-MODULE_ID("$Id: lib_tracechr.c,v 1.20 2009/04/18 22:48:29 tom Exp $")
+MODULE_ID("$Id: lib_tracechr.c,v 1.19 2008/08/03 15:39:29 tom Exp $")
#ifdef TRACE
@@ -52,7 +52,7 @@ _nc_tracechar(SCREEN *sp, int ch)
: _nc_globals.tracechr_buf);
if (ch > KEY_MIN || ch < 0) {
- name = safe_keyname(SP_PARM, ch);
+ name = _nc_keyname(sp, ch);
if (name == 0 || *name == '\0')
name = "NULL";
(void) sprintf(MyBuffer, "'%.30s' = %#03o", name, ch);
@@ -64,7 +64,7 @@ _nc_tracechar(SCREEN *sp, int ch)
*/
(void) sprintf(MyBuffer, "%#03o", ch);
} else {
- name = safe_unctrl(SP_PARM, (chtype) ch);
+ name = _nc_unctrl(sp, (chtype) ch);
if (name == 0 || *name == 0)
name = "null"; /* shouldn't happen */
(void) sprintf(MyBuffer, "'%.30s' = %#03o", name, ch);
@@ -75,7 +75,7 @@ _nc_tracechar(SCREEN *sp, int ch)
NCURSES_EXPORT(char *)
_tracechar(int ch)
{
- return _nc_tracechar(CURRENT_SCREEN, ch);
+ return _nc_tracechar(SP, ch);
}
#else
EMPTY_MODULE(_nc_lib_tracechr)
diff --git a/ncurses/trace/lib_tracedmp.c b/ncurses/trace/lib_tracedmp.c
index c7fcbf2e0d56..58732a06c246 100644
--- a/ncurses/trace/lib_tracedmp.c
+++ b/ncurses/trace/lib_tracedmp.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -39,7 +39,7 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_tracedmp.c,v 1.32 2009/04/18 21:01:38 tom Exp $")
+MODULE_ID("$Id: lib_tracedmp.c,v 1.31 2008/08/16 19:30:56 tom Exp $")
#ifdef TRACE
@@ -68,7 +68,7 @@ _tracedump(const char *name, WINDOW *win)
if (width < win->_maxx)
++width;
if (++width + 1 > (int) my_length) {
- my_length = (unsigned) (2 * (width + 1));
+ my_length = 2 * (width + 1);
my_buffer = typeRealloc(char, my_length, my_buffer);
}
@@ -82,7 +82,7 @@ _tracedump(const char *name, WINDOW *win)
* we map those to '.' and '?' respectively.
*/
for (j = 0; j < width; ++j) {
- chtype test = (chtype) CharOf(win->_line[n].text[j]);
+ chtype test = CharOf(win->_line[n].text[j]);
ep[j] = (char) ((UChar(test) == test
#if USE_WIDEC_SUPPORT
&& (win->_line[n].text[j].chars[1] == 0)
@@ -111,7 +111,7 @@ _tracedump(const char *name, WINDOW *win)
if (multicolumn) {
ep = my_buffer;
for (j = 0; j < width; ++j) {
- chtype test = WidecExt(win->_line[n].text[j]);
+ int test = WidecExt(win->_line[n].text[j]);
if (test) {
ep[j] = (char) (test + '0');
} else {
@@ -153,7 +153,7 @@ _tracedump(const char *name, WINDOW *win)
for (i = 0; i < 4; ++i) {
const char *hex = " 123456789ABCDEF";
- attr_t mask = (attr_t) (0xf << ((i + 4) * 4));
+ attr_t mask = (0xf << ((i + 4) * 4));
haveattrs = FALSE;
for (j = 0; j < width; ++j)
diff --git a/ncurses/trace/lib_tracemse.c b/ncurses/trace/lib_tracemse.c
index 1afd15d2e785..74cc177d51bb 100644
--- a/ncurses/trace/lib_tracemse.c
+++ b/ncurses/trace/lib_tracemse.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -38,16 +38,23 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_tracemse.c,v 1.18 2011/01/22 19:48:08 tom Exp $")
+MODULE_ID("$Id: lib_tracemse.c,v 1.15 2008/08/03 15:39:29 tom Exp $")
#ifdef TRACE
#define my_buffer sp->tracemse_buf
-static char *
-_trace_mmask_t(SCREEN *sp, mmask_t code)
+NCURSES_EXPORT(char *)
+_nc_tracemouse(SCREEN *sp, MEVENT const *ep)
{
-#define SHOW(m, s) if ((code & m) == m) strcat(strcat(my_buffer, s), ", ")
+ (void) sprintf(my_buffer, TRACEMSE_FMT,
+ ep->id,
+ ep->x,
+ ep->y,
+ ep->z,
+ (unsigned long) ep->bstate);
+
+#define SHOW(m, s) if ((ep->bstate & m) == m) strcat(strcat(my_buffer, s), ", ")
SHOW(BUTTON1_RELEASED, "release-1");
SHOW(BUTTON1_PRESSED, "press-1");
@@ -103,37 +110,14 @@ _trace_mmask_t(SCREEN *sp, mmask_t code)
if (my_buffer[strlen(my_buffer) - 1] == ' ')
my_buffer[strlen(my_buffer) - 2] = '\0';
-
- return (my_buffer);
-}
-
-NCURSES_EXPORT(char *)
-_nc_tracemouse(SCREEN *sp, MEVENT const *ep)
-{
- (void) sprintf(my_buffer, TRACEMSE_FMT,
- ep->id,
- ep->x,
- ep->y,
- ep->z,
- (unsigned long) ep->bstate);
-
- (void) _trace_mmask_t(sp, ep->bstate);
(void) strcat(my_buffer, "}");
return (my_buffer);
}
-NCURSES_EXPORT(mmask_t)
-_nc_retrace_mmask_t(SCREEN *sp, mmask_t code)
-{
- *my_buffer = '\0';
- T((T_RETURN("{%s}"), _trace_mmask_t(sp, code)));
- return code;
-}
-
NCURSES_EXPORT(char *)
_tracemouse(MEVENT const *ep)
{
- return _nc_tracemouse(CURRENT_SCREEN, ep);
+ return _nc_tracemouse(SP, ep);
}
#else /* !TRACE */
diff --git a/ncurses/trace/trace_buf.c b/ncurses/trace/trace_buf.c
index 46baba4796b2..6345acc035fc 100644
--- a/ncurses/trace/trace_buf.c
+++ b/ncurses/trace/trace_buf.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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,9 +35,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: trace_buf.c,v 1.17 2011/01/22 19:48:16 tom Exp $")
-
-#ifdef TRACE
+MODULE_ID("$Id: trace_buf.c,v 1.14 2008/08/03 15:13:56 tom Exp $")
#define MyList _nc_globals.tracebuf_ptr
#define MySize _nc_globals.tracebuf_used
@@ -49,7 +47,7 @@ _nc_trace_alloc(int bufnum, size_t want)
if (bufnum >= 0) {
if ((size_t) (bufnum + 1) > MySize) {
- size_t need = (size_t) (bufnum + 1) * 2;
+ size_t need = (bufnum + 1) * 2;
if ((MyList = typeRealloc(TRACEBUF, need, MyList)) != 0) {
while (need > MySize)
MyList[MySize++].text = 0;
@@ -114,6 +112,3 @@ _nc_trace_bufcat(int bufnum, const char *value)
}
return buffer;
}
-#else
-EMPTY_MODULE(_nc_empty_trace_buf)
-#endif /* TRACE */
diff --git a/ncurses/trace/trace_tries.c b/ncurses/trace/trace_tries.c
index d3380131ecac..f813aba15825 100644
--- a/ncurses/trace/trace_tries.c
+++ b/ncurses/trace/trace_tries.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1999-2009,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-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 *
@@ -27,7 +27,7 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1999 *
+ * Author: Thomas E. Dickey <dickey@clark.net> 1999 *
****************************************************************************/
/*
* trace_tries.c - Tracing/Debugging buffers (keycode tries-trees)
@@ -35,7 +35,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: trace_tries.c,v 1.16 2011/01/09 00:23:27 tom Exp $")
+MODULE_ID("$Id: trace_tries.c,v 1.13 2008/08/03 15:43:30 tom Exp $")
#ifdef TRACE
#define my_buffer _nc_globals.tracetry_buf
@@ -46,7 +46,7 @@ recur_tries(TRIES * tree, unsigned level)
{
if (level > my_length) {
my_length = (level + 1) * 4;
- my_buffer = (unsigned char *) _nc_doalloc(my_buffer, my_length);
+ my_buffer = (unsigned char *) realloc(my_buffer, my_length);
}
while (tree != 0) {
@@ -67,12 +67,12 @@ NCURSES_EXPORT(void)
_nc_trace_tries(TRIES * tree)
{
my_buffer = typeMalloc(unsigned char, my_length = 80);
- _tracef("BEGIN tries %p", (void *) tree);
+ _tracef("BEGIN tries %p", tree);
recur_tries(tree, 0);
- _tracef(". . . tries %p", (void *) tree);
+ _tracef(". . . tries %p", tree);
free(my_buffer);
}
#else
-EMPTY_MODULE(_nc_empty_trace_tries)
+EMPTY_MODULE(_nc_trace_tries)
#endif
diff --git a/ncurses/trace/trace_xnames.c b/ncurses/trace/trace_xnames.c
index 38a48730ccdc..9b0b5920d814 100644
--- a/ncurses/trace/trace_xnames.c
+++ b/ncurses/trace/trace_xnames.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1999-2000,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1999,2000 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 *
@@ -34,11 +34,12 @@
*/
#include <curses.priv.h>
+#include <term_entry.h>
-MODULE_ID("$Id: trace_xnames.c,v 1.6 2010/01/23 17:59:27 tom Exp $")
+MODULE_ID("$Id: trace_xnames.c,v 1.5 2000/12/10 03:02:45 tom Exp $")
NCURSES_EXPORT(void)
-_nc_trace_xnames(TERMTYPE *tp GCC_UNUSED)
+_nc_trace_xnames(TERMTYPE * tp GCC_UNUSED)
{
#ifdef TRACE
#if NCURSES_XNAMES
diff --git a/ncurses/trace/varargs.c b/ncurses/trace/varargs.c
index 541173d27459..f4ee46710abb 100644
--- a/ncurses/trace/varargs.c
+++ b/ncurses/trace/varargs.c
@@ -34,7 +34,7 @@
#include <ctype.h>
-MODULE_ID("$Id: varargs.c,v 1.8 2008/11/16 00:19:59 juergen Exp $")
+MODULE_ID("$Id: varargs.c,v 1.7 2008/08/03 15:42:49 tom Exp $")
#ifdef TRACE
@@ -44,7 +44,7 @@ typedef enum {
atUnknown = 0, atInteger, atFloat, atPoint, atString
} ARGTYPE;
-#define VA_INT(type) ival = (int) va_arg(ap, type)
+#define VA_INT(type) ival = 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/trace/visbuf.c b/ncurses/trace/visbuf.c
index 66da4f4beca3..bf9fb1472003 100644
--- a/ncurses/trace/visbuf.c
+++ b/ncurses/trace/visbuf.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2001-2009,2010 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 *
@@ -42,9 +42,7 @@
#include <tic.h>
#include <ctype.h>
-MODULE_ID("$Id: visbuf.c,v 1.37 2010/05/29 18:51:41 tom Exp $")
-
-#define NUM_VISBUFS 4
+MODULE_ID("$Id: visbuf.c,v 1.32 2008/08/04 23:07:39 tom Exp $")
#define NormalLen(len) (size_t) (((size_t)(len) + 1) * 4)
#define WideLen(len) (size_t) (((size_t)(len) + 1) * 4 * MB_CUR_MAX)
@@ -94,7 +92,7 @@ _nc_vischar(char *tp, unsigned c)
static const char *
_nc_visbuf2n(int bufnum, const char *buf, int len)
{
- const char *vbuf = 0;
+ const char *vbuf;
char *tp;
int c;
@@ -110,16 +108,9 @@ _nc_visbuf2n(int bufnum, const char *buf, int len)
vbuf = tp = _nc_trace_buf(bufnum, NormalLen(len));
#else
{
- static char *mybuf[NUM_VISBUFS];
- if (bufnum < 0) {
- for (c = 0; c < NUM_VISBUFS; ++c) {
- FreeAndNull(mybuf[c]);
- }
- tp = 0;
- } else {
- mybuf[bufnum] = typeRealloc(char, NormalLen(len), mybuf[bufnum]);
- vbuf = tp = mybuf[bufnum];
- }
+ static char *mybuf[4];
+ mybuf[bufnum] = typeRealloc(char, NormalLen(len), mybuf[bufnum]);
+ vbuf = tp = mybuf[bufnum];
}
#endif
if (tp != 0) {
@@ -128,7 +119,7 @@ _nc_visbuf2n(int bufnum, const char *buf, int len)
tp = _nc_vischar(tp, UChar(c));
}
*tp++ = D_QUOTE;
- *tp = '\0';
+ *tp++ = '\0';
} else {
vbuf = ("(_nc_visbuf2n failed)");
}
@@ -186,7 +177,7 @@ _nc_viswbuf2n(int bufnum, const wchar_t *buf, int len)
vbuf = tp = _nc_trace_buf(bufnum, WideLen(len));
#else
{
- static char *mybuf[NUM_VISBUFS];
+ static char *mybuf[2];
mybuf[bufnum] = typeRealloc(char, WideLen(len), mybuf[bufnum]);
vbuf = tp = mybuf[bufnum];
}
@@ -205,7 +196,7 @@ _nc_viswbuf2n(int bufnum, const wchar_t *buf, int len)
}
}
*tp++ = D_QUOTE;
- *tp = '\0';
+ *tp++ = '\0';
} else {
vbuf = ("(_nc_viswbuf2n failed)");
}
@@ -238,9 +229,7 @@ _nc_viswibuf(const wint_t *buf)
static unsigned mylen;
unsigned n;
- for (n = 0; buf[n] != 0; ++n) {
- ; /* empty */
- }
+ for (n = 0; buf[n] != 0; ++n) ;
if (mylen < ++n) {
mylen = n + 80;
if (mybuf != 0)
@@ -248,10 +237,8 @@ _nc_viswibuf(const wint_t *buf)
else
mybuf = typeMalloc(wchar_t, mylen);
}
- for (n = 0; buf[n] != 0; ++n) {
+ for (n = 0; buf[n] != 0; ++n)
mybuf[n] = (wchar_t) buf[n];
- }
- mybuf[n] = L'\0';
return _nc_viswbuf2(0, mybuf);
}
@@ -287,12 +274,12 @@ _nc_viscbuf2(int bufnum, const NCURSES_CH_T * buf, int len)
}
}
- (void) _nc_trace_bufcat(bufnum, l_brace);
- (void) _nc_trace_bufcat(bufnum, d_quote);
+ result = _nc_trace_bufcat(bufnum, l_brace);
+ result = _nc_trace_bufcat(bufnum, d_quote);
for (j = first; j <= last; ++j) {
found = _nc_altcharset_name(attr, (chtype) CharOf(buf[j]));
if (found != 0) {
- (void) _nc_trace_bufcat(bufnum, found);
+ result = _nc_trace_bufcat(bufnum, found);
attr &= ~A_ALTCHARSET;
} else
#if USE_WIDEC_SUPPORT
@@ -304,19 +291,15 @@ _nc_viscbuf2(int bufnum, const NCURSES_CH_T * buf, int len)
int k;
PUTC_ch = buf[j].chars[PUTC_i];
- if (PUTC_ch == L'\0') {
- if (PUTC_i == 0)
- (void) _nc_trace_bufcat(bufnum, "\\000");
+ if (PUTC_ch == L'\0')
break;
- }
- PUTC_n = (int) wcrtomb(PUTC_buf,
- buf[j].chars[PUTC_i], &PUT_st);
+ PUTC_n = (int) wcrtomb(PUTC_buf, buf[j].chars[PUTC_i], &PUT_st);
if (PUTC_n <= 0)
break;
for (k = 0; k < PUTC_n; k++) {
char temp[80];
_nc_vischar(temp, UChar(PUTC_buf[k]));
- (void) _nc_trace_bufcat(bufnum, temp);
+ result = _nc_trace_bufcat(bufnum, temp);
}
}
}
@@ -328,10 +311,10 @@ _nc_viscbuf2(int bufnum, const NCURSES_CH_T * buf, int len)
}
#endif /* USE_WIDEC_SUPPORT */
}
- (void) _nc_trace_bufcat(bufnum, d_quote);
+ result = _nc_trace_bufcat(bufnum, d_quote);
if (attr != A_NORMAL) {
- (void) _nc_trace_bufcat(bufnum, " | ");
- (void) _nc_trace_bufcat(bufnum, _traceattr2(bufnum + 20, attr));
+ result = _nc_trace_bufcat(bufnum, " | ");
+ result = _nc_trace_bufcat(bufnum, _traceattr2(bufnum + 20, attr));
}
result = _nc_trace_bufcat(bufnum, r_brace);
first = last + 1;
diff --git a/ncurses/tty/MKexpanded.sh b/ncurses/tty/MKexpanded.sh
index 7a5f5993c487..bf9acf21aa43 100755
--- a/ncurses/tty/MKexpanded.sh
+++ b/ncurses/tty/MKexpanded.sh
@@ -1,6 +1,6 @@
#! /bin/sh
##############################################################################
-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2000,2005 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"), #
@@ -27,9 +27,9 @@
# authorization. #
##############################################################################
#
-# Author: Thomas E. Dickey, 1997-on
+# Author: Thomas E. Dickey <dickey@clark.net> 1997
#
-# $Id: MKexpanded.sh,v 1.17 2010/01/23 17:57:43 tom Exp $
+# $Id: MKexpanded.sh,v 1.11 2005/01/02 01:06:40 tom Exp $
#
# Script to generate 'expanded.c', a dummy source that contains functions
# corresponding to complex macros used in this library. By making functions,
@@ -52,13 +52,8 @@ trap "rm -f $TMP" 0 1 2 5 15
cat <<EOF
/* generated by MKexpanded.sh */
-#define NEED_NCURSES_CH_T 1
#include <curses.priv.h>
-
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
+#include <term.h>
#if NCURSES_EXPANDED
EOF
@@ -73,59 +68,29 @@ cat >$TMP <<EOF
#undef FALSE
/* this is a marker */
IGNORE
-NCURSES_EXPORT(void)
-_nc_toggle_attr_on (attr_t *S, attr_t at)
+NCURSES_EXPORT(void) _nc_toggle_attr_on (attr_t *S, attr_t at)
{
toggle_attr_on(*S,at);
}
-
-NCURSES_EXPORT(void)
-_nc_toggle_attr_off (attr_t *S, attr_t at)
+NCURSES_EXPORT(void) _nc_toggle_attr_off (attr_t *S, attr_t at)
{
toggle_attr_off(*S,at);
}
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_DelCharCost) (NCURSES_SP_DCLx int count)
-{
- return DelCharCost(SP_PARM, count);
-}
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_InsCharCost) (NCURSES_SP_DCLx int count)
+NCURSES_EXPORT(int) _nc_DelCharCost (int count)
{
- return InsCharCost(SP_PARM, count);
+ return DelCharCost(count);
}
-
-NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_UpdateAttrs) (NCURSES_SP_DCLx CARG_CH_T c)
+NCURSES_EXPORT(int) _nc_InsCharCost (int count)
{
- UpdateAttrs(SP_PARM, CHDEREF(c));
+ return InsCharCost(count);
}
-
-@if_NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-_nc_DelCharCost (int count)
-{
- return NCURSES_SP_NAME(_nc_DelCharCost) (CURRENT_SCREEN, count);
-}
-
-NCURSES_EXPORT(int)
-_nc_InsCharCost (int count)
-{
- return NCURSES_SP_NAME(_nc_InsCharCost)(CURRENT_SCREEN, count);
-}
-
-NCURSES_EXPORT(void)
-_nc_UpdateAttrs (CARG_CH_T c)
+NCURSES_EXPORT(void) _nc_UpdateAttrs (NCURSES_CH_T c)
{
- NCURSES_SP_NAME(_nc_UpdateAttrs)(CURRENT_SCREEN,c);
+ UpdateAttrs(c);
}
-@endif
EOF
-$preprocessor $TMP 2>/dev/null | \
- sed -e '1,/^IGNORE$/d' -e 's/^@/#/' -e 's/^#if_/#if /'
+$preprocessor $TMP 2>/dev/null | sed -e '1,/^IGNORE$/d'
cat <<EOF
#else /* ! NCURSES_EXPANDED */
diff --git a/ncurses/tty/hardscroll.c b/ncurses/tty/hardscroll.c
index af68c961728d..2c40997fb6b1 100644
--- a/ncurses/tty/hardscroll.c
+++ b/ncurses/tty/hardscroll.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -147,98 +147,90 @@ AUTHOR
#include <curses.priv.h>
-MODULE_ID("$Id: hardscroll.c,v 1.47 2010/04/24 23:46:47 tom Exp $")
+MODULE_ID("$Id: hardscroll.c,v 1.42 2008/08/03 23:49:30 tom Exp $")
#if defined(SCROLLDEBUG) || defined(HASHDEBUG)
# undef screen_lines
-# define screen_lines(sp) MAXLINES
-NCURSES_EXPORT_VAR (int)
- oldnums[MAXLINES];
-# define OLDNUM(sp,n) oldnums[n]
+# define screen_lines MAXLINES
+NCURSES_EXPORT_VAR(int)
+oldnums[MAXLINES];
+# define OLDNUM(n) oldnums[n]
# define _tracef printf
# undef TR
# define TR(n, a) if (_nc_tracing & (n)) { _tracef a ; putchar('\n'); }
-extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
+extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
#else /* no debug */
/* OLDNUM(n) indicates which line will be shifted to the position n.
if OLDNUM(n) == _NEWINDEX, then the line n in new, not shifted from
somewhere. */
-NCURSES_EXPORT_VAR (int *)
- _nc_oldnums = 0; /* obsolete: keep for ABI compat */
+NCURSES_EXPORT_VAR(int *)
+_nc_oldnums = 0; /* obsolete: keep for ABI compat */
# if USE_HASHMAP
-# define oldnums(sp) (sp)->_oldnum_list
-# define OLDNUM(sp,n) oldnums(sp)[n]
+# define oldnums SP->_oldnum_list
+# define OLDNUM(n) oldnums[n]
# else /* !USE_HASHMAP */
-# define OLDNUM(sp,n) NewScreen(sp)->_line[n].oldindex
+# define OLDNUM(n) newscr->_line[n].oldindex
# endif /* !USE_HASHMAP */
-#define OLDNUM_SIZE(sp) (sp)->_oldnum_size
+#define OLDNUM_SIZE SP->_oldnum_size
#endif /* defined(SCROLLDEBUG) || defined(HASHDEBUG) */
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_scroll_optimize) (NCURSES_SP_DCL0)
+_nc_scroll_optimize(void)
/* scroll optimization to transform curscr to newscr */
{
int i;
int start, end, shift;
- TR(TRACE_ICALLS, (T_CALLED("_nc_scroll_optimize(%p)"), (void *) SP_PARM));
+ TR(TRACE_ICALLS, (T_CALLED("_nc_scroll_optimize")));
#if !defined(SCROLLDEBUG) && !defined(HASHDEBUG)
#if USE_HASHMAP
/* get enough storage */
- if (OLDNUM_SIZE(SP_PARM) < screen_lines(SP_PARM)) {
- int *new_oldnums = typeRealloc(int,
- (size_t) screen_lines(SP_PARM),
- oldnums(SP_PARM));
+ if (OLDNUM_SIZE < screen_lines) {
+ int *new_oldnums = typeRealloc(int, screen_lines, oldnums);
if (!new_oldnums)
return;
- oldnums(SP_PARM) = new_oldnums;
- OLDNUM_SIZE(SP_PARM) = screen_lines(SP_PARM);
+ oldnums = new_oldnums;
+ OLDNUM_SIZE = screen_lines;
}
/* calculate the indices */
- NCURSES_SP_NAME(_nc_hash_map) (NCURSES_SP_ARG);
+ _nc_hash_map();
#endif
#endif /* !defined(SCROLLDEBUG) && !defined(HASHDEBUG) */
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE | TRACE_MOVE)) {
- NCURSES_SP_NAME(_nc_linedump) (NCURSES_SP_ARG);
+ _nc_linedump();
_nc_unlock_global(tracef);
}
#endif /* TRACE */
/* pass 1 - from top to bottom scrolling up */
- for (i = 0; i < screen_lines(SP_PARM);) {
- while (i < screen_lines(SP_PARM)
- && (OLDNUM(SP_PARM, i) == _NEWINDEX || OLDNUM(SP_PARM, i) <= i))
+ for (i = 0; i < screen_lines;) {
+ while (i < screen_lines && (OLDNUM(i) == _NEWINDEX || OLDNUM(i) <= i))
i++;
- if (i >= screen_lines(SP_PARM))
+ if (i >= screen_lines)
break;
- shift = OLDNUM(SP_PARM, i) - i; /* shift > 0 */
+ shift = OLDNUM(i) - i; /* shift > 0 */
start = i;
i++;
- while (i < screen_lines(SP_PARM)
- && OLDNUM(SP_PARM, i) != _NEWINDEX
- && OLDNUM(SP_PARM, i) - i == shift)
+ while (i < screen_lines && OLDNUM(i) != _NEWINDEX && OLDNUM(i) - i
+ == shift)
i++;
end = i - 1 + shift;
TR(TRACE_UPDATE | TRACE_MOVE, ("scroll [%d, %d] by %d", start, end, shift));
#if !defined(SCROLLDEBUG) && !defined(HASHDEBUG)
- if (NCURSES_SP_NAME(_nc_scrolln) (NCURSES_SP_ARGx
- shift,
- start,
- end,
- screen_lines(SP_PARM) - 1) == ERR) {
+ if (_nc_scrolln(shift, start, end, screen_lines - 1) == ERR) {
TR(TRACE_UPDATE | TRACE_MOVE, ("unable to scroll"));
continue;
}
@@ -246,33 +238,23 @@ NCURSES_SP_NAME(_nc_scroll_optimize) (NCURSES_SP_DCL0)
}
/* pass 2 - from bottom to top scrolling down */
- for (i = screen_lines(SP_PARM) - 1; i >= 0;) {
- while (i >= 0
- && (OLDNUM(SP_PARM, i) == _NEWINDEX
- || OLDNUM(SP_PARM, i) >= i)) {
+ for (i = screen_lines - 1; i >= 0;) {
+ while (i >= 0 && (OLDNUM(i) == _NEWINDEX || OLDNUM(i) >= i))
i--;
- }
if (i < 0)
break;
- shift = OLDNUM(SP_PARM, i) - i; /* shift < 0 */
+ shift = OLDNUM(i) - i; /* shift < 0 */
end = i;
i--;
- while (i >= 0
- && OLDNUM(SP_PARM, i) != _NEWINDEX
- && OLDNUM(SP_PARM, i) - i == shift) {
+ while (i >= 0 && OLDNUM(i) != _NEWINDEX && OLDNUM(i) - i == shift)
i--;
- }
start = i + 1 - (-shift);
TR(TRACE_UPDATE | TRACE_MOVE, ("scroll [%d, %d] by %d", start, end, shift));
#if !defined(SCROLLDEBUG) && !defined(HASHDEBUG)
- if (NCURSES_SP_NAME(_nc_scrolln) (NCURSES_SP_ARGx
- shift,
- start,
- end,
- screen_lines(SP_PARM) - 1) == ERR) {
+ if (_nc_scrolln(shift, start, end, screen_lines - 1) == ERR) {
TR(TRACE_UPDATE | TRACE_MOVE, ("unable to scroll"));
continue;
}
@@ -281,41 +263,24 @@ NCURSES_SP_NAME(_nc_scroll_optimize) (NCURSES_SP_DCL0)
TR(TRACE_ICALLS, (T_RETURN("")));
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_scroll_optimize(void)
-{
- NCURSES_SP_NAME(_nc_scroll_optimize) (CURRENT_SCREEN);
-}
-#endif
-
#if defined(TRACE) || defined(SCROLLDEBUG) || defined(HASHDEBUG)
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_linedump) (NCURSES_SP_DCL0)
+_nc_linedump(void)
/* dump the state of the real and virtual oldnum fields */
{
int n;
char *buf = 0;
- size_t want = ((size_t) screen_lines(SP_PARM) + 1) * 4;
+ size_t want = (screen_lines + 1) * 4;
if ((buf = typeMalloc(char, want)) != 0) {
- *buf = '\0';
- for (n = 0; n < screen_lines(SP_PARM); n++)
- (void) sprintf(buf + strlen(buf), " %02d", OLDNUM(SP_PARM, n));
- TR(TRACE_UPDATE | TRACE_MOVE, ("virt %s", buf));
+ (void) strcpy(buf, "virt");
+ for (n = 0; n < screen_lines; n++)
+ (void) sprintf(buf + strlen(buf), " %02d", OLDNUM(n));
+ TR(TRACE_UPDATE | TRACE_MOVE, (buf));
free(buf);
}
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_linedump(void)
-{
- NCURSES_SP_NAME(_nc_linedump) (CURRENT_SCREEN);
-}
-#endif
-
#endif /* defined(TRACE) || defined(SCROLLDEBUG) */
#ifdef SCROLLDEBUG
diff --git a/ncurses/tty/hashmap.c b/ncurses/tty/hashmap.c
index b670e1b9691f..9b60df62d5cf 100644
--- a/ncurses/tty/hashmap.c
+++ b/ncurses/tty/hashmap.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -68,12 +68,9 @@ AUTHOR
*****************************************************************************/
#include <curses.priv.h>
+#include <term.h> /* for back_color_erase */
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: hashmap.c,v 1.62 2010/04/24 23:46:07 tom Exp $")
+MODULE_ID("$Id: hashmap.c,v 1.56 2007/10/13 18:47:25 Miroslav.Lichvar Exp $")
#ifdef HASHDEBUG
@@ -86,25 +83,25 @@ MODULE_ID("$Id: hashmap.c,v 1.62 2010/04/24 23:46:07 tom Exp $")
int oldnums[MAXLINES], reallines[MAXLINES];
static NCURSES_CH_T oldtext[MAXLINES][TEXTWIDTH];
static NCURSES_CH_T newtext[MAXLINES][TEXTWIDTH];
-# define OLDNUM(sp,n) oldnums[n]
-# define OLDTEXT(sp,n) oldtext[n]
-# define NEWTEXT(sp,m) newtext[m]
-# define PENDING(sp,n) 1
+# define OLDNUM(n) oldnums[n]
+# define OLDTEXT(n) oldtext[n]
+# define NEWTEXT(m) newtext[m]
+# define PENDING(n) 1
#else /* !HASHDEBUG */
-# define OLDNUM(sp,n) (sp)->_oldnum_list[n]
-# define OLDTEXT(sp,n) CurScreen(sp)->_line[n].text
-# define NEWTEXT(sp,m) NewScreen(sp)->_line[m].text
-# define TEXTWIDTH(sp) (CurScreen(sp)->_maxx + 1)
-# define PENDING(sp,n) (NewScreen(sp)->_line[n].firstchar != _NOCHANGE)
+# define OLDNUM(n) SP->_oldnum_list[n]
+# define OLDTEXT(n) curscr->_line[n].text
+# define NEWTEXT(m) newscr->_line[m].text
+# define TEXTWIDTH (curscr->_maxx+1)
+# define PENDING(n) (newscr->_line[n].firstchar != _NOCHANGE)
#endif /* !HASHDEBUG */
-#define oldhash(sp) ((sp)->oldhash)
-#define newhash(sp) ((sp)->newhash)
-#define hashtab(sp) ((sp)->hashtab)
-#define lines_alloc(sp) ((sp)->hashtab_len)
+#define oldhash (SP->oldhash)
+#define newhash (SP->newhash)
+#define hashtab (SP->hashtab)
+#define lines_alloc (SP->hashtab_len)
#if USE_WIDEC_SUPPORT
#define HASH_VAL(ch) (ch.chars[0])
@@ -115,26 +112,26 @@ static NCURSES_CH_T newtext[MAXLINES][TEXTWIDTH];
static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
static NCURSES_INLINE unsigned long
-hash(SCREEN *sp, NCURSES_CH_T * text)
+hash(NCURSES_CH_T * text)
{
int i;
NCURSES_CH_T ch;
unsigned long result = 0;
- for (i = TEXTWIDTH(sp); i > 0; i--) {
+ for (i = TEXTWIDTH; i > 0; i--) {
ch = *text++;
- result += (result << 5) + (unsigned long) HASH_VAL(ch);
+ result += (result << 5) + HASH_VAL(ch);
}
return result;
}
/* approximate update cost */
static int
-update_cost(SCREEN *sp, NCURSES_CH_T * from, NCURSES_CH_T * to)
+update_cost(NCURSES_CH_T * from, NCURSES_CH_T * to)
{
int cost = 0;
int i;
- for (i = TEXTWIDTH(sp); i > 0; i--, from++, to++)
+ for (i = TEXTWIDTH; i > 0; i--, from++, to++)
if (!(CharEq(*from, *to)))
cost++;
@@ -142,7 +139,7 @@ update_cost(SCREEN *sp, NCURSES_CH_T * from, NCURSES_CH_T * to)
}
static int
-update_cost_from_blank(SCREEN *sp, NCURSES_CH_T * to)
+update_cost_from_blank(NCURSES_CH_T * to)
{
int cost = 0;
int i;
@@ -151,7 +148,7 @@ update_cost_from_blank(SCREEN *sp, NCURSES_CH_T * to)
if (back_color_erase)
SetPair(blank, GetPair(stdscr->_nc_bkgd));
- for (i = TEXTWIDTH(sp); i > 0; i--, to++)
+ for (i = TEXTWIDTH; i > 0; i--, to++)
if (!(CharEq(blank, *to)))
cost++;
@@ -163,14 +160,14 @@ update_cost_from_blank(SCREEN *sp, NCURSES_CH_T * to)
* effective. 'blank' indicates whether the line 'to' would become blank.
*/
static NCURSES_INLINE bool
-cost_effective(SCREEN *sp, const int from, const int to, const bool blank)
+cost_effective(const int from, const int to, const bool blank)
{
int new_from;
if (from == to)
return FALSE;
- new_from = OLDNUM(sp, from);
+ new_from = OLDNUM(from);
if (new_from == _NEWINDEX)
new_from = from;
@@ -178,17 +175,16 @@ cost_effective(SCREEN *sp, const int from, const int to, const bool blank)
* On the left side of >= is the cost before moving;
* on the right side -- cost after moving.
*/
- return (((blank ? update_cost_from_blank(sp, NEWTEXT(sp, to))
- : update_cost(sp, OLDTEXT(sp, to), NEWTEXT(sp, to)))
- + update_cost(sp, OLDTEXT(sp, new_from), NEWTEXT(sp, from)))
- >= ((new_from == from ? update_cost_from_blank(sp, NEWTEXT(sp, from))
- : update_cost(sp, OLDTEXT(sp, new_from), NEWTEXT(sp, from)))
- + update_cost(sp, OLDTEXT(sp, from), NEWTEXT(sp, to))))
- ? TRUE : FALSE;
+ return (((blank ? update_cost_from_blank(NEWTEXT(to))
+ : update_cost(OLDTEXT(to), NEWTEXT(to)))
+ + update_cost(OLDTEXT(new_from), NEWTEXT(from)))
+ >= ((new_from == from ? update_cost_from_blank(NEWTEXT(from))
+ : update_cost(OLDTEXT(new_from), NEWTEXT(from)))
+ + update_cost(OLDTEXT(from), NEWTEXT(to)))) ? TRUE : FALSE;
}
static void
-grow_hunks(SCREEN *sp)
+grow_hunks(void)
{
int start, end, shift;
int back_limit, forward_limit; /* limits for cells to fill */
@@ -204,36 +200,35 @@ grow_hunks(SCREEN *sp)
back_ref_limit = 0;
i = 0;
- while (i < screen_lines(sp) && OLDNUM(sp, i) == _NEWINDEX)
+ while (i < screen_lines && OLDNUM(i) == _NEWINDEX)
i++;
- for (; i < screen_lines(sp); i = next_hunk) {
+ for (; i < screen_lines; i = next_hunk) {
start = i;
- shift = OLDNUM(sp, i) - i;
+ shift = OLDNUM(i) - i;
/* get forward limit */
i = start + 1;
- while (i < screen_lines(sp)
- && OLDNUM(sp, i) != _NEWINDEX
- && OLDNUM(sp, i) - i == shift)
+ while (i < screen_lines && OLDNUM(i) != _NEWINDEX && OLDNUM(i) - i
+ == shift)
i++;
end = i;
- while (i < screen_lines(sp) && OLDNUM(sp, i) == _NEWINDEX)
+ while (i < screen_lines && OLDNUM(i) == _NEWINDEX)
i++;
next_hunk = i;
forward_limit = i;
- if (i >= screen_lines(sp) || OLDNUM(sp, i) >= i)
+ if (i >= screen_lines || OLDNUM(i) >= i)
forward_ref_limit = i;
else
- forward_ref_limit = OLDNUM(sp, i);
+ forward_ref_limit = OLDNUM(i);
i = start - 1;
/* grow back */
if (shift < 0)
back_limit = back_ref_limit + (-shift);
while (i >= back_limit) {
- if (newhash(sp)[i] == oldhash(sp)[i + shift]
- || cost_effective(sp, i + shift, i, shift < 0)) {
- OLDNUM(sp, i) = i + shift;
+ if (newhash[i] == oldhash[i + shift]
+ || cost_effective(i + shift, i, shift < 0)) {
+ OLDNUM(i) = i + shift;
TR(TRACE_UPDATE | TRACE_MOVE,
("connected new line %d to old line %d (backward continuation)",
i, i + shift));
@@ -251,9 +246,9 @@ grow_hunks(SCREEN *sp)
if (shift > 0)
forward_limit = forward_ref_limit - shift;
while (i < forward_limit) {
- if (newhash(sp)[i] == oldhash(sp)[i + shift]
- || cost_effective(sp, i + shift, i, shift > 0)) {
- OLDNUM(sp, i) = i + shift;
+ if (newhash[i] == oldhash[i + shift]
+ || cost_effective(i + shift, i, shift > 0)) {
+ OLDNUM(i) = i + shift;
TR(TRACE_UPDATE | TRACE_MOVE,
("connected new line %d to old line %d (forward continuation)",
i, i + shift));
@@ -273,54 +268,51 @@ grow_hunks(SCREEN *sp)
}
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_hash_map) (NCURSES_SP_DCL0)
+_nc_hash_map(void)
{
- HASHMAP *hsp;
+ HASHMAP *sp;
register int i;
int start, shift, size;
- if (screen_lines(SP_PARM) > lines_alloc(SP_PARM)) {
- if (hashtab(SP_PARM))
- free(hashtab(SP_PARM));
- hashtab(SP_PARM) = typeMalloc(HASHMAP,
- ((size_t) screen_lines(SP_PARM) + 1) * 2);
- if (!hashtab(SP_PARM)) {
- if (oldhash(SP_PARM)) {
- FreeAndNull(oldhash(SP_PARM));
+ if (screen_lines > lines_alloc) {
+ if (hashtab)
+ free(hashtab);
+ hashtab = typeMalloc(HASHMAP, (screen_lines + 1) * 2);
+ if (!hashtab) {
+ if (oldhash) {
+ FreeAndNull(oldhash);
}
- lines_alloc(SP_PARM) = 0;
+ lines_alloc = 0;
return;
}
- lines_alloc(SP_PARM) = screen_lines(SP_PARM);
+ lines_alloc = screen_lines;
}
- if (oldhash(SP_PARM) && newhash(SP_PARM)) {
+ if (oldhash && newhash) {
/* re-hash only changed lines */
- for (i = 0; i < screen_lines(SP_PARM); i++) {
- if (PENDING(SP_PARM, i))
- newhash(SP_PARM)[i] = hash(SP_PARM, NEWTEXT(SP_PARM, i));
+ for (i = 0; i < screen_lines; i++) {
+ if (PENDING(i))
+ newhash[i] = hash(NEWTEXT(i));
}
} else {
/* re-hash all */
- if (oldhash(SP_PARM) == 0)
- oldhash(SP_PARM) = typeCalloc(unsigned long,
- (size_t) screen_lines(SP_PARM));
- if (newhash(SP_PARM) == 0)
- newhash(SP_PARM) = typeCalloc(unsigned long,
- (size_t) screen_lines(SP_PARM));
- if (!oldhash(SP_PARM) || !newhash(SP_PARM))
+ if (oldhash == 0)
+ oldhash = typeCalloc(unsigned long, (unsigned) screen_lines);
+ if (newhash == 0)
+ newhash = typeCalloc(unsigned long, (unsigned) screen_lines);
+ if (!oldhash || !newhash)
return; /* malloc failure */
- for (i = 0; i < screen_lines(SP_PARM); i++) {
- newhash(SP_PARM)[i] = hash(SP_PARM, NEWTEXT(SP_PARM, i));
- oldhash(SP_PARM)[i] = hash(SP_PARM, OLDTEXT(SP_PARM, i));
+ for (i = 0; i < screen_lines; i++) {
+ newhash[i] = hash(NEWTEXT(i));
+ oldhash[i] = hash(OLDTEXT(i));
}
}
#ifdef HASH_VERIFY
- for (i = 0; i < screen_lines(SP_PARM); i++) {
- if (newhash(SP_PARM)[i] != hash(SP_PARM, NEWTEXT(SP_PARM, i)))
+ for (i = 0; i < screen_lines; i++) {
+ if (newhash[i] != hash(NEWTEXT(i)))
fprintf(stderr, "error in newhash[%d]\n", i);
- if (oldhash(SP_PARM)[i] != hash(SP_PARM, OLDTEXT(SP_PARM, i)))
+ if (oldhash[i] != hash(OLDTEXT(i)))
fprintf(stderr, "error in oldhash[%d]\n", i);
}
#endif
@@ -328,30 +320,28 @@ NCURSES_SP_NAME(_nc_hash_map) (NCURSES_SP_DCL0)
/*
* Set up and count line-hash values.
*/
- memset(hashtab(SP_PARM), '\0',
- sizeof(*(hashtab(SP_PARM)))
- * ((size_t) screen_lines(SP_PARM) + 1) * 2);
- for (i = 0; i < screen_lines(SP_PARM); i++) {
- unsigned long hashval = oldhash(SP_PARM)[i];
-
- for (hsp = hashtab(SP_PARM); hsp->hashval; hsp++)
- if (hsp->hashval == hashval)
+ memset(hashtab, '\0', sizeof(*hashtab) * (screen_lines + 1) * 2);
+ for (i = 0; i < screen_lines; i++) {
+ unsigned long hashval = oldhash[i];
+
+ for (sp = hashtab; sp->hashval; sp++)
+ if (sp->hashval == hashval)
break;
- hsp->hashval = hashval; /* in case this is a new entry */
- hsp->oldcount++;
- hsp->oldindex = i;
+ sp->hashval = hashval; /* in case this is a new entry */
+ sp->oldcount++;
+ sp->oldindex = i;
}
- for (i = 0; i < screen_lines(SP_PARM); i++) {
- unsigned long hashval = newhash(SP_PARM)[i];
+ for (i = 0; i < screen_lines; i++) {
+ unsigned long hashval = newhash[i];
- for (hsp = hashtab(SP_PARM); hsp->hashval; hsp++)
- if (hsp->hashval == hashval)
+ for (sp = hashtab; sp->hashval; sp++)
+ if (sp->hashval == hashval)
break;
- hsp->hashval = hashval; /* in case this is a new entry */
- hsp->newcount++;
- hsp->newindex = i;
+ sp->hashval = hashval; /* in case this is a new entry */
+ sp->newcount++;
+ sp->newindex = i;
- OLDNUM(SP_PARM, i) = _NEWINDEX; /* initialize old indices array */
+ OLDNUM(i) = _NEWINDEX; /* initialize old indices array */
}
/*
@@ -361,16 +351,16 @@ NCURSES_SP_NAME(_nc_hash_map) (NCURSES_SP_DCL0)
* extending hunks by cost_effective. Otherwise, it does not
* have any side effects.
*/
- for (hsp = hashtab(SP_PARM); hsp->hashval; hsp++)
- if (hsp->oldcount == 1 && hsp->newcount == 1
- && hsp->oldindex != hsp->newindex) {
+ for (sp = hashtab; sp->hashval; sp++)
+ if (sp->oldcount == 1 && sp->newcount == 1
+ && sp->oldindex != sp->newindex) {
TR(TRACE_UPDATE | TRACE_MOVE,
("new line %d is hash-identical to old line %d (unique)",
- hsp->newindex, hsp->oldindex));
- OLDNUM(SP_PARM, hsp->newindex) = hsp->oldindex;
+ sp->newindex, sp->oldindex));
+ OLDNUM(sp->newindex) = sp->oldindex;
}
- grow_hunks(SP_PARM);
+ grow_hunks();
/*
* Eliminate bad or impossible shifts -- this includes removing
@@ -378,83 +368,58 @@ NCURSES_SP_NAME(_nc_hash_map) (NCURSES_SP_DCL0)
* those which are to be moved too far, they are likely to destroy
* more than carry.
*/
- for (i = 0; i < screen_lines(SP_PARM);) {
- while (i < screen_lines(SP_PARM) && OLDNUM(SP_PARM, i) == _NEWINDEX)
+ for (i = 0; i < screen_lines;) {
+ while (i < screen_lines && OLDNUM(i) == _NEWINDEX)
i++;
- if (i >= screen_lines(SP_PARM))
+ if (i >= screen_lines)
break;
start = i;
- shift = OLDNUM(SP_PARM, i) - i;
+ shift = OLDNUM(i) - i;
i++;
- while (i < screen_lines(SP_PARM)
- && OLDNUM(SP_PARM, i) != _NEWINDEX
- && OLDNUM(SP_PARM, i) - i == shift)
+ while (i < screen_lines && OLDNUM(i) != _NEWINDEX && OLDNUM(i) - i
+ == shift)
i++;
size = i - start;
if (size < 3 || size + min(size / 8, 2) < abs(shift)) {
while (start < i) {
- OLDNUM(SP_PARM, start) = _NEWINDEX;
+ OLDNUM(start) = _NEWINDEX;
start++;
}
}
}
/* After clearing invalid hunks, try grow the rest. */
- grow_hunks(SP_PARM);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_hash_map(void)
-{
- NCURSES_SP_NAME(_nc_hash_map) (CURRENT_SCREEN);
-}
-#endif
-
-NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_make_oldhash) (NCURSES_SP_DCLx int i)
-{
- if (oldhash(SP_PARM))
- oldhash(SP_PARM)[i] = hash(SP_PARM, OLDTEXT(SP_PARM, i));
+ grow_hunks();
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(void)
_nc_make_oldhash(int i)
{
- NCURSES_SP_NAME(_nc_make_oldhash) (CURRENT_SCREEN, i);
+ if (oldhash)
+ oldhash[i] = hash(OLDTEXT(i));
}
-#endif
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_scroll_oldhash) (NCURSES_SP_DCLx int n, int top, int bot)
+_nc_scroll_oldhash(int n, int top, int bot)
{
size_t size;
int i;
- if (!oldhash(SP_PARM))
+ if (!oldhash)
return;
- size = sizeof(*(oldhash(SP_PARM))) * (size_t) (bot - top + 1 - abs(n));
+ size = sizeof(*oldhash) * (bot - top + 1 - abs(n));
if (n > 0) {
- memmove(oldhash(SP_PARM) + top, oldhash(SP_PARM) + top + n, size);
+ memmove(oldhash + top, oldhash + top + n, size);
for (i = bot; i > bot - n; i--)
- oldhash(SP_PARM)[i] = hash(SP_PARM, OLDTEXT(SP_PARM, i));
+ oldhash[i] = hash(OLDTEXT(i));
} else {
- memmove(oldhash(SP_PARM) + top - n, oldhash(SP_PARM) + top, size);
+ memmove(oldhash + top - n, oldhash + top, size);
for (i = top; i < top - n; i++)
- oldhash(SP_PARM)[i] = hash(SP_PARM, OLDTEXT(SP_PARM, i));
+ oldhash[i] = hash(OLDTEXT(i));
}
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_scroll_oldhash(int n, int top, int bot)
-{
- NCURSES_SP_NAME(_nc_scroll_oldhash) (CURRENT_SCREEN, n, top, bot);
-}
-#endif
-
#ifdef HASHDEBUG
static void
usage(void)
diff --git a/ncurses/tty/lib_mvcur.c b/ncurses/tty/lib_mvcur.c
index ad41f8dd72d8..8e66fa3bf64c 100644
--- a/ncurses/tty/lib_mvcur.c
+++ b/ncurses/tty/lib_mvcur.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -110,8 +109,8 @@
* LONG_DIST and (b) further inward from the right or left edge than LONG_DIST,
* we'll consider nonlocal.
*/
-#define NOT_LOCAL(sp, fy, fx, ty, tx) ((tx > LONG_DIST) \
- && (tx < screen_columns(sp) - 1 - LONG_DIST) \
+#define NOT_LOCAL(fy, fx, ty, tx) ((tx > LONG_DIST) \
+ && (tx < screen_columns - 1 - LONG_DIST) \
&& (abs(ty-fy) + abs(tx-fx) > LONG_DIST))
/****************************************************************************
@@ -153,21 +152,13 @@
*/
#include <curses.priv.h>
+#include <term.h>
#include <ctype.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_mvcur.c,v 1.126 2011/01/22 19:48:21 tom Exp $")
-
-#define WANT_CHAR(sp, y, x) NewScreen(sp)->_line[y].text[x] /* desired state */
+MODULE_ID("$Id: lib_mvcur.c,v 1.113 2008/08/16 19:30:58 tom Exp $")
-#if NCURSES_SP_FUNCS
-#define BAUDRATE(sp) sp->_term->_baudrate /* bits per second */
-#else
-#define BAUDRATE(sp) cur_term->_baudrate /* bits per second */
-#endif
+#define WANT_CHAR(y, x) SP->_newscr->_line[y].text[x] /* desired state */
+#define BAUDRATE cur_term->_baudrate /* bits per second */
#if defined(MAIN) || defined(NCURSES_TEST)
#include <sys/time.h>
@@ -178,7 +169,7 @@ static float diff;
#define OPT_SIZE 512
-static int normalized_cost(NCURSES_SP_DCLx const char *const cap, int affcnt);
+static int normalized_cost(const char *const cap, int affcnt);
/****************************************************************************
*
@@ -188,34 +179,34 @@ static int normalized_cost(NCURSES_SP_DCLx const char *const cap, int affcnt);
#ifdef TRACE
static int
-trace_cost_of(NCURSES_SP_DCLx const char *capname, const char *cap, int affcnt)
+trace_cost_of(const char *capname, const char *cap, int affcnt)
{
- int result = NCURSES_SP_NAME(_nc_msec_cost) (NCURSES_SP_ARGx cap, affcnt);
+ int result = _nc_msec_cost(cap, affcnt);
TR(TRACE_CHARPUT | TRACE_MOVE,
("CostOf %s %d %s", capname, result, _nc_visbuf(cap)));
return result;
}
-#define CostOf(cap,affcnt) trace_cost_of(NCURSES_SP_ARGx #cap, cap, affcnt)
+#define CostOf(cap,affcnt) trace_cost_of(#cap,cap,affcnt);
static int
-trace_normalized_cost(NCURSES_SP_DCLx const char *capname, const char *cap, int affcnt)
+trace_normalized_cost(const char *capname, const char *cap, int affcnt)
{
- int result = normalized_cost(NCURSES_SP_ARGx cap, affcnt);
+ int result = normalized_cost(cap, affcnt);
TR(TRACE_CHARPUT | TRACE_MOVE,
("NormalizedCost %s %d %s", capname, result, _nc_visbuf(cap)));
return result;
}
-#define NormalizedCost(cap,affcnt) trace_normalized_cost(NCURSES_SP_ARGx #cap, cap, affcnt)
+#define NormalizedCost(cap,affcnt) trace_normalized_cost(#cap,cap,affcnt);
#else
-#define CostOf(cap,affcnt) NCURSES_SP_NAME(_nc_msec_cost)(NCURSES_SP_ARGx cap, affcnt)
-#define NormalizedCost(cap,affcnt) normalized_cost(NCURSES_SP_ARGx cap, affcnt)
+#define CostOf(cap,affcnt) _nc_msec_cost(cap,affcnt);
+#define NormalizedCost(cap,affcnt) normalized_cost(cap,affcnt);
#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_msec_cost) (NCURSES_SP_DCLx const char *const cap, int affcnt)
+_nc_msec_cost(const char *const cap, int affcnt)
/* compute the cost of a given operation */
{
if (cap == 0)
@@ -231,68 +222,53 @@ NCURSES_SP_NAME(_nc_msec_cost) (NCURSES_SP_DCLx const char *const cap, int affcn
for (cp += 2; *cp != '>'; cp++) {
if (isdigit(UChar(*cp)))
- number = number * 10 + (float) (*cp - '0');
+ number = number * 10 + (*cp - '0');
else if (*cp == '*')
- number *= (float) affcnt;
+ number *= affcnt;
else if (*cp == '.' && (*++cp != '>') && isdigit(UChar(*cp)))
- number += (float) ((*cp - '0') / 10.0);
+ number += (*cp - '0') / 10.0;
}
#if NCURSES_NO_PADDING
- if (!GetNoPadding(SP_PARM))
+ if (!GetNoPadding(SP))
#endif
cum_cost += number * 10;
- } else if (SP_PARM) {
- cum_cost += (float) SP_PARM->_char_padding;
- }
+ } else
+ cum_cost += SP->_char_padding;
}
return ((int) cum_cost);
}
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-_nc_msec_cost(const char *const cap, int affcnt)
-{
- return NCURSES_SP_NAME(_nc_msec_cost) (CURRENT_SCREEN, cap, affcnt);
-}
-#endif
-
static int
-normalized_cost(NCURSES_SP_DCLx const char *const cap, int affcnt)
+normalized_cost(const char *const cap, int affcnt)
/* compute the effective character-count for an operation (round up) */
{
- int cost = NCURSES_SP_NAME(_nc_msec_cost) (NCURSES_SP_ARGx cap, affcnt);
+ int cost = _nc_msec_cost(cap, affcnt);
if (cost != INFINITY)
- cost = (cost + SP_PARM->_char_padding - 1) / SP_PARM->_char_padding;
+ cost = (cost + SP->_char_padding - 1) / SP->_char_padding;
return cost;
}
static void
-reset_scroll_region(NCURSES_SP_DCL0)
+reset_scroll_region(void)
/* Set the scroll-region to a known state (the default) */
{
if (change_scroll_region) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "change_scroll_region",
- TPARM_2(change_scroll_region,
- 0, screen_lines(SP_PARM) - 1));
+ TPUTS_TRACE("change_scroll_region");
+ putp(TPARM_2(change_scroll_region, 0, screen_lines - 1));
}
}
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_mvcur_resume) (NCURSES_SP_DCL0)
+_nc_mvcur_resume(void)
/* what to do at initialization time and after each shellout */
{
- if (SP_PARM && !IsTermInfo(SP_PARM))
- return;
-
/* initialize screen for cursor access */
if (enter_ca_mode) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "enter_ca_mode",
- enter_ca_mode);
+ TPUTS_TRACE("enter_ca_mode");
+ putp(enter_ca_mode);
}
/*
@@ -304,63 +280,53 @@ NCURSES_SP_NAME(_nc_mvcur_resume) (NCURSES_SP_DCL0)
* they know the screen size. This is useful when you're running
* a vt100 emulation through xterm.
*/
- reset_scroll_region(NCURSES_SP_ARG);
- SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ reset_scroll_region();
+ SP->_cursrow = SP->_curscol = -1;
/* restore cursor shape */
- if (SP_PARM->_cursor != -1) {
- int cursor = SP_PARM->_cursor;
- SP_PARM->_cursor = -1;
- NCURSES_SP_NAME(curs_set) (NCURSES_SP_ARGx cursor);
+ if (SP->_cursor != -1) {
+ int cursor = SP->_cursor;
+ SP->_cursor = -1;
+ curs_set(cursor);
}
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(void)
-_nc_mvcur_resume(void)
-{
- NCURSES_SP_NAME(_nc_mvcur_resume) (CURRENT_SCREEN);
-}
-#endif
-
-NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_mvcur_init) (NCURSES_SP_DCL0)
+_nc_mvcur_init(void)
/* initialize the cost structure */
{
- if (SP_PARM->_ofp && isatty(fileno(SP_PARM->_ofp)))
- SP_PARM->_char_padding = ((BAUDBYTE * 1000 * 10)
- / (BAUDRATE(SP_PARM) > 0
- ? BAUDRATE(SP_PARM)
- : 9600));
+ if (isatty(fileno(SP->_ofp)))
+ SP->_char_padding = ((BAUDBYTE * 1000 * 10)
+ / (BAUDRATE > 0 ? BAUDRATE : 9600));
else
- SP_PARM->_char_padding = 1; /* must be nonzero */
- if (SP_PARM->_char_padding <= 0)
- SP_PARM->_char_padding = 1; /* must be nonzero */
- TR(TRACE_CHARPUT | TRACE_MOVE, ("char_padding %d msecs", SP_PARM->_char_padding));
+ SP->_char_padding = 1; /* must be nonzero */
+ if (SP->_char_padding <= 0)
+ SP->_char_padding = 1; /* must be nonzero */
+ TR(TRACE_CHARPUT | TRACE_MOVE, ("char_padding %d msecs", SP->_char_padding));
/* non-parameterized local-motion strings */
- SP_PARM->_cr_cost = CostOf(carriage_return, 0);
- SP_PARM->_home_cost = CostOf(cursor_home, 0);
- SP_PARM->_ll_cost = CostOf(cursor_to_ll, 0);
+ SP->_cr_cost = CostOf(carriage_return, 0);
+ SP->_home_cost = CostOf(cursor_home, 0);
+ SP->_ll_cost = CostOf(cursor_to_ll, 0);
#if USE_HARD_TABS
if (getenv("NCURSES_NO_HARD_TABS") == 0) {
- SP_PARM->_ht_cost = CostOf(tab, 0);
- SP_PARM->_cbt_cost = CostOf(back_tab, 0);
+ SP->_ht_cost = CostOf(tab, 0);
+ SP->_cbt_cost = CostOf(back_tab, 0);
} else {
- SP_PARM->_ht_cost = INFINITY;
- SP_PARM->_cbt_cost = INFINITY;
+ SP->_ht_cost = INFINITY;
+ SP->_cbt_cost = INFINITY;
}
#endif /* USE_HARD_TABS */
- SP_PARM->_cub1_cost = CostOf(cursor_left, 0);
- SP_PARM->_cuf1_cost = CostOf(cursor_right, 0);
- SP_PARM->_cud1_cost = CostOf(cursor_down, 0);
- SP_PARM->_cuu1_cost = CostOf(cursor_up, 0);
-
- SP_PARM->_smir_cost = CostOf(enter_insert_mode, 0);
- SP_PARM->_rmir_cost = CostOf(exit_insert_mode, 0);
- SP_PARM->_ip_cost = 0;
+ SP->_cub1_cost = CostOf(cursor_left, 0);
+ SP->_cuf1_cost = CostOf(cursor_right, 0);
+ SP->_cud1_cost = CostOf(cursor_down, 0);
+ SP->_cuu1_cost = CostOf(cursor_up, 0);
+
+ SP->_smir_cost = CostOf(enter_insert_mode, 0);
+ SP->_rmir_cost = CostOf(exit_insert_mode, 0);
+ SP->_ip_cost = 0;
if (insert_padding) {
- SP_PARM->_ip_cost = CostOf(insert_padding, 0);
+ SP->_ip_cost = CostOf(insert_padding, 0);
}
/*
@@ -369,7 +335,7 @@ NCURSES_SP_NAME(_nc_mvcur_init) (NCURSES_SP_DCL0)
* can treat it like absolute screen addressing. This seems to be true
* for all cursor_mem_address terminal types in the terminfo database.
*/
- SP_PARM->_address_cursor = cursor_address ? cursor_address : cursor_mem_address;
+ SP->_address_cursor = cursor_address ? cursor_address : cursor_mem_address;
/*
* Parametrized local-motion strings. This static cost computation
@@ -395,43 +361,40 @@ NCURSES_SP_NAME(_nc_mvcur_init) (NCURSES_SP_DCL0)
* All these averages depend on the assumption that all parameter values
* are equally probable.
*/
- SP_PARM->_cup_cost = CostOf(TPARM_2(SP_PARM->_address_cursor, 23, 23), 1);
- SP_PARM->_cub_cost = CostOf(TPARM_1(parm_left_cursor, 23), 1);
- SP_PARM->_cuf_cost = CostOf(TPARM_1(parm_right_cursor, 23), 1);
- SP_PARM->_cud_cost = CostOf(TPARM_1(parm_down_cursor, 23), 1);
- SP_PARM->_cuu_cost = CostOf(TPARM_1(parm_up_cursor, 23), 1);
- SP_PARM->_hpa_cost = CostOf(TPARM_1(column_address, 23), 1);
- SP_PARM->_vpa_cost = CostOf(TPARM_1(row_address, 23), 1);
+ SP->_cup_cost = CostOf(TPARM_2(SP->_address_cursor, 23, 23), 1);
+ SP->_cub_cost = CostOf(TPARM_1(parm_left_cursor, 23), 1);
+ SP->_cuf_cost = CostOf(TPARM_1(parm_right_cursor, 23), 1);
+ SP->_cud_cost = CostOf(TPARM_1(parm_down_cursor, 23), 1);
+ SP->_cuu_cost = CostOf(TPARM_1(parm_up_cursor, 23), 1);
+ SP->_hpa_cost = CostOf(TPARM_1(column_address, 23), 1);
+ SP->_vpa_cost = CostOf(TPARM_1(row_address, 23), 1);
/* non-parameterized screen-update strings */
- SP_PARM->_ed_cost = NormalizedCost(clr_eos, 1);
- SP_PARM->_el_cost = NormalizedCost(clr_eol, 1);
- SP_PARM->_el1_cost = NormalizedCost(clr_bol, 1);
- SP_PARM->_dch1_cost = NormalizedCost(delete_character, 1);
- SP_PARM->_ich1_cost = NormalizedCost(insert_character, 1);
+ SP->_ed_cost = NormalizedCost(clr_eos, 1);
+ SP->_el_cost = NormalizedCost(clr_eol, 1);
+ SP->_el1_cost = NormalizedCost(clr_bol, 1);
+ SP->_dch1_cost = NormalizedCost(delete_character, 1);
+ SP->_ich1_cost = NormalizedCost(insert_character, 1);
/*
* If this is a bce-terminal, we want to bias the choice so we use clr_eol
* rather than spaces at the end of a line.
*/
if (back_color_erase)
- SP_PARM->_el_cost = 0;
+ SP->_el_cost = 0;
/* parameterized screen-update strings */
- SP_PARM->_dch_cost = NormalizedCost(TPARM_1(parm_dch, 23), 1);
- SP_PARM->_ich_cost = NormalizedCost(TPARM_1(parm_ich, 23), 1);
- SP_PARM->_ech_cost = NormalizedCost(TPARM_1(erase_chars, 23), 1);
- SP_PARM->_rep_cost = NormalizedCost(TPARM_2(repeat_char, ' ', 23), 1);
-
- SP_PARM->_cup_ch_cost = NormalizedCost(
- TPARM_2(SP_PARM->_address_cursor,
- 23, 23),
- 1);
- SP_PARM->_hpa_ch_cost = NormalizedCost(TPARM_1(column_address, 23), 1);
- SP_PARM->_cuf_ch_cost = NormalizedCost(TPARM_1(parm_right_cursor, 23), 1);
- SP_PARM->_inline_cost = min(SP_PARM->_cup_ch_cost,
- min(SP_PARM->_hpa_ch_cost,
- SP_PARM->_cuf_ch_cost));
+ SP->_dch_cost = NormalizedCost(TPARM_1(parm_dch, 23), 1);
+ SP->_ich_cost = NormalizedCost(TPARM_1(parm_ich, 23), 1);
+ SP->_ech_cost = NormalizedCost(TPARM_1(erase_chars, 23), 1);
+ SP->_rep_cost = NormalizedCost(TPARM_2(repeat_char, ' ', 23), 1);
+
+ SP->_cup_ch_cost = NormalizedCost(TPARM_2(SP->_address_cursor, 23, 23), 1);
+ SP->_hpa_ch_cost = NormalizedCost(TPARM_1(column_address, 23), 1);
+ SP->_cuf_ch_cost = NormalizedCost(TPARM_1(parm_right_cursor, 23), 1);
+ SP->_inline_cost = min(SP->_cup_ch_cost,
+ min(SP->_hpa_ch_cost,
+ SP->_cuf_ch_cost));
/*
* If save_cursor is used within enter_ca_mode, we should not use it for
@@ -448,42 +411,30 @@ NCURSES_SP_NAME(_nc_mvcur_init) (NCURSES_SP_DCL0)
}
/*
- * A different, possibly better way to arrange this would be to set the
- * SCREEN's _endwin to TRUE at window initialization time and let this be
+ * A different, possibly better way to arrange this would be to set
+ * SP->_endwin = TRUE at window initialization time and let this be
* called by doupdate's return-from-shellout code.
*/
- NCURSES_SP_NAME(_nc_mvcur_resume) (NCURSES_SP_ARG);
+ _nc_mvcur_resume();
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(void)
-_nc_mvcur_init(void)
-{
- NCURSES_SP_NAME(_nc_mvcur_init) (CURRENT_SCREEN);
-}
-#endif
-
-NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_mvcur_wrap) (NCURSES_SP_DCL0)
+_nc_mvcur_wrap(void)
/* wrap up cursor-addressing mode */
{
/* leave cursor at screen bottom */
- TINFO_MVCUR(NCURSES_SP_ARGx -1, -1, screen_lines(SP_PARM) - 1, 0);
-
- if (!SP_PARM || !IsTermInfo(SP_PARM))
- return;
+ mvcur(-1, -1, screen_lines - 1, 0);
/* set cursor to normal mode */
- if (SP_PARM->_cursor != -1) {
- int cursor = SP_PARM->_cursor;
- NCURSES_SP_NAME(curs_set) (NCURSES_SP_ARGx 1);
- SP_PARM->_cursor = cursor;
+ if (SP->_cursor != -1) {
+ int cursor = SP->_cursor;
+ curs_set(1);
+ SP->_cursor = cursor;
}
if (exit_ca_mode) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "exit_ca_mode",
- exit_ca_mode);
+ TPUTS_TRACE("exit_ca_mode");
+ putp(exit_ca_mode);
}
/*
* Reset terminal's tab counter. There's a long-time bug that
@@ -493,17 +444,9 @@ NCURSES_SP_NAME(_nc_mvcur_wrap) (NCURSES_SP_DCL0)
* escape sequences that reset things as column positions.
* Utter a \r to reset this invisibly.
*/
- NCURSES_SP_NAME(_nc_outch) (NCURSES_SP_ARGx '\r');
+ _nc_outch('\r');
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_mvcur_wrap(void)
-{
- NCURSES_SP_NAME(_nc_mvcur_wrap) (CURRENT_SCREEN);
-}
-#endif
-
/****************************************************************************
*
* Optimized cursor movement
@@ -516,7 +459,7 @@ _nc_mvcur_wrap(void)
static NCURSES_INLINE int
repeated_append(string_desc * target, int total, int num, int repeat, const char *src)
{
- size_t need = (size_t) repeat * strlen(src);
+ size_t need = repeat * strlen(src);
if (need < target->s_size) {
while (repeat-- > 0) {
@@ -543,13 +486,8 @@ repeated_append(string_desc * target, int total, int num, int repeat, const char
#define LASTTAB(fr) ((fr > 0) ? ((fr - 1) / init_tabs) * init_tabs : -1)
static int
-relative_move(NCURSES_SP_DCLx
- string_desc * target,
- int from_y,
- int from_x,
- int to_y,
- int to_x,
- bool ovw)
+relative_move(string_desc * target, int from_y, int from_x, int to_y, int
+ to_x, bool ovw)
/* move via local motions (cuu/cuu1/cud/cud1/cub1/cub/cuf1/cuf/vpa/hpa) */
{
string_desc save;
@@ -562,38 +500,38 @@ relative_move(NCURSES_SP_DCLx
if (row_address != 0
&& _nc_safe_strcat(target, TPARM_1(row_address, to_y))) {
- vcost = SP_PARM->_vpa_cost;
+ vcost = SP->_vpa_cost;
}
if (to_y > from_y) {
n = (to_y - from_y);
if (parm_down_cursor
- && SP_PARM->_cud_cost < vcost
+ && SP->_cud_cost < vcost
&& _nc_safe_strcat(_nc_str_copy(target, &save),
TPARM_1(parm_down_cursor, n))) {
- vcost = SP_PARM->_cud_cost;
+ vcost = SP->_cud_cost;
}
if (cursor_down
- && (*cursor_down != '\n' || SP_PARM->_nl)
- && (n * SP_PARM->_cud1_cost < vcost)) {
+ && (*cursor_down != '\n' || SP->_nl)
+ && (n * SP->_cud1_cost < vcost)) {
vcost = repeated_append(_nc_str_copy(target, &save), 0,
- SP_PARM->_cud1_cost, n, cursor_down);
+ SP->_cud1_cost, n, cursor_down);
}
} else { /* (to_y < from_y) */
n = (from_y - to_y);
if (parm_up_cursor
- && SP_PARM->_cuu_cost < vcost
+ && SP->_cuu_cost < vcost
&& _nc_safe_strcat(_nc_str_copy(target, &save),
TPARM_1(parm_up_cursor, n))) {
- vcost = SP_PARM->_cuu_cost;
+ vcost = SP->_cuu_cost;
}
- if (cursor_up && (n * SP_PARM->_cuu1_cost < vcost)) {
+ if (cursor_up && (n * SP->_cuu1_cost < vcost)) {
vcost = repeated_append(_nc_str_copy(target, &save), 0,
- SP_PARM->_cuu1_cost, n, cursor_up);
+ SP->_cuu1_cost, n, cursor_up);
}
}
@@ -612,17 +550,17 @@ relative_move(NCURSES_SP_DCLx
if (column_address
&& _nc_safe_strcat(_nc_str_copy(target, &save),
TPARM_1(column_address, to_x))) {
- hcost = SP_PARM->_hpa_cost;
+ hcost = SP->_hpa_cost;
}
if (to_x > from_x) {
n = to_x - from_x;
if (parm_right_cursor
- && SP_PARM->_cuf_cost < hcost
+ && SP->_cuf_cost < hcost
&& _nc_safe_strcat(_nc_str_copy(target, &save),
TPARM_1(parm_right_cursor, n))) {
- hcost = SP_PARM->_cuf_cost;
+ hcost = SP->_cuf_cost;
}
if (cursor_right) {
@@ -637,7 +575,7 @@ relative_move(NCURSES_SP_DCLx
for (fr = from_x; (nxt = NEXTTAB(fr)) <= to_x; fr = nxt) {
lhcost = repeated_append(&check, lhcost,
- SP_PARM->_ht_cost, 1, tab);
+ SP->_ht_cost, 1, tab);
if (lhcost == INFINITY)
break;
}
@@ -661,7 +599,7 @@ relative_move(NCURSES_SP_DCLx
&& n < (int) check.s_size
&& vcost == 0
&& str[0] == '\0') {
- int wanted = CharOf(WANT_CHAR(SP_PARM, to_y, from_x));
+ int wanted = CharOf(WANT_CHAR(to_y, from_x));
if (is8bits(wanted) && isdigit(wanted))
ovw = FALSE;
}
@@ -678,8 +616,8 @@ relative_move(NCURSES_SP_DCLx
int i;
for (i = 0; i < n; i++) {
- NCURSES_CH_T ch = WANT_CHAR(SP_PARM, to_y, from_x + i);
- if (!SameAttrOf(ch, SCREEN_ATTRS(SP_PARM))
+ NCURSES_CH_T ch = WANT_CHAR(to_y, from_x + i);
+ if (!SameAttrOf(ch, SCREEN_ATTRS(SP))
#if USE_WIDEC_SUPPORT
|| !Charable(ch)
#endif
@@ -693,13 +631,13 @@ relative_move(NCURSES_SP_DCLx
int i;
for (i = 0; i < n; i++)
- *check.s_tail++ = (char) CharOf(WANT_CHAR(SP_PARM, to_y,
+ *check.s_tail++ = (char) CharOf(WANT_CHAR(to_y,
from_x + i));
*check.s_tail = '\0';
- check.s_size -= (size_t) n;
- lhcost += n * SP_PARM->_char_padding;
+ check.s_size -= n;
+ lhcost += n * SP->_char_padding;
} else {
- lhcost = repeated_append(&check, lhcost, SP_PARM->_cuf1_cost,
+ lhcost = repeated_append(&check, lhcost, SP->_cuf1_cost,
n, cursor_right);
}
@@ -712,10 +650,10 @@ relative_move(NCURSES_SP_DCLx
n = from_x - to_x;
if (parm_left_cursor
- && SP_PARM->_cub_cost < hcost
+ && SP->_cub_cost < hcost
&& _nc_safe_strcat(_nc_str_copy(target, &save),
TPARM_1(parm_left_cursor, n))) {
- hcost = SP_PARM->_cub_cost;
+ hcost = SP->_cub_cost;
}
if (cursor_left) {
@@ -729,8 +667,7 @@ relative_move(NCURSES_SP_DCLx
for (fr = from_x; (nxt = LASTTAB(fr)) >= to_x; fr = nxt) {
lhcost = repeated_append(&check, lhcost,
- SP_PARM->_cbt_cost,
- 1, back_tab);
+ SP->_cbt_cost, 1, back_tab);
if (lhcost == INFINITY)
break;
}
@@ -739,9 +676,7 @@ relative_move(NCURSES_SP_DCLx
}
#endif /* USE_HARD_TABS */
- lhcost = repeated_append(&check, lhcost,
- SP_PARM->_cub1_cost,
- n, cursor_left);
+ lhcost = repeated_append(&check, lhcost, SP->_cub1_cost, n, cursor_left);
if (lhcost < hcost
&& _nc_safe_strcat(_nc_str_copy(target, &save), str)) {
@@ -770,7 +705,7 @@ relative_move(NCURSES_SP_DCLx
*/
static NCURSES_INLINE int
-onscreen_mvcur(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew, bool ovw)
+onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw)
/* onscreen move from (yold, xold) to (ynew, xnew) */
{
string_desc result;
@@ -788,9 +723,9 @@ onscreen_mvcur(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew, bool ovw)
#define InitResult _nc_str_init(&result, buffer, sizeof(buffer))
/* tactic #0: use direct cursor addressing */
- if (_nc_safe_strcpy(InitResult, TPARM_2(SP_PARM->_address_cursor, ynew, xnew))) {
+ if (_nc_safe_strcpy(InitResult, TPARM_2(SP->_address_cursor, ynew, xnew))) {
tactic = 0;
- usecost = SP_PARM->_cup_cost;
+ usecost = SP->_cup_cost;
#if defined(TRACE) || defined(NCURSES_TEST)
if (!(_nc_optimize_enable & OPTIMIZE_MVCUR))
@@ -805,7 +740,7 @@ onscreen_mvcur(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew, bool ovw)
* (like, say, local-movement \n getting mapped to some obscure
* character because A_ALTCHARSET is on).
*/
- if (yold == -1 || xold == -1 || NOT_LOCAL(SP_PARM, yold, xold, ynew, xnew)) {
+ if (yold == -1 || xold == -1 || NOT_LOCAL(yold, xold, ynew, xnew)) {
#if defined(MAIN) || defined(NCURSES_TEST)
if (!profiling) {
(void) fputs("nonlocal\n", stderr);
@@ -819,10 +754,8 @@ onscreen_mvcur(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew, bool ovw)
#ifndef NO_OPTIMIZE
/* tactic #1: use local movement */
if (yold != -1 && xold != -1
- && ((newcost = relative_move(NCURSES_SP_ARGx
- NullResult,
- yold, xold,
- ynew, xnew, ovw)) != INFINITY)
+ && ((newcost = relative_move(NullResult, yold, xold, ynew, xnew,
+ ovw)) != INFINITY)
&& newcost < usecost) {
tactic = 1;
usecost = newcost;
@@ -830,51 +763,42 @@ onscreen_mvcur(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew, bool ovw)
/* tactic #2: use carriage-return + local movement */
if (yold != -1 && carriage_return
- && ((newcost = relative_move(NCURSES_SP_ARGx
- NullResult,
- yold, 0,
- ynew, xnew, ovw)) != INFINITY)
- && SP_PARM->_cr_cost + newcost < usecost) {
+ && ((newcost = relative_move(NullResult, yold, 0, ynew, xnew, ovw))
+ != INFINITY)
+ && SP->_cr_cost + newcost < usecost) {
tactic = 2;
- usecost = SP_PARM->_cr_cost + newcost;
+ usecost = SP->_cr_cost + newcost;
}
/* tactic #3: use home-cursor + local movement */
if (cursor_home
- && ((newcost = relative_move(NCURSES_SP_ARGx
- NullResult,
- 0, 0,
- ynew, xnew, ovw)) != INFINITY)
- && SP_PARM->_home_cost + newcost < usecost) {
+ && ((newcost = relative_move(NullResult, 0, 0, ynew, xnew, ovw)) != INFINITY)
+ && SP->_home_cost + newcost < usecost) {
tactic = 3;
- usecost = SP_PARM->_home_cost + newcost;
+ usecost = SP->_home_cost + newcost;
}
/* tactic #4: use home-down + local movement */
if (cursor_to_ll
- && ((newcost = relative_move(NCURSES_SP_ARGx
- NullResult,
- screen_lines(SP_PARM) - 1, 0,
- ynew, xnew, ovw)) != INFINITY)
- && SP_PARM->_ll_cost + newcost < usecost) {
+ && ((newcost = relative_move(NullResult, screen_lines - 1, 0, ynew,
+ xnew, ovw)) != INFINITY)
+ && SP->_ll_cost + newcost < usecost) {
tactic = 4;
- usecost = SP_PARM->_ll_cost + newcost;
+ usecost = SP->_ll_cost + newcost;
}
/*
* tactic #5: use left margin for wrap to right-hand side,
* unless strange wrap behavior indicated by xenl might hose us.
*/
- t5_cr_cost = (xold > 0 ? SP_PARM->_cr_cost : 0);
+ t5_cr_cost = (xold > 0 ? SP->_cr_cost : 0);
if (auto_left_margin && !eat_newline_glitch
&& yold > 0 && cursor_left
- && ((newcost = relative_move(NCURSES_SP_ARGx
- NullResult,
- yold - 1, screen_columns(SP_PARM) - 1,
- ynew, xnew, ovw)) != INFINITY)
- && t5_cr_cost + SP_PARM->_cub1_cost + newcost < usecost) {
+ && ((newcost = relative_move(NullResult, yold - 1, screen_columns -
+ 1, ynew, xnew, ovw)) != INFINITY)
+ && t5_cr_cost + SP->_cub1_cost + newcost < usecost) {
tactic = 5;
- usecost = t5_cr_cost + SP_PARM->_cub1_cost + newcost;
+ usecost = t5_cr_cost + SP->_cub1_cost + newcost;
}
/*
@@ -884,39 +808,26 @@ onscreen_mvcur(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew, bool ovw)
InitResult;
switch (tactic) {
case 1:
- (void) relative_move(NCURSES_SP_ARGx
- &result,
- yold, xold,
- ynew, xnew, ovw);
+ (void) relative_move(&result, yold, xold, ynew, xnew, ovw);
break;
case 2:
(void) _nc_safe_strcpy(&result, carriage_return);
- (void) relative_move(NCURSES_SP_ARGx
- &result,
- yold, 0,
- ynew, xnew, ovw);
+ (void) relative_move(&result, yold, 0, ynew, xnew, ovw);
break;
case 3:
(void) _nc_safe_strcpy(&result, cursor_home);
- (void) relative_move(NCURSES_SP_ARGx
- &result, 0, 0,
- ynew, xnew, ovw);
+ (void) relative_move(&result, 0, 0, ynew, xnew, ovw);
break;
case 4:
(void) _nc_safe_strcpy(&result, cursor_to_ll);
- (void) relative_move(NCURSES_SP_ARGx
- &result,
- screen_lines(SP_PARM) - 1, 0,
- ynew, xnew, ovw);
+ (void) relative_move(&result, screen_lines - 1, 0, ynew, xnew, ovw);
break;
case 5:
if (xold > 0)
(void) _nc_safe_strcat(&result, carriage_return);
(void) _nc_safe_strcat(&result, cursor_left);
- (void) relative_move(NCURSES_SP_ARGx
- &result,
- yold - 1, screen_columns(SP_PARM) - 1,
- ynew, xnew, ovw);
+ (void) relative_move(&result, yold - 1, screen_columns - 1, ynew,
+ xnew, ovw);
break;
}
#endif /* !NO_OPTIMIZE */
@@ -934,26 +845,25 @@ onscreen_mvcur(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew, bool ovw)
if (usecost != INFINITY) {
TPUTS_TRACE("mvcur");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- buffer, 1, NCURSES_SP_NAME(_nc_outch));
- SP_PARM->_cursrow = ynew;
- SP_PARM->_curscol = xnew;
+ tputs(buffer, 1, _nc_outch);
+ SP->_cursrow = ynew;
+ SP->_curscol = xnew;
return (OK);
} else
return (ERR);
}
NCURSES_EXPORT(int)
-TINFO_MVCUR(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew)
+mvcur(int yold, int xold, int ynew, int xnew)
/* optimized cursor move from (yold, xold) to (ynew, xnew) */
{
NCURSES_CH_T oldattr;
int code;
- TR(TRACE_CALLS | TRACE_MOVE, (T_CALLED("_nc_tinfo_mvcur(%p,%d,%d,%d,%d)"),
- (void *) SP_PARM, yold, xold, ynew, xnew));
+ TR(TRACE_CALLS | TRACE_MOVE, (T_CALLED("mvcur(%d,%d,%d,%d)"),
+ yold, xold, ynew, xnew));
- if (SP_PARM == 0) {
+ if (SP == 0) {
code = ERR;
} else if (yold == ynew && xold == xnew) {
code = OK;
@@ -964,9 +874,9 @@ TINFO_MVCUR(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew)
* column position implied by wraparound or the lack thereof and
* rolling up the screen to get ynew on the screen.
*/
- if (xnew >= screen_columns(SP_PARM)) {
- ynew += xnew / screen_columns(SP_PARM);
- xnew %= screen_columns(SP_PARM);
+ if (xnew >= screen_columns) {
+ ynew += xnew / screen_columns;
+ xnew %= screen_columns;
}
/*
@@ -974,40 +884,38 @@ TINFO_MVCUR(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew)
* character set -- these have a strong tendency to screw up the CR &
* LF used for local character motions!
*/
- oldattr = SCREEN_ATTRS(SP_PARM);
+ oldattr = SCREEN_ATTRS(SP);
if ((AttrOf(oldattr) & A_ALTCHARSET)
|| (AttrOf(oldattr) && !move_standout_mode)) {
TR(TRACE_CHARPUT, ("turning off (%#lx) %s before move",
(unsigned long) AttrOf(oldattr),
_traceattr(AttrOf(oldattr))));
- (void) VIDATTR(SP_PARM, A_NORMAL, 0);
+ (void) VIDATTR(A_NORMAL, 0);
}
- if (xold >= screen_columns(SP_PARM)) {
+ if (xold >= screen_columns) {
int l;
- if (SP_PARM->_nl) {
- l = (xold + 1) / screen_columns(SP_PARM);
+ if (SP->_nl) {
+ l = (xold + 1) / screen_columns;
yold += l;
- if (yold >= screen_lines(SP_PARM))
- l -= (yold - screen_lines(SP_PARM) - 1);
+ if (yold >= screen_lines)
+ l -= (yold - screen_lines - 1);
if (l > 0) {
if (carriage_return) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "carriage_return",
- carriage_return);
+ TPUTS_TRACE("carriage_return");
+ putp(carriage_return);
} else
- NCURSES_SP_NAME(_nc_outch) (NCURSES_SP_ARGx '\r');
+ _nc_outch('\r');
xold = 0;
while (l > 0) {
if (newline) {
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "newline",
- newline);
+ TPUTS_TRACE("newline");
+ putp(newline);
} else
- NCURSES_SP_NAME(_nc_outch) (NCURSES_SP_ARGx '\n');
+ _nc_outch('\n');
l--;
}
}
@@ -1021,35 +929,27 @@ TINFO_MVCUR(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew)
}
}
- if (yold > screen_lines(SP_PARM) - 1)
- yold = screen_lines(SP_PARM) - 1;
- if (ynew > screen_lines(SP_PARM) - 1)
- ynew = screen_lines(SP_PARM) - 1;
+ if (yold > screen_lines - 1)
+ yold = screen_lines - 1;
+ if (ynew > screen_lines - 1)
+ ynew = screen_lines - 1;
/* destination location is on screen now */
- code = onscreen_mvcur(NCURSES_SP_ARGx yold, xold, ynew, xnew, TRUE);
+ code = onscreen_mvcur(yold, xold, ynew, xnew, TRUE);
/*
* Restore attributes if we disabled them before moving.
*/
- if (!SameAttrOf(oldattr, SCREEN_ATTRS(SP_PARM))) {
+ if (!SameAttrOf(oldattr, SCREEN_ATTRS(SP))) {
TR(TRACE_CHARPUT, ("turning on (%#lx) %s after move",
(unsigned long) AttrOf(oldattr),
_traceattr(AttrOf(oldattr))));
- (void) VIDATTR(SP_PARM, AttrOf(oldattr), GetPair(oldattr));
+ (void) VIDATTR(AttrOf(oldattr), GetPair(oldattr));
}
}
returnCode(code);
}
-#if NCURSES_SP_FUNCS && !defined(USE_TERM_DRIVER)
-NCURSES_EXPORT(int)
-mvcur(int yold, int xold, int ynew, int xnew)
-{
- return NCURSES_SP_NAME(mvcur) (CURRENT_SCREEN, yold, xold, ynew, xnew);
-}
-#endif
-
#if defined(TRACE) || defined(NCURSES_TEST)
NCURSES_EXPORT_VAR(int) _nc_optimize_enable = OPTIMIZE_ALL;
#endif
@@ -1312,25 +1212,25 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
speeds[i], overhead, totalest);
}
} else if (buf[0] == 'c') {
- (void) printf("char padding: %d\n", CURRENT_SCREEN->_char_padding);
- (void) printf("cr cost: %d\n", CURRENT_SCREEN->_cr_cost);
- (void) printf("cup cost: %d\n", CURRENT_SCREEN->_cup_cost);
- (void) printf("home cost: %d\n", CURRENT_SCREEN->_home_cost);
- (void) printf("ll cost: %d\n", CURRENT_SCREEN->_ll_cost);
+ (void) printf("char padding: %d\n", SP->_char_padding);
+ (void) printf("cr cost: %d\n", SP->_cr_cost);
+ (void) printf("cup cost: %d\n", SP->_cup_cost);
+ (void) printf("home cost: %d\n", SP->_home_cost);
+ (void) printf("ll cost: %d\n", SP->_ll_cost);
#if USE_HARD_TABS
- (void) printf("ht cost: %d\n", CURRENT_SCREEN->_ht_cost);
- (void) printf("cbt cost: %d\n", CURRENT_SCREEN->_cbt_cost);
+ (void) printf("ht cost: %d\n", SP->_ht_cost);
+ (void) printf("cbt cost: %d\n", SP->_cbt_cost);
#endif /* USE_HARD_TABS */
- (void) printf("cub1 cost: %d\n", CURRENT_SCREEN->_cub1_cost);
- (void) printf("cuf1 cost: %d\n", CURRENT_SCREEN->_cuf1_cost);
- (void) printf("cud1 cost: %d\n", CURRENT_SCREEN->_cud1_cost);
- (void) printf("cuu1 cost: %d\n", CURRENT_SCREEN->_cuu1_cost);
- (void) printf("cub cost: %d\n", CURRENT_SCREEN->_cub_cost);
- (void) printf("cuf cost: %d\n", CURRENT_SCREEN->_cuf_cost);
- (void) printf("cud cost: %d\n", CURRENT_SCREEN->_cud_cost);
- (void) printf("cuu cost: %d\n", CURRENT_SCREEN->_cuu_cost);
- (void) printf("hpa cost: %d\n", CURRENT_SCREEN->_hpa_cost);
- (void) printf("vpa cost: %d\n", CURRENT_SCREEN->_vpa_cost);
+ (void) printf("cub1 cost: %d\n", SP->_cub1_cost);
+ (void) printf("cuf1 cost: %d\n", SP->_cuf1_cost);
+ (void) printf("cud1 cost: %d\n", SP->_cud1_cost);
+ (void) printf("cuu1 cost: %d\n", SP->_cuu1_cost);
+ (void) printf("cub cost: %d\n", SP->_cub_cost);
+ (void) printf("cuf cost: %d\n", SP->_cuf_cost);
+ (void) printf("cud cost: %d\n", SP->_cud_cost);
+ (void) printf("cuu cost: %d\n", SP->_cuu_cost);
+ (void) printf("hpa cost: %d\n", SP->_hpa_cost);
+ (void) printf("vpa cost: %d\n", SP->_vpa_cost);
} else if (buf[0] == 'x' || buf[0] == 'q')
break;
else
diff --git a/ncurses/tty/lib_tstp.c b/ncurses/tty/lib_tstp.c
index 70f805a2ad5e..06c8411caa4d 100644
--- a/ncurses/tty/lib_tstp.c
+++ b/ncurses/tty/lib_tstp.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -46,7 +46,7 @@
#define _POSIX_SOURCE
#endif
-MODULE_ID("$Id: lib_tstp.c,v 1.41 2010/05/15 21:31:12 tom Exp $")
+MODULE_ID("$Id: lib_tstp.c,v 1.37 2008/05/03 16:24:56 tom Exp $")
#if defined(SIGTSTP) && (HAVE_SIGACTION || HAVE_SIGVEC)
#define USE_SIGTSTP 1
@@ -59,20 +59,16 @@ static const char *
signal_name(int sig)
{
switch (sig) {
-#ifdef SIGALRM
case SIGALRM:
return "SIGALRM";
-#endif
#ifdef SIGCONT
case SIGCONT:
return "SIGCONT";
#endif
case SIGINT:
return "SIGINT";
-#ifdef SIGQUIT
case SIGQUIT:
return "SIGQUIT";
-#endif
case SIGTERM:
return "SIGTERM";
#ifdef SIGTSTP
@@ -140,7 +136,6 @@ signal_name(int sig)
static void
tstp(int dummy GCC_UNUSED)
{
- SCREEN *sp = CURRENT_SCREEN;
sigset_t mask, omask;
sigaction_t act, oact;
@@ -159,11 +154,11 @@ tstp(int dummy GCC_UNUSED)
* parent was stopped before us, and we would likely pick up the
* settings already modified by the shell.
*/
- if (sp != 0 && !sp->_endwin) /* don't do this if we're not in curses */
+ if (SP != 0 && !SP->_endwin) /* don't do this if we're not in curses */
#if HAVE_TCGETPGRP
if (tcgetpgrp(STDIN_FILENO) == getpgrp())
#endif
- NCURSES_SP_NAME(def_prog_mode) (NCURSES_SP_ARG);
+ def_prog_mode();
/*
* Block window change and timer signals. The latter
@@ -171,9 +166,7 @@ tstp(int dummy GCC_UNUSED)
* to repaint the screen.
*/
(void) sigemptyset(&mask);
-#ifdef SIGALRM
(void) sigaddset(&mask, SIGALRM);
-#endif
#if USE_SIGWINCH
(void) sigaddset(&mask, SIGWINCH);
#endif
@@ -192,7 +185,7 @@ tstp(int dummy GCC_UNUSED)
* End window mode, which also resets the terminal state to the
* original (pre-curses) modes.
*/
- NCURSES_SP_NAME(endwin) (NCURSES_SP_ARG);
+ endwin();
/* Unblock SIGTSTP. */
(void) sigemptyset(&mask);
@@ -219,19 +212,19 @@ tstp(int dummy GCC_UNUSED)
T(("SIGCONT received"));
sigaction(SIGTSTP, &oact, NULL);
- NCURSES_SP_NAME(flushinp) (NCURSES_SP_ARG);
+ flushinp();
/*
* If the user modified the tty state while suspended, he wants
* those changes to stick. So save the new "default" terminal state.
*/
- NCURSES_SP_NAME(def_shell_mode) (NCURSES_SP_ARG);
+ def_shell_mode();
/*
* This relies on the fact that doupdate() will restore the
* program-mode tty state, and issue enter_ca_mode if need be.
*/
- NCURSES_SP_NAME(doupdate) (NCURSES_SP_ARG);
+ doupdate();
/* Reset the signals. */
(void) sigprocmask(SIG_SETMASK, &omask, NULL);
@@ -241,8 +234,6 @@ tstp(int dummy GCC_UNUSED)
static void
cleanup(int sig)
{
- SCREEN *sp = CURRENT_SCREEN;
-
/*
* Actually, doing any sort of I/O from within an signal handler is
* "unsafe". But we'll _try_ to clean up the screen and terminal
@@ -250,10 +241,7 @@ cleanup(int sig)
*/
if (!_nc_globals.cleanup_nested++
&& (sig == SIGINT
-#ifdef SIGQUIT
- || sig == SIGQUIT
-#endif
- )) {
+ || sig == SIGQUIT)) {
#if HAVE_SIGACTION || HAVE_SIGVEC
sigaction_t act;
sigemptyset(&act.sa_mask);
@@ -269,12 +257,12 @@ cleanup(int sig)
if (scan->_ofp != 0
&& isatty(fileno(scan->_ofp))) {
scan->_cleanup = TRUE;
- scan->_outch = NCURSES_SP_NAME(_nc_outch);
+ scan->_outch = _nc_outch;
}
set_term(scan);
- NCURSES_SP_NAME(endwin) (NCURSES_SP_ARG);
- if (sp)
- sp->_endwin = FALSE; /* in case we have an atexit! */
+ endwin();
+ if (SP)
+ SP->_endwin = FALSE; /* in case we have an atexit! */
}
}
}
@@ -286,13 +274,6 @@ static void
sigwinch(int sig GCC_UNUSED)
{
_nc_globals.have_sigwinch = 1;
-# if USE_PTHREADS_EINTR
- if (_nc_globals.read_thread) {
- if (!pthread_equal(pthread_self(), _nc_globals.read_thread))
- pthread_kill(_nc_globals.read_thread, SIGWINCH);
- _nc_globals.read_thread = 0;
- }
-# endif
}
#endif /* USE_SIGWINCH */
diff --git a/ncurses/tty/lib_twait.c b/ncurses/tty/lib_twait.c
index 329ec29a019f..16d12edbbe3c 100644
--- a/ncurses/tty/lib_twait.c
+++ b/ncurses/tty/lib_twait.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -65,12 +65,10 @@
# include <sys/select.h>
# endif
#endif
-#ifdef __MINGW32__
-# include <sys/time.h>
-#endif
+
#undef CUR
-MODULE_ID("$Id: lib_twait.c,v 1.61 2010/12/25 23:43:58 tom Exp $")
+MODULE_ID("$Id: lib_twait.c,v 1.59 2008/08/30 20:08:19 tom Exp $")
static long
_nc_gettime(TimeType * t0, bool first)
@@ -126,27 +124,15 @@ _nc_eventlist_timeout(_nc_eventlist * evl)
}
#endif /* NCURSES_WGETCH_EVENTS */
-#if (USE_FUNC_POLL || HAVE_SELECT)
-# define MAYBE_UNUSED
-#else
-# define MAYBE_UNUSED GCC_UNUSED
-#endif
-
-#if (USE_FUNC_POLL || HAVE_SELECT)
-# define MAYBE_UNUSED
-#else
-# define MAYBE_UNUSED GCC_UNUSED
-#endif
-
/*
* Wait a specified number of milliseconds, returning nonzero if the timer
* didn't expire before there is activity on the specified file descriptors.
* The file-descriptors are specified by the mode:
- * TW_NONE 0 - none (absolute time)
- * TW_INPUT 1 - ncurses' normal input-descriptor
- * TW_MOUSE 2 - mouse descriptor, if any
- * TW_ANY 3 - either input or mouse.
- * TW_EVENT 4 -
+ * 0 - none (absolute time)
+ * 1 - ncurses' normal input-descriptor
+ * 2 - mouse descriptor, if any
+ * 3 - either input or mouse.
+ *
* Experimental: if NCURSES_WGETCH_EVENTS is defined, (mode & 4) determines
* whether to pay attention to evl argument. If set, the smallest of
* millisecond and of timeout of evl is taken.
@@ -157,18 +143,16 @@ _nc_eventlist_timeout(_nc_eventlist * evl)
* descriptors.
*/
NCURSES_EXPORT(int)
-_nc_timed_wait(SCREEN *sp MAYBE_UNUSED,
- int mode MAYBE_UNUSED,
+_nc_timed_wait(SCREEN *sp,
+ int mode,
int milliseconds,
int *timeleft
EVENTLIST_2nd(_nc_eventlist * evl))
{
+ int fd;
int count;
- int result = TW_NONE;
+ int result = 0;
TimeType t0;
-#if (USE_FUNC_POLL || HAVE_SELECT)
- int fd;
-#endif
#ifdef NCURSES_WGETCH_EVENTS
int timeout_is_event = 0;
@@ -190,7 +174,7 @@ _nc_timed_wait(SCREEN *sp MAYBE_UNUSED,
milliseconds, mode));
#ifdef NCURSES_WGETCH_EVENTS
- if (mode & TW_EVENT) {
+ if (mode & 4) {
int event_delay = _nc_eventlist_timeout(evl);
if (event_delay >= 0
@@ -209,7 +193,7 @@ _nc_timed_wait(SCREEN *sp MAYBE_UNUSED,
count = 0;
#ifdef NCURSES_WGETCH_EVENTS
- if ((mode & TW_EVENT) && evl)
+ if ((mode & 4) && evl)
evl->result_flags = 0;
#endif
@@ -217,23 +201,23 @@ _nc_timed_wait(SCREEN *sp MAYBE_UNUSED,
memset(fd_list, 0, sizeof(fd_list));
#ifdef NCURSES_WGETCH_EVENTS
- if ((mode & TW_EVENT) && evl)
+ if ((mode & 4) && evl)
fds = typeMalloc(struct pollfd, MIN_FDS + evl->count);
#endif
- if (mode & TW_INPUT) {
+ if (mode & 1) {
fds[count].fd = sp->_ifd;
fds[count].events = POLLIN;
count++;
}
- if ((mode & TW_MOUSE)
+ if ((mode & 2)
&& (fd = sp->_mouse_fd) >= 0) {
fds[count].fd = fd;
fds[count].events = POLLIN;
count++;
}
#ifdef NCURSES_WGETCH_EVENTS
- if ((mode & TW_EVENT) && evl) {
+ if ((mode & 4) && evl) {
for (n = 0; n < evl->count; ++n) {
_nc_event *ev = evl->events[n];
@@ -250,7 +234,7 @@ _nc_timed_wait(SCREEN *sp MAYBE_UNUSED,
result = poll(fds, (unsigned) count, milliseconds);
#ifdef NCURSES_WGETCH_EVENTS
- if ((mode & TW_EVENT) && evl) {
+ if ((mode & 4) && evl) {
int c;
if (!result)
@@ -292,8 +276,8 @@ _nc_timed_wait(SCREEN *sp MAYBE_UNUSED,
*
* FIXME: this assumes mode&1 if milliseconds < 0 (see lib_getch.c).
*/
- result = TW_NONE;
- if (mode & TW_INPUT) {
+ result = 0;
+ if (mode & 1) {
int step = (milliseconds < 0) ? 0 : 5000;
bigtime_t d;
bigtime_t useconds = milliseconds * 1000;
@@ -329,17 +313,17 @@ _nc_timed_wait(SCREEN *sp MAYBE_UNUSED,
*/
FD_ZERO(&set);
- if (mode & TW_INPUT) {
+ if (mode & 1) {
FD_SET(sp->_ifd, &set);
count = sp->_ifd + 1;
}
- if ((mode & TW_MOUSE)
+ if ((mode & 2)
&& (fd = sp->_mouse_fd) >= 0) {
FD_SET(fd, &set);
count = max(fd, count) + 1;
}
#ifdef NCURSES_WGETCH_EVENTS
- if ((mode & TW_EVENT) && evl) {
+ if ((mode & 4) && evl) {
for (n = 0; n < evl->count; ++n) {
_nc_event *ev = evl->events[n];
@@ -362,7 +346,7 @@ _nc_timed_wait(SCREEN *sp MAYBE_UNUSED,
}
#ifdef NCURSES_WGETCH_EVENTS
- if ((mode & TW_EVENT) && evl) {
+ if ((mode & 4) && evl) {
evl->result_flags = 0;
for (n = 0; n < evl->count; ++n) {
_nc_event *ev = evl->events[n];
@@ -386,7 +370,7 @@ _nc_timed_wait(SCREEN *sp MAYBE_UNUSED,
returntime = _nc_gettime(&t0, FALSE);
if (milliseconds >= 0)
- milliseconds -= (int) (returntime - starttime);
+ milliseconds -= (returntime - starttime);
#ifdef NCURSES_WGETCH_EVENTS
if (evl) {
@@ -444,22 +428,22 @@ _nc_timed_wait(SCREEN *sp MAYBE_UNUSED,
}
}
#elif defined(__BEOS__)
- result = TW_INPUT; /* redundant, but simple */
+ result = 1; /* redundant, but simple */
#elif HAVE_SELECT
- if ((mode & TW_MOUSE)
+ if ((mode & 2)
&& (fd = sp->_mouse_fd) >= 0
&& FD_ISSET(fd, &set))
- result |= TW_MOUSE;
- if ((mode & TW_INPUT)
+ result |= 2;
+ if ((mode & 1)
&& FD_ISSET(sp->_ifd, &set))
- result |= TW_INPUT;
+ result |= 1;
#endif
} else
result = 0;
}
#ifdef NCURSES_WGETCH_EVENTS
- if ((mode & TW_EVENT) && evl && evl->result_flags)
- result |= TW_EVENT;
+ if ((mode & 4) && evl && evl->result_flags)
+ result |= 4;
#endif
return (result);
diff --git a/ncurses/tty/lib_vidattr.c b/ncurses/tty/lib_vidattr.c
index 9656b3c70ee6..ac2a74f08e01 100644
--- a/ncurses/tty/lib_vidattr.c
+++ b/ncurses/tty/lib_vidattr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,7 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
+ * and: Thomas E. Dickey 1996 on *
****************************************************************************/
/*
@@ -64,16 +63,11 @@
*/
#include <curses.priv.h>
+#include <term.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_vidattr.c,v 1.61 2010/06/05 22:22:04 tom Exp $")
+MODULE_ID("$Id: lib_vidattr.c,v 1.49 2007/06/30 21:58:04 tom Exp $")
-#define doPut(mode) \
- TPUTS_TRACE(#mode); \
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx mode, 1, outc)
+#define doPut(mode) TPUTS_TRACE(#mode); tputs(mode, 1, outc)
#define TurnOn(mask,mode) \
if ((turn_on & mask) && mode) { doPut(mode); }
@@ -84,49 +78,40 @@ MODULE_ID("$Id: lib_vidattr.c,v 1.61 2010/06/05 22:22:04 tom Exp $")
/* if there is no current screen, assume we *can* do color */
#define SetColorsIf(why,old_attr) \
if (can_color && (why)) { \
- int old_pair = PairNumber(old_attr); \
+ int old_pair = PAIR_NUMBER(old_attr); \
TR(TRACE_ATTRS, ("old pair = %d -- new pair = %d", old_pair, pair)); \
if ((pair != old_pair) \
|| (fix_pair0 && (pair == 0)) \
|| (reverse ^ ((old_attr & A_REVERSE) != 0))) { \
- NCURSES_SP_NAME(_nc_do_color)(NCURSES_SP_ARGx \
- (short) old_pair, \
- (short) pair, \
- reverse, outc); \
+ _nc_do_color(old_pair, pair, reverse, outc); \
} \
}
#define PreviousAttr _nc_prescreen.previous_attr
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(vidputs) (NCURSES_SP_DCLx
- chtype newmode,
- NCURSES_SP_OUTC outc)
+vidputs(chtype newmode, int (*outc) (int))
{
attr_t turn_on, turn_off;
int pair;
bool reverse = FALSE;
- bool can_color = (SP_PARM == 0 || SP_PARM->_coloron);
+ bool can_color = (SP == 0 || SP->_coloron);
#if NCURSES_EXT_FUNCS
- bool fix_pair0 = (SP_PARM != 0 && SP_PARM->_coloron && !SP_PARM->_default_color);
+ bool fix_pair0 = (SP != 0 && SP->_coloron && !SP->_default_color);
#else
#define fix_pair0 FALSE
#endif
newmode &= A_ATTRIBUTES;
-
- T((T_CALLED("vidputs(%p,%s)"), (void *) SP_PARM, _traceattr(newmode)));
-
- if (!IsTermInfo(SP_PARM))
- returnCode(ERR);
+ T((T_CALLED("vidputs(%s)"), _traceattr(newmode)));
/* this allows us to go on whether or not newterm() has been called */
- if (SP_PARM)
- PreviousAttr = AttrOf(SCREEN_ATTRS(SP_PARM));
+ if (SP)
+ PreviousAttr = AttrOf(SCREEN_ATTRS(SP));
TR(TRACE_ATTRS, ("previous attribute was %s", _traceattr(PreviousAttr)));
- if ((SP_PARM != 0)
+ if ((SP != 0)
&& (magic_cookie_glitch > 0)) {
#if USE_XMC_SUPPORT
static const chtype table[] =
@@ -150,7 +135,7 @@ NCURSES_SP_NAME(vidputs) (NCURSES_SP_DCLx
* the terminfo max_attributes value.
*/
for (n = 0; n < SIZEOF(table); ++n) {
- if ((table[n] & SP_PARM->_ok_attributes) == 0) {
+ if ((table[n] & SP->_ok_attributes) == 0) {
newmode &= ~table[n];
} else if ((table[n] & newmode) != 0) {
if (used++ >= limit) {
@@ -163,7 +148,7 @@ NCURSES_SP_NAME(vidputs) (NCURSES_SP_DCLx
}
}
#else
- newmode &= ~(SP_PARM->_xmc_suppress);
+ newmode &= ~(SP->_xmc_suppress);
#endif
TR(TRACE_ATTRS, ("suppressed attribute is %s", _traceattr(newmode)));
}
@@ -187,7 +172,7 @@ NCURSES_SP_NAME(vidputs) (NCURSES_SP_DCLx
* A_ALTCHARSET (256) down 2 to line up. We use the NCURSES_BITS
* macro so this will work properly for the wide-character layout.
*/
- unsigned value = (unsigned) no_color_video;
+ unsigned value = no_color_video;
attr_t mask = NCURSES_BITS((value & 63)
| ((value & 192) << 1)
| ((value & 256) >> 2), 8);
@@ -203,7 +188,7 @@ NCURSES_SP_NAME(vidputs) (NCURSES_SP_DCLx
if (newmode == PreviousAttr)
returnCode(OK);
- pair = PairNumber(newmode);
+ pair = PAIR_NUMBER(newmode);
if (reverse) {
newmode &= ~A_REVERSE;
@@ -223,10 +208,10 @@ NCURSES_SP_NAME(vidputs) (NCURSES_SP_DCLx
if (exit_attribute_mode) {
doPut(exit_attribute_mode);
} else {
- if (!SP_PARM || SP_PARM->_use_rmul) {
+ if (!SP || SP->_use_rmul) {
TurnOff(A_UNDERLINE, exit_underline_mode);
}
- if (!SP_PARM || SP_PARM->_use_rmso) {
+ if (!SP || SP->_use_rmso) {
TurnOff(A_STANDOUT, exit_standout_mode);
}
}
@@ -237,18 +222,16 @@ NCURSES_SP_NAME(vidputs) (NCURSES_SP_DCLx
} else if (set_attributes) {
if (turn_on || turn_off) {
TPUTS_TRACE("set_attributes");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- tparm(set_attributes,
- (newmode & A_STANDOUT) != 0,
- (newmode & A_UNDERLINE) != 0,
- (newmode & A_REVERSE) != 0,
- (newmode & A_BLINK) != 0,
- (newmode & A_DIM) != 0,
- (newmode & A_BOLD) != 0,
- (newmode & A_INVIS) != 0,
- (newmode & A_PROTECT) != 0,
- (newmode & A_ALTCHARSET) != 0),
- 1, outc);
+ tputs(tparm(set_attributes,
+ (newmode & A_STANDOUT) != 0,
+ (newmode & A_UNDERLINE) != 0,
+ (newmode & A_REVERSE) != 0,
+ (newmode & A_BLINK) != 0,
+ (newmode & A_DIM) != 0,
+ (newmode & A_BOLD) != 0,
+ (newmode & A_INVIS) != 0,
+ (newmode & A_PROTECT) != 0,
+ (newmode & A_ALTCHARSET) != 0), 1, outc);
PreviousAttr &= ALL_BUT_COLOR;
}
SetColorsIf((pair != 0) || fix_pair0, PreviousAttr);
@@ -258,11 +241,11 @@ NCURSES_SP_NAME(vidputs) (NCURSES_SP_DCLx
TurnOff(A_ALTCHARSET, exit_alt_charset_mode);
- if (!SP_PARM || SP_PARM->_use_rmul) {
+ if (!SP || SP->_use_rmul) {
TurnOff(A_UNDERLINE, exit_underline_mode);
}
- if (!SP_PARM || SP_PARM->_use_rmso) {
+ if (!SP || SP->_use_rmso) {
TurnOff(A_STANDOUT, exit_standout_mode);
}
@@ -299,53 +282,28 @@ NCURSES_SP_NAME(vidputs) (NCURSES_SP_DCLx
if (reverse)
newmode |= A_REVERSE;
- if (SP_PARM)
- SetAttr(SCREEN_ATTRS(SP_PARM), newmode);
+ if (SP)
+ SetAttr(SCREEN_ATTRS(SP), newmode);
else
PreviousAttr = newmode;
returnCode(OK);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-vidputs(chtype newmode, NCURSES_OUTC outc)
-{
- SetSafeOutcWrapper(outc);
- return NCURSES_SP_NAME(vidputs) (CURRENT_SCREEN,
- newmode,
- _nc_outc_wrapper);
-}
-#endif
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(vidattr) (NCURSES_SP_DCLx chtype newmode)
-{
- T((T_CALLED("vidattr(%p,%s)"), (void *) SP_PARM, _traceattr(newmode)));
- returnCode(NCURSES_SP_NAME(vidputs) (NCURSES_SP_ARGx
- newmode,
- NCURSES_SP_NAME(_nc_outch)));
-}
-
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
vidattr(chtype newmode)
{
- return NCURSES_SP_NAME(vidattr) (CURRENT_SCREEN, newmode);
+ T((T_CALLED("vidattr(%s)"), _traceattr(newmode)));
+
+ returnCode(vidputs(newmode, _nc_outch));
}
-#endif
NCURSES_EXPORT(chtype)
-NCURSES_SP_NAME(termattrs) (NCURSES_SP_DCL0)
+termattrs(void)
{
chtype attrs = A_NORMAL;
- T((T_CALLED("termattrs(%p)"), (void *) SP_PARM));
-#ifdef USE_TERM_DRIVER
- if (HasTerminal(SP_PARM))
- attrs = CallDriver(SP_PARM, conattr);
-#else
-
+ T((T_CALLED("termattrs()")));
if (enter_alt_charset_mode)
attrs |= A_ALTCHARSET;
@@ -373,17 +331,8 @@ NCURSES_SP_NAME(termattrs) (NCURSES_SP_DCL0)
if (enter_underline_mode)
attrs |= A_UNDERLINE;
- if (SP_PARM->_coloron)
+ if (SP->_coloron)
attrs |= A_COLOR;
-#endif
- returnChtype(attrs);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(chtype)
-termattrs(void)
-{
- return NCURSES_SP_NAME(termattrs) (CURRENT_SCREEN);
+ returnChar(attrs);
}
-#endif
diff --git a/ncurses/tty/tty_update.c b/ncurses/tty/tty_update.c
index f0d2369c18d6..6a3a0c8e9341 100644
--- a/ncurses/tty/tty_update.c
+++ b/ncurses/tty/tty_update.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*-----------------------------------------------------------------
@@ -39,16 +38,12 @@
*
* The routine doupdate() and its dependents.
* All physical output is concentrated here (except _nc_outch()
- * in lib_tputs.c).
+ * in lib_tputs.c).
*
*-----------------------------------------------------------------*/
#include <curses.priv.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
#if defined __HAIKU__ && defined __BEOS__
#undef __BEOS__
#endif
@@ -81,8 +76,9 @@
#endif
#include <ctype.h>
+#include <term.h>
-MODULE_ID("$Id: tty_update.c,v 1.264 2010/12/19 01:21:02 tom Exp $")
+MODULE_ID("$Id: tty_update.c,v 1.246 2008/08/30 20:08:19 tom Exp $")
/*
* This define controls the line-breakout optimization. Every once in a
@@ -95,7 +91,7 @@ MODULE_ID("$Id: tty_update.c,v 1.264 2010/12/19 01:21:02 tom Exp $")
*/
#define CHECK_INTERVAL 5
-#define FILL_BCE(sp) (sp->_coloron && !sp->_default_color && !back_color_erase)
+#define FILL_BCE() (SP->_coloron && !SP->_default_color && !back_color_erase)
static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
static NCURSES_CH_T normal = NewChar(BLANK_TEXT);
@@ -107,23 +103,13 @@ static NCURSES_CH_T normal = NewChar(BLANK_TEXT);
*/
/* #define POSITION_DEBUG */
-static NCURSES_INLINE NCURSES_CH_T ClrBlank(NCURSES_SP_DCLx WINDOW *win);
-
-#if NCURSES_SP_FUNCS
-static int ClrBottom(SCREEN *, int total);
-static void ClearScreen(SCREEN *, NCURSES_CH_T blank);
-static void ClrUpdate(SCREEN *);
-static void DelChar(SCREEN *, int count);
-static void InsStr(SCREEN *, NCURSES_CH_T * line, int count);
-static void TransformLine(SCREEN *, int const lineno);
-#else
+static NCURSES_INLINE NCURSES_CH_T ClrBlank(WINDOW *win);
static int ClrBottom(int total);
static void ClearScreen(NCURSES_CH_T blank);
static void ClrUpdate(void);
static void DelChar(int count);
static void InsStr(NCURSES_CH_T * line, int count);
static void TransformLine(int const lineno);
-#endif
#ifdef POSITION_DEBUG
/****************************************************************************
@@ -133,7 +119,7 @@ static void TransformLine(int const lineno);
****************************************************************************/
static void
-position_check(NCURSES_SP_DCLx int expected_y, int expected_x, char *legend)
+position_check(int expected_y, int expected_x, char *legend)
/* check to see if the real cursor position matches the virtual */
{
char buf[20];
@@ -143,10 +129,10 @@ position_check(NCURSES_SP_DCLx int expected_y, int expected_x, char *legend)
if (!_nc_tracing || (expected_y < 0 && expected_x < 0))
return;
- NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ _nc_flush();
memset(buf, '\0', sizeof(buf));
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx "\033[6n"); /* only works on ANSI-compatibles */
- NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ putp("\033[6n"); /* only works on ANSI-compatibles */
+ _nc_flush();
*(s = buf) = 0;
do {
int ask = sizeof(buf) - 1 - (s - buf);
@@ -166,12 +152,8 @@ position_check(NCURSES_SP_DCLx int expected_y, int expected_x, char *legend)
if (expected_y < 0)
expected_y = y - 1;
if (y - 1 != expected_y || x - 1 != expected_x) {
- NCURSES_SP_NAME(beep) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- tparm("\033[%d;%dH",
- expected_y + 1,
- expected_x + 1),
- 1, NCURSES_SP_NAME(_nc_outch));
+ beep();
+ tputs(tparm("\033[%d;%dH", expected_y + 1, expected_x + 1), 1, _nc_outch);
_tracef("position seen (%d, %d) doesn't match expected one (%d, %d) in %s",
y - 1, x - 1, expected_y, expected_x, legend);
} else {
@@ -180,7 +162,7 @@ position_check(NCURSES_SP_DCLx int expected_y, int expected_x, char *legend)
}
}
#else
-#define position_check(sp, expected_y, expected_x, legend) /* nothing */
+#define position_check(expected_y, expected_x, legend) /* nothing */
#endif /* POSITION_DEBUG */
/****************************************************************************
@@ -190,22 +172,19 @@ position_check(NCURSES_SP_DCLx int expected_y, int expected_x, char *legend)
****************************************************************************/
static NCURSES_INLINE void
-GoTo(NCURSES_SP_DCLx int const row, int const col)
+GoTo(int const row, int const col)
{
- TR(TRACE_MOVE, ("GoTo(%p, %d, %d) from (%d, %d)",
- (void *) SP_PARM, row, col, SP_PARM->_cursrow, SP_PARM->_curscol));
+ TR(TRACE_MOVE, ("GoTo(%d, %d) from (%d, %d)",
+ row, col, SP->_cursrow, SP->_curscol));
- position_check(SP_PARM, SP_PARM->_cursrow, SP_PARM->_curscol, "GoTo");
+ position_check(SP->_cursrow, SP->_curscol, "GoTo");
- TINFO_MVCUR(NCURSES_SP_ARGx
- SP_PARM->_cursrow,
- SP_PARM->_curscol,
- row, col);
- position_check(SP_PARM, SP_PARM->_cursrow, SP_PARM->_curscol, "GoTo2");
+ mvcur(SP->_cursrow, SP->_curscol, row, col);
+ position_check(SP->_cursrow, SP->_curscol, "GoTo2");
}
static NCURSES_INLINE void
-PutAttrChar(NCURSES_SP_DCLx CARG_CH_T ch)
+PutAttrChar(CARG_CH_T ch)
{
int chlen = 1;
NCURSES_CH_T my_ch;
@@ -215,7 +194,7 @@ PutAttrChar(NCURSES_SP_DCLx CARG_CH_T ch)
TR(TRACE_CHARPUT, ("PutAttrChar(%s) at (%d, %d)",
_tracech_t(ch),
- SP_PARM->_cursrow, SP_PARM->_curscol));
+ SP->_cursrow, SP->_curscol));
#if USE_WIDEC_SUPPORT
/*
* If this is not a valid character, there is nothing more to do.
@@ -245,12 +224,12 @@ PutAttrChar(NCURSES_SP_DCLx CARG_CH_T ch)
*/
if (is8bits(CharOf(CHDEREF(ch)))
&& (isprint(CharOf(CHDEREF(ch)))
- || (SP_PARM->_legacy_coding > 0 && CharOf(CHDEREF(ch)) >= 160)
- || (SP_PARM->_legacy_coding > 1 && CharOf(CHDEREF(ch)) >= 128)
+ || (SP->_legacy_coding > 0 && CharOf(CHDEREF(ch)) >= 160)
+ || (SP->_legacy_coding > 1 && CharOf(CHDEREF(ch)) >= 128)
|| (AttrOf(attr) & A_ALTCHARSET
&& ((CharOfD(ch) < ACS_LEN
- && SP_PARM->_acs_map != 0
- && SP_PARM->_acs_map[CharOfD(ch)] != 0)
+ && SP->_acs_map != 0
+ && SP->_acs_map[CharOfD(ch)] != 0)
|| (CharOfD(ch) >= 128))))) {
;
} else {
@@ -262,7 +241,7 @@ PutAttrChar(NCURSES_SP_DCLx CARG_CH_T ch)
#endif
if ((AttrOf(attr) & A_ALTCHARSET)
- && SP_PARM->_acs_map != 0
+ && SP->_acs_map != 0
&& CharOfD(ch) < ACS_LEN) {
my_ch = CHDEREF(ch); /* work around const param */
#if USE_WIDEC_SUPPORT
@@ -272,8 +251,8 @@ PutAttrChar(NCURSES_SP_DCLx CARG_CH_T ch)
* character, and uses the wide-character mapping when we expect the
* normal one to be broken (by mis-design ;-).
*/
- if (SP_PARM->_screen_acs_fix
- && SP_PARM->_screen_acs_map[CharOf(my_ch)]) {
+ if (SP->_screen_acs_fix
+ && SP->_screen_acs_map[CharOf(my_ch)]) {
RemAttr(attr, A_ALTCHARSET);
my_ch = _nc_wacs[CharOf(my_ch)];
}
@@ -286,9 +265,9 @@ PutAttrChar(NCURSES_SP_DCLx CARG_CH_T ch)
*/
if (AttrOf(attr) & A_ALTCHARSET) {
int j = CharOfD(ch);
- chtype temp = UChar(SP_PARM->_acs_map[j]);
+ chtype temp = UChar(SP->_acs_map[j]);
- if (!(SP_PARM->_screen_acs_map[j])) {
+ if (!(SP->_screen_acs_map[j])) {
RemAttr(attr, A_ALTCHARSET);
if (temp == 0)
temp = ' ';
@@ -303,28 +282,28 @@ PutAttrChar(NCURSES_SP_DCLx CARG_CH_T ch)
ch = CHREF(tilde);
}
- UpdateAttrs(SP_PARM, attr);
+ UpdateAttrs(attr);
#if !USE_WIDEC_SUPPORT
/* FIXME - we do this special case for signal handling, should see how to
* make it work for wide characters.
*/
- if (SP_PARM->_outch != 0) {
- SP_PARM->_outch(NCURSES_SP_ARGx UChar(ch));
+ if (SP->_outch != 0) {
+ SP->_outch(UChar(ch));
} else
#endif
{
- PUTC(CHDEREF(ch), SP_PARM->_ofp); /* macro's fastest... */
+ PUTC(CHDEREF(ch), SP->_ofp); /* macro's fastest... */
COUNT_OUTCHARS(1);
}
- SP_PARM->_curscol += chlen;
+ SP->_curscol += chlen;
if (char_padding) {
TPUTS_TRACE("char_padding");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx char_padding);
+ putp(char_padding);
}
}
static bool
-check_pending(NCURSES_SP_DCL0)
+check_pending(void)
/* check for pending input */
{
bool have_pending = FALSE;
@@ -334,13 +313,13 @@ check_pending(NCURSES_SP_DCL0)
* have the refreshing slow down drastically (or stop) if there's an
* unread character available.
*/
- if (SP_PARM->_fifohold != 0)
+ if (SP->_fifohold != 0)
return FALSE;
- if (SP_PARM->_checkfd >= 0) {
+ if (SP->_checkfd >= 0) {
#if USE_FUNC_POLL
struct pollfd fds[1];
- fds[0].fd = SP_PARM->_checkfd;
+ fds[0].fd = SP->_checkfd;
fds[0].events = POLLIN;
if (poll(fds, 1, 0) > 0) {
have_pending = TRUE;
@@ -368,52 +347,43 @@ check_pending(NCURSES_SP_DCL0)
ktimeout.tv_usec = 0;
FD_ZERO(&fdset);
- FD_SET(SP_PARM->_checkfd, &fdset);
- if (select(SP_PARM->_checkfd + 1, &fdset, NULL, NULL, &ktimeout) != 0) {
+ FD_SET(SP->_checkfd, &fdset);
+ if (select(SP->_checkfd + 1, &fdset, NULL, NULL, &ktimeout) != 0) {
have_pending = TRUE;
}
#endif
}
if (have_pending) {
- SP_PARM->_fifohold = 5;
- NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ SP->_fifohold = 5;
+ _nc_flush();
}
return FALSE;
}
/* put char at lower right corner */
static void
-PutCharLR(NCURSES_SP_DCLx const ARG_CH_T ch)
+PutCharLR(const ARG_CH_T ch)
{
if (!auto_right_margin) {
/* we can put the char directly */
- PutAttrChar(NCURSES_SP_ARGx ch);
+ PutAttrChar(ch);
} else if (enter_am_mode && exit_am_mode) {
/* we can suppress automargin */
TPUTS_TRACE("exit_am_mode");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_am_mode);
+ putp(exit_am_mode);
- PutAttrChar(NCURSES_SP_ARGx ch);
- SP_PARM->_curscol--;
- position_check(SP_PARM,
- SP_PARM->_cursrow,
- SP_PARM->_curscol,
- "exit_am_mode");
+ PutAttrChar(ch);
+ SP->_curscol--;
+ position_check(SP->_cursrow, SP->_curscol, "exit_am_mode");
TPUTS_TRACE("enter_am_mode");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx enter_am_mode);
+ putp(enter_am_mode);
} else if ((enter_insert_mode && exit_insert_mode)
|| insert_character || parm_ich) {
- GoTo(NCURSES_SP_ARGx
- screen_lines(SP_PARM) - 1,
- screen_columns(SP_PARM) - 2);
- PutAttrChar(NCURSES_SP_ARGx ch);
- GoTo(NCURSES_SP_ARGx
- screen_lines(SP_PARM) - 1,
- screen_columns(SP_PARM) - 2);
- InsStr(NCURSES_SP_ARGx
- NewScreen(SP_PARM)->_line[screen_lines(SP_PARM) - 1].text +
- screen_columns(SP_PARM) - 2, 1);
+ GoTo(screen_lines - 1, screen_columns - 2);
+ PutAttrChar(ch);
+ GoTo(screen_lines - 1, screen_columns - 2);
+ InsStr(newscr->_line[screen_lines - 1].text + screen_columns - 2, 1);
}
}
@@ -421,7 +391,7 @@ PutCharLR(NCURSES_SP_DCLx const ARG_CH_T ch)
* Wrap the cursor position, i.e., advance to the beginning of the next line.
*/
static void
-wrap_cursor(NCURSES_SP_DCL0)
+wrap_cursor(void)
{
if (eat_newline_glitch) {
/*
@@ -437,45 +407,40 @@ wrap_cursor(NCURSES_SP_DCL0)
* it's safe to just tell the code that the cursor is in hyperspace and
* let the next mvcur() call straighten things out.
*/
- SP_PARM->_curscol = -1;
- SP_PARM->_cursrow = -1;
+ SP->_curscol = -1;
+ SP->_cursrow = -1;
} else if (auto_right_margin) {
- SP_PARM->_curscol = 0;
- SP_PARM->_cursrow++;
+ SP->_curscol = 0;
+ SP->_cursrow++;
/*
* We've actually moved - but may have to work around problems with
* video attributes not working.
*/
- if (!move_standout_mode && AttrOf(SCREEN_ATTRS(SP_PARM))) {
+ if (!move_standout_mode && AttrOf(SCREEN_ATTRS(SP))) {
TR(TRACE_CHARPUT, ("turning off (%#lx) %s before wrapping",
- (unsigned long) AttrOf(SCREEN_ATTRS(SP_PARM)),
- _traceattr(AttrOf(SCREEN_ATTRS(SP_PARM)))));
- (void) VIDATTR(SP_PARM, A_NORMAL, 0);
+ (unsigned long) AttrOf(SCREEN_ATTRS(SP)),
+ _traceattr(AttrOf(SCREEN_ATTRS(SP)))));
+ (void) VIDATTR(A_NORMAL, 0);
}
} else {
- SP_PARM->_curscol--;
+ SP->_curscol--;
}
- position_check(SP_PARM,
- SP_PARM->_cursrow,
- SP_PARM->_curscol,
- "wrap_cursor");
+ position_check(SP->_cursrow, SP->_curscol, "wrap_cursor");
}
static NCURSES_INLINE void
-PutChar(NCURSES_SP_DCLx const ARG_CH_T ch)
+PutChar(const ARG_CH_T ch)
/* insert character, handling automargin stuff */
{
- if (SP_PARM->_cursrow == screen_lines(SP_PARM) - 1 &&
- SP_PARM->_curscol == screen_columns(SP_PARM) - 1) {
- PutCharLR(NCURSES_SP_ARGx ch);
- } else {
- PutAttrChar(NCURSES_SP_ARGx ch);
- }
+ if (SP->_cursrow == screen_lines - 1 && SP->_curscol == screen_columns - 1)
+ PutCharLR(ch);
+ else
+ PutAttrChar(ch);
- if (SP_PARM->_curscol >= screen_columns(SP_PARM))
- wrap_cursor(NCURSES_SP_ARG);
+ if (SP->_curscol >= screen_columns)
+ wrap_cursor();
- position_check(SP_PARM, SP_PARM->_cursrow, SP_PARM->_curscol, "PutChar");
+ position_check(SP->_cursrow, SP->_curscol, "PutChar");
}
/*
@@ -485,21 +450,19 @@ PutChar(NCURSES_SP_DCLx const ARG_CH_T ch)
* or can be output by clearing (A_COLOR in case of bce-terminal) are excluded.
*/
static NCURSES_INLINE bool
-can_clear_with(NCURSES_SP_DCLx ARG_CH_T ch)
+can_clear_with(ARG_CH_T ch)
{
- if (!back_color_erase && SP_PARM->_coloron) {
+ if (!back_color_erase && SP->_coloron) {
#if NCURSES_EXT_FUNCS
int pair;
- if (!SP_PARM->_default_color)
+ if (!SP->_default_color)
return FALSE;
- if (SP_PARM->_default_fg != C_MASK || SP_PARM->_default_bg != C_MASK)
+ if (SP->_default_fg != C_MASK || SP->_default_bg != C_MASK)
return FALSE;
if ((pair = GetPair(CHDEREF(ch))) != 0) {
short fg, bg;
- NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx
- (short) pair,
- &fg, &bg);
+ pair_content(pair, &fg, &bg);
if (fg != C_MASK || bg != C_MASK)
return FALSE;
}
@@ -525,7 +488,7 @@ can_clear_with(NCURSES_SP_DCLx ARG_CH_T ch)
* This code is optimized using ech and rep.
*/
static int
-EmitRange(NCURSES_SP_DCLx const NCURSES_CH_T * ntext, int num)
+EmitRange(const NCURSES_CH_T * ntext, int num)
{
int i;
@@ -537,13 +500,13 @@ EmitRange(NCURSES_SP_DCLx const NCURSES_CH_T * ntext, int num)
NCURSES_CH_T ntext0;
while (num > 1 && !CharEq(ntext[0], ntext[1])) {
- PutChar(NCURSES_SP_ARGx CHREF(ntext[0]));
+ PutChar(CHREF(ntext[0]));
ntext++;
num--;
}
ntext0 = ntext[0];
if (num == 1) {
- PutChar(NCURSES_SP_ARGx CHREF(ntext0));
+ PutChar(CHREF(ntext0));
return 0;
}
runcount = 2;
@@ -560,11 +523,10 @@ EmitRange(NCURSES_SP_DCLx const NCURSES_CH_T * ntext, int num)
* which it would be marginally advantageous.
*/
if (erase_chars
- && runcount > SP_PARM->_ech_cost + SP_PARM->_cup_ch_cost
- && can_clear_with(NCURSES_SP_ARGx CHREF(ntext0))) {
- UpdateAttrs(SP_PARM, ntext0);
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
- TPARM_1(erase_chars, runcount));
+ && runcount > SP->_ech_cost + SP->_cup_ch_cost
+ && can_clear_with(CHREF(ntext0))) {
+ UpdateAttrs(ntext0);
+ putp(TPARM_1(erase_chars, runcount));
/*
* If this is the last part of the given interval,
@@ -572,34 +534,27 @@ EmitRange(NCURSES_SP_DCLx const NCURSES_CH_T * ntext, int num)
* last update on the line.
*/
if (runcount < num) {
- GoTo(NCURSES_SP_ARGx
- SP_PARM->_cursrow,
- SP_PARM->_curscol + runcount);
+ GoTo(SP->_cursrow, SP->_curscol + runcount);
} else {
return 1; /* cursor stays in the middle */
}
- } else if (repeat_char && runcount > SP_PARM->_rep_cost) {
- bool wrap_possible = (SP_PARM->_curscol + runcount >=
- screen_columns(SP_PARM));
+ } else if (repeat_char && runcount > SP->_rep_cost) {
+ bool wrap_possible = (SP->_curscol + runcount >= screen_columns);
int rep_count = runcount;
if (wrap_possible)
rep_count--;
- UpdateAttrs(SP_PARM, ntext0);
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_2(repeat_char,
- CharOf(ntext0),
- rep_count),
- rep_count,
- NCURSES_SP_NAME(_nc_outch));
- SP_PARM->_curscol += rep_count;
+ UpdateAttrs(ntext0);
+ tputs(TPARM_2(repeat_char, CharOf(ntext0), rep_count),
+ rep_count, _nc_outch);
+ SP->_curscol += rep_count;
if (wrap_possible)
- PutChar(NCURSES_SP_ARGx CHREF(ntext0));
+ PutChar(CHREF(ntext0));
} else {
for (i = 0; i < runcount; i++)
- PutChar(NCURSES_SP_ARGx CHREF(ntext[i]));
+ PutChar(CHREF(ntext[i]));
}
ntext += runcount;
num -= runcount;
@@ -608,7 +563,7 @@ EmitRange(NCURSES_SP_DCLx const NCURSES_CH_T * ntext, int num)
}
for (i = 0; i < num; i++)
- PutChar(NCURSES_SP_ARGx CHREF(ntext[i]));
+ PutChar(CHREF(ntext[i]));
return 0;
}
@@ -621,43 +576,39 @@ EmitRange(NCURSES_SP_DCLx const NCURSES_CH_T * ntext, int num)
* Returns: same as EmitRange
*/
static int
-PutRange(NCURSES_SP_DCLx
- const NCURSES_CH_T * otext,
+PutRange(const NCURSES_CH_T * otext,
const NCURSES_CH_T * ntext,
int row,
int first, int last)
{
int i, j, same;
- TR(TRACE_CHARPUT, ("PutRange(%p, %p, %p, %d, %d, %d)",
- (void *) SP_PARM,
- (const void *) otext,
- (const void *) ntext,
- row, first, last));
+ TR(TRACE_CHARPUT, ("PutRange(%p, %p, %d, %d, %d)",
+ otext, ntext, row, first, last));
if (otext != ntext
- && (last - first + 1) > SP_PARM->_inline_cost) {
+ && (last - first + 1) > SP->_inline_cost) {
for (j = first, same = 0; j <= last; j++) {
if (!same && isWidecExt(otext[j]))
continue;
if (CharEq(otext[j], ntext[j])) {
same++;
} else {
- if (same > SP_PARM->_inline_cost) {
- EmitRange(NCURSES_SP_ARGx ntext + first, j - same - first);
- GoTo(NCURSES_SP_ARGx row, first = j);
+ if (same > SP->_inline_cost) {
+ EmitRange(ntext + first, j - same - first);
+ GoTo(row, first = j);
}
same = 0;
}
}
- i = EmitRange(NCURSES_SP_ARGx ntext + first, j - same - first);
+ i = EmitRange(ntext + first, j - same - first);
/*
* Always return 1 for the next GoTo() after a PutRange() if we found
* identical characters at end of interval
*/
return (same == 0 ? i : 1);
}
- return EmitRange(NCURSES_SP_ARGx ntext + first, last - first + 1);
+ return EmitRange(ntext + first, last - first + 1);
}
/* leave unbracketed here so 'indent' works */
@@ -667,7 +618,7 @@ PutRange(NCURSES_SP_DCLx
if_USE_SCROLL_HINTS(win->_line[row].oldindex = row)
NCURSES_EXPORT(int)
-TINFO_DOUPDATE(NCURSES_SP_DCL0)
+doupdate(void)
{
int i;
int nonempty;
@@ -675,49 +626,30 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
struct tms before, after;
#endif /* USE_TRACE_TIMES */
- T((T_CALLED("_nc_tinfo:doupdate(%p)"), (void *) SP_PARM));
+ T((T_CALLED("doupdate()")));
-#if !USE_REENTRANT
- /*
- * It is "legal" but unlikely that an application could assign a new
- * value to one of the standard windows. Check for that possibility
- * and try to recover.
- *
- * We do not allow applications to assign new values in the reentrant
- * model.
- */
-#define SyncScreens(internal,exported) \
- if (internal == 0) internal = exported; \
- if (internal != exported) exported = internal
-
- SyncScreens(CurScreen(SP_PARM), curscr);
- SyncScreens(NewScreen(SP_PARM), newscr);
- SyncScreens(StdScreen(SP_PARM), stdscr);
-#endif
-
- if (CurScreen(SP_PARM) == 0
- || NewScreen(SP_PARM) == 0
- || StdScreen(SP_PARM) == 0)
+ if (curscr == 0
+ || newscr == 0)
returnCode(ERR);
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE)) {
- if (CurScreen(SP_PARM)->_clear)
+ if (curscr->_clear)
_tracef("curscr is clear");
else
- _tracedump("curscr", CurScreen(SP_PARM));
- _tracedump("newscr", NewScreen(SP_PARM));
+ _tracedump("curscr", curscr);
+ _tracedump("newscr", newscr);
_nc_unlock_global(tracef);
}
#endif /* TRACE */
_nc_signal_handler(FALSE);
- if (SP_PARM->_fifohold)
- SP_PARM->_fifohold--;
+ if (SP->_fifohold)
+ SP->_fifohold--;
#if USE_SIZECHANGE
- if (SP_PARM->_endwin || _nc_handle_sigwinch(SP_PARM)) {
+ if (SP->_endwin || _nc_handle_sigwinch(SP)) {
/*
* This is a transparent extension: XSI does not address it,
* and applications need not know that ncurses can do it.
@@ -726,20 +658,20 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
* (this can happen in an xterm, for example), and resize the
* ncurses data structures accordingly.
*/
- _nc_update_screensize(SP_PARM);
+ _nc_update_screensize(SP);
}
#endif
- if (SP_PARM->_endwin) {
+ if (SP->_endwin) {
T(("coming back from shell mode"));
- NCURSES_SP_NAME(reset_prog_mode) (NCURSES_SP_ARG);
+ reset_prog_mode();
- NCURSES_SP_NAME(_nc_mvcur_resume) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(_nc_screen_resume) (NCURSES_SP_ARG);
- SP_PARM->_mouse_resume(SP_PARM);
+ _nc_mvcur_resume();
+ _nc_screen_resume();
+ SP->_mouse_resume(SP);
- SP_PARM->_endwin = FALSE;
+ SP->_endwin = FALSE;
}
#if USE_TRACE_TIMES
/* zero the metering machinery */
@@ -763,11 +695,11 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
int j, k;
attr_t rattr = A_NORMAL;
- for (i = 0; i < screen_lines(SP_PARM); i++) {
- for (j = 0; j < screen_columns(SP_PARM); j++) {
+ for (i = 0; i < screen_lines; i++) {
+ for (j = 0; j < screen_columns; j++) {
bool failed = FALSE;
- NCURSES_CH_T *thisline = NewScreen(SP_PARM)->_line[i].text;
- attr_t thisattr = AttrOf(thisline[j]) & SP_PARM->_xmc_triggers;
+ NCURSES_CH_T *thisline = newscr->_line[i].text;
+ attr_t thisattr = AttrOf(thisline[j]) & SP->_xmc_triggers;
attr_t turnon = thisattr & ~rattr;
/* is an attribute turned on here? */
@@ -785,8 +717,8 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
* there's enough room to set the attribute before the first
* non-blank in the run.
*/
-#define SAFE(scr,a) (!((a) & (scr)->_xmc_triggers))
- if (ISBLANK(thisline[j]) && SAFE(SP_PARM, turnon)) {
+#define SAFE(a) (!((a) & SP->_xmc_triggers))
+ if (ISBLANK(thisline[j]) && SAFE(turnon)) {
RemAttr(thisline[j], turnon);
continue;
}
@@ -795,14 +727,14 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
for (k = 1; k <= magic_cookie_glitch; k++) {
if (j - k < 0
|| !ISBLANK(thisline[j - k])
- || !SAFE(SP_PARM, AttrOf(thisline[j - k]))) {
+ || !SAFE(AttrOf(thisline[j - k]))) {
failed = TRUE;
TR(TRACE_ATTRS, ("No room at start in %d,%d%s%s",
i, j - k,
(ISBLANK(thisline[j - k])
? ""
: ":nonblank"),
- (SAFE(SP_PARM, AttrOf(thisline[j - k]))
+ (SAFE(AttrOf(thisline[j - k]))
? ""
: ":unsafe")));
break;
@@ -813,11 +745,10 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
int m, n = j;
/* find end of span, if it's onscreen */
- for (m = i; m < screen_lines(SP_PARM); m++) {
- for (; n < screen_columns(SP_PARM); n++) {
- attr_t testattr =
- AttrOf(NewScreen(SP_PARM)->_line[m].text[n]);
- if ((testattr & SP_PARM->_xmc_triggers) == rattr) {
+ for (m = i; m < screen_lines; m++) {
+ for (; n < screen_columns; n++) {
+ attr_t testattr = AttrOf(newscr->_line[m].text[n]);
+ if ((testattr & SP->_xmc_triggers) == rattr) {
end_onscreen = TRUE;
TR(TRACE_ATTRS,
("Range attributed with %s ends at (%d, %d)",
@@ -833,8 +764,7 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
foundit:;
if (end_onscreen) {
- NCURSES_CH_T *lastline =
- NewScreen(SP_PARM)->_line[m].text;
+ NCURSES_CH_T *lastline = newscr->_line[m].text;
/*
* If there are safely-attributed blanks at the end of
@@ -843,15 +773,15 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
*/
while (n >= 0
&& ISBLANK(lastline[n])
- && SAFE(SP_PARM, AttrOf(lastline[n]))) {
+ && SAFE(AttrOf(lastline[n]))) {
RemAttr(lastline[n--], turnon);
}
/* check that there's enough room at end of span */
for (k = 1; k <= magic_cookie_glitch; k++) {
- if (n + k >= screen_columns(SP_PARM)
+ if (n + k >= screen_columns
|| !ISBLANK(lastline[n + k])
- || !SAFE(SP_PARM, AttrOf(lastline[n + k]))) {
+ || !SAFE(AttrOf(lastline[n + k]))) {
failed = TRUE;
TR(TRACE_ATTRS,
("No room at end in %d,%d%s%s",
@@ -859,7 +789,7 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
(ISBLANK(lastline[n + k])
? ""
: ":nonblank"),
- (SAFE(SP_PARM, AttrOf(lastline[n + k]))
+ (SAFE(AttrOf(lastline[n + k]))
? ""
: ":unsafe")));
break;
@@ -876,12 +806,12 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
_traceattr(turnon), i, j));
/* turn off new attributes over span */
- for (p = i; p < screen_lines(SP_PARM); p++) {
- for (; q < screen_columns(SP_PARM); q++) {
+ for (p = i; p < screen_lines; p++) {
+ for (; q < screen_columns; q++) {
attr_t testattr = AttrOf(newscr->_line[p].text[q]);
- if ((testattr & SP_PARM->_xmc_triggers) == rattr)
+ if ((testattr & SP->_xmc_triggers) == rattr)
goto foundend;
- RemAttr(NewScreen(SP_PARM)->_line[p].text[q], turnon);
+ RemAttr(newscr->_line[p].text[q], turnon);
}
q = 0;
}
@@ -907,7 +837,7 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
/* show altered highlights after magic-cookie check */
if (USE_TRACEF(TRACE_UPDATE)) {
_tracef("After magic-cookie check...");
- _tracedump("newscr", NewScreen(SP_PARM));
+ _tracedump("newscr", newscr);
_nc_unlock_global(tracef);
}
#endif /* TRACE */
@@ -915,23 +845,23 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
#endif /* USE_XMC_SUPPORT */
nonempty = 0;
- if (CurScreen(SP_PARM)->_clear || NewScreen(SP_PARM)->_clear) { /* force refresh ? */
- ClrUpdate(NCURSES_SP_ARG);
- CurScreen(SP_PARM)->_clear = FALSE; /* reset flag */
- NewScreen(SP_PARM)->_clear = FALSE; /* reset flag */
+ if (curscr->_clear || newscr->_clear) { /* force refresh ? */
+ ClrUpdate();
+ curscr->_clear = FALSE; /* reset flag */
+ newscr->_clear = FALSE; /* reset flag */
} else {
int changedlines = CHECK_INTERVAL;
- if (check_pending(NCURSES_SP_ARG))
+ if (check_pending())
goto cleanup;
- nonempty = min(screen_lines(SP_PARM), NewScreen(SP_PARM)->_maxy + 1);
+ nonempty = min(screen_lines, newscr->_maxy + 1);
- if (SP_PARM->_scrolling) {
- NCURSES_SP_NAME(_nc_scroll_optimize) (NCURSES_SP_ARG);
+ if (SP->_scrolling) {
+ _nc_scroll_optimize();
}
- nonempty = ClrBottom(NCURSES_SP_ARGx nonempty);
+ nonempty = ClrBottom(nonempty);
TR(TRACE_UPDATE, ("Transforming lines, nonempty %d", nonempty));
for (i = 0; i < nonempty; i++) {
@@ -939,7 +869,7 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
* Here is our line-breakout optimization.
*/
if (changedlines == CHECK_INTERVAL) {
- if (check_pending(NCURSES_SP_ARG))
+ if (check_pending())
goto cleanup;
changedlines = 0;
}
@@ -950,35 +880,35 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
* is normally set by _nc_scroll_window in the
* vertical-movement optimization code,
*/
- if (NewScreen(SP_PARM)->_line[i].firstchar != _NOCHANGE
- || CurScreen(SP_PARM)->_line[i].firstchar != _NOCHANGE) {
- TransformLine(NCURSES_SP_ARGx i);
+ if (newscr->_line[i].firstchar != _NOCHANGE
+ || curscr->_line[i].firstchar != _NOCHANGE) {
+ TransformLine(i);
changedlines++;
}
/* mark line changed successfully */
- if (i <= NewScreen(SP_PARM)->_maxy) {
- MARK_NOCHANGE(NewScreen(SP_PARM), i);
+ if (i <= newscr->_maxy) {
+ MARK_NOCHANGE(newscr, i);
}
- if (i <= CurScreen(SP_PARM)->_maxy) {
- MARK_NOCHANGE(CurScreen(SP_PARM), i);
+ if (i <= curscr->_maxy) {
+ MARK_NOCHANGE(curscr, i);
}
}
}
/* put everything back in sync */
- for (i = nonempty; i <= NewScreen(SP_PARM)->_maxy; i++) {
- MARK_NOCHANGE(NewScreen(SP_PARM), i);
+ for (i = nonempty; i <= newscr->_maxy; i++) {
+ MARK_NOCHANGE(newscr, i);
}
- for (i = nonempty; i <= CurScreen(SP_PARM)->_maxy; i++) {
- MARK_NOCHANGE(CurScreen(SP_PARM), i);
+ for (i = nonempty; i <= curscr->_maxy; i++) {
+ MARK_NOCHANGE(curscr, i);
}
- if (!NewScreen(SP_PARM)->_leaveok) {
- CurScreen(SP_PARM)->_curx = NewScreen(SP_PARM)->_curx;
- CurScreen(SP_PARM)->_cury = NewScreen(SP_PARM)->_cury;
+ if (!newscr->_leaveok) {
+ curscr->_curx = newscr->_curx;
+ curscr->_cury = newscr->_cury;
- GoTo(NCURSES_SP_ARGx CurScreen(SP_PARM)->_cury, CurScreen(SP_PARM)->_curx);
+ GoTo(curscr->_cury, curscr->_curx);
}
cleanup:
@@ -991,10 +921,10 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
#if USE_XMC_SUPPORT
if (magic_cookie_glitch != 0)
#endif
- UpdateAttrs(SP_PARM, normal);
+ UpdateAttrs(normal);
- NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
- WINDOW_ATTRS(CurScreen(SP_PARM)) = WINDOW_ATTRS(NewScreen(SP_PARM));
+ _nc_flush();
+ WINDOW_ATTRS(curscr) = WINDOW_ATTRS(newscr);
#if USE_TRACE_TIMES
(void) times(&after);
@@ -1010,14 +940,6 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0)
returnCode(OK);
}
-#if NCURSES_SP_FUNCS && !defined(USE_TERM_DRIVER)
-NCURSES_EXPORT(int)
-doupdate(void)
-{
- return TINFO_DOUPDATE(CURRENT_SCREEN);
-}
-#endif
-
/*
* ClrBlank(win)
*
@@ -1029,14 +951,14 @@ doupdate(void)
* in the wbkgd() call. Assume 'stdscr' for this case.
*/
#define BCE_ATTRS (A_NORMAL|A_COLOR)
-#define BCE_BKGD(sp,win) (((win) == CurScreen(sp) ? StdScreen(sp) : (win))->_nc_bkgd)
+#define BCE_BKGD(win) (((win) == curscr ? stdscr : (win))->_nc_bkgd)
static NCURSES_INLINE NCURSES_CH_T
-ClrBlank(NCURSES_SP_DCLx WINDOW *win)
+ClrBlank(WINDOW *win)
{
NCURSES_CH_T blank = blankchar;
if (back_color_erase)
- AddAttr(blank, (AttrOf(BCE_BKGD(SP_PARM, win)) & BCE_ATTRS));
+ AddAttr(blank, (AttrOf(BCE_BKGD(win)) & BCE_ATTRS));
return blank;
}
@@ -1048,24 +970,23 @@ ClrBlank(NCURSES_SP_DCLx WINDOW *win)
*/
static void
-ClrUpdate(NCURSES_SP_DCL0)
+ClrUpdate(void)
{
+ int i;
+ NCURSES_CH_T blank = ClrBlank(stdscr);
+ int nonempty = min(screen_lines, newscr->_maxy + 1);
+
TR(TRACE_UPDATE, (T_CALLED("ClrUpdate")));
- if (0 != SP_PARM) {
- int i;
- NCURSES_CH_T blank = ClrBlank(NCURSES_SP_ARGx StdScreen(SP_PARM));
- int nonempty = min(screen_lines(SP_PARM),
- NewScreen(SP_PARM)->_maxy + 1);
- ClearScreen(NCURSES_SP_ARGx blank);
+ ClearScreen(blank);
- TR(TRACE_UPDATE, ("updating screen from scratch"));
+ TR(TRACE_UPDATE, ("updating screen from scratch"));
- nonempty = ClrBottom(NCURSES_SP_ARGx nonempty);
+ nonempty = ClrBottom(nonempty);
+
+ for (i = 0; i < nonempty; i++)
+ TransformLine(i);
- for (i = 0; i < nonempty; i++)
- TransformLine(NCURSES_SP_ARGx i);
- }
TR(TRACE_UPDATE, (T_RETURN("")));
}
@@ -1076,36 +997,35 @@ ClrUpdate(NCURSES_SP_DCL0)
*/
static void
-ClrToEOL(NCURSES_SP_DCLx NCURSES_CH_T blank, bool needclear)
+ClrToEOL(NCURSES_CH_T blank, bool needclear)
{
int j;
- if (SP_PARM != 0) {
- if (CurScreen(SP_PARM) != 0
- && SP_PARM->_cursrow >= 0) {
- for (j = SP_PARM->_curscol; j < screen_columns(SP_PARM); j++) {
- if (j >= 0) {
- NCURSES_CH_T *cp =
- &(CurScreen(SP_PARM)->_line[SP_PARM->_cursrow].text[j]);
-
- if (!CharEq(*cp, blank)) {
- *cp = blank;
- needclear = TRUE;
- }
+ if (curscr != 0
+ && SP->_cursrow >= 0) {
+ for (j = SP->_curscol; j < screen_columns; j++) {
+ if (j >= 0) {
+ NCURSES_CH_T *cp = &(curscr->_line[SP->_cursrow].text[j]);
+
+ if (!CharEq(*cp, blank)) {
+ *cp = blank;
+ needclear = TRUE;
}
}
}
+ } else {
+ needclear = TRUE;
}
- if (needclear && (SP_PARM != 0)) {
- UpdateAttrs(SP_PARM, blank);
+ if (needclear) {
+ UpdateAttrs(blank);
TPUTS_TRACE("clr_eol");
- if (clr_eol && SP_PARM->_el_cost <= (screen_columns(SP_PARM) - SP_PARM->_curscol)) {
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_eol);
+ if (clr_eol && SP->_el_cost <= (screen_columns - SP->_curscol)) {
+ putp(clr_eol);
} else {
- int count = (screen_columns(SP_PARM) - SP_PARM->_curscol);
+ int count = (screen_columns - SP->_curscol);
while (count-- > 0)
- PutChar(NCURSES_SP_ARGx CHREF(blank));
+ PutChar(CHREF(blank));
}
}
}
@@ -1117,29 +1037,23 @@ ClrToEOL(NCURSES_SP_DCLx NCURSES_CH_T blank, bool needclear)
*/
static void
-ClrToEOS(NCURSES_SP_DCLx NCURSES_CH_T blank)
+ClrToEOS(NCURSES_CH_T blank)
{
int row, col;
- if (0 == SP_PARM)
- return;
-
- row = SP_PARM->_cursrow;
- col = SP_PARM->_curscol;
+ row = SP->_cursrow;
+ col = SP->_curscol;
- UpdateAttrs(SP_PARM, blank);
+ UpdateAttrs(blank);
TPUTS_TRACE("clr_eos");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- clr_eos,
- screen_lines(SP_PARM) - row,
- NCURSES_SP_NAME(_nc_outch));
+ tputs(clr_eos, screen_lines - row, _nc_outch);
- while (col < screen_columns(SP_PARM))
- CurScreen(SP_PARM)->_line[row].text[col++] = blank;
+ while (col < screen_columns)
+ curscr->_line[row].text[col++] = blank;
- for (row++; row < screen_lines(SP_PARM); row++) {
- for (col = 0; col < screen_columns(SP_PARM); col++)
- CurScreen(SP_PARM)->_line[row].text[col] = blank;
+ for (row++; row < screen_lines; row++) {
+ for (col = 0; col < screen_columns; col++)
+ curscr->_line[row].text[col] = blank;
}
}
@@ -1151,26 +1065,26 @@ ClrToEOS(NCURSES_SP_DCLx NCURSES_CH_T blank)
* screen, checking if each is blank, and one or more are changed.
*/
static int
-ClrBottom(NCURSES_SP_DCLx int total)
+ClrBottom(int total)
{
int row;
int col;
int top = total;
- int last = min(screen_columns(SP_PARM), NewScreen(SP_PARM)->_maxx + 1);
- NCURSES_CH_T blank = NewScreen(SP_PARM)->_line[total - 1].text[last - 1];
+ int last = min(screen_columns, newscr->_maxx + 1);
+ NCURSES_CH_T blank = newscr->_line[total - 1].text[last - 1];
bool ok;
- if (clr_eos && can_clear_with(NCURSES_SP_ARGx CHREF(blank))) {
+ if (clr_eos && can_clear_with(CHREF(blank))) {
for (row = total - 1; row >= 0; row--) {
for (col = 0, ok = TRUE; ok && col < last; col++) {
- ok = (CharEq(NewScreen(SP_PARM)->_line[row].text[col], blank));
+ ok = (CharEq(newscr->_line[row].text[col], blank));
}
if (!ok)
break;
for (col = 0; ok && col < last; col++) {
- ok = (CharEq(CurScreen(SP_PARM)->_line[row].text[col], blank));
+ ok = (CharEq(curscr->_line[row].text[col], blank));
}
if (!ok)
top = row;
@@ -1178,11 +1092,11 @@ ClrBottom(NCURSES_SP_DCLx int total)
/* don't use clr_eos for just one line if clr_eol available */
if (top < total) {
- GoTo(NCURSES_SP_ARGx top, 0);
- ClrToEOS(NCURSES_SP_ARGx blank);
- if (SP_PARM->oldhash && SP_PARM->newhash) {
- for (row = top; row < screen_lines(SP_PARM); row++)
- SP_PARM->oldhash[row] = SP_PARM->newhash[row];
+ GoTo(top, 0);
+ ClrToEOS(blank);
+ if (SP->oldhash && SP->newhash) {
+ for (row = top; row < screen_lines; row++)
+ SP->oldhash[row] = SP->newhash[row];
}
}
}
@@ -1191,22 +1105,22 @@ ClrBottom(NCURSES_SP_DCLx int total)
#if USE_XMC_SUPPORT
#if USE_WIDEC_SUPPORT
-#define check_xmc_transition(sp, a, b) \
- ((((a)->attr ^ (b)->attr) & ~((a)->attr) & (sp)->_xmc_triggers) != 0)
-#define xmc_turn_on(sp,a,b) check_xmc_transition(sp,&(a), &(b))
+#define check_xmc_transition(a, b) \
+ ((((a)->attr ^ (b)->attr) & ~((a)->attr) & SP->_xmc_triggers) != 0)
+#define xmc_turn_on(a,b) check_xmc_transition(&(a), &(b))
#else
-#define xmc_turn_on(sp,a,b) ((((a)^(b)) & ~(a) & (sp)->_xmc_triggers) != 0)
+#define xmc_turn_on(a,b) ((((a)^(b)) & ~(a) & SP->_xmc_triggers) != 0)
#endif
-#define xmc_new(sp,r,c) NewScreen(sp)->_line[r].text[c]
-#define xmc_turn_off(sp,a,b) xmc_turn_on(sp,b,a)
+#define xmc_new(r,c) newscr->_line[r].text[c]
+#define xmc_turn_off(a,b) xmc_turn_on(b,a)
#endif /* USE_XMC_SUPPORT */
/*
** TransformLine(lineno)
**
** Transform the given line in curscr to the one in newscr, using
-** Insert/Delete Character if idcok && has_ic().
+** Insert/Delete Character if _nc_idcok && has_ic().
**
** firstChar = position of first different character in line
** oLastChar = position of last different character in old line
@@ -1221,19 +1135,19 @@ ClrBottom(NCURSES_SP_DCLx int total)
*/
static void
-TransformLine(NCURSES_SP_DCLx int const lineno)
+TransformLine(int const lineno)
{
int firstChar, oLastChar, nLastChar;
- NCURSES_CH_T *newLine = NewScreen(SP_PARM)->_line[lineno].text;
- NCURSES_CH_T *oldLine = CurScreen(SP_PARM)->_line[lineno].text;
+ NCURSES_CH_T *newLine = newscr->_line[lineno].text;
+ NCURSES_CH_T *oldLine = curscr->_line[lineno].text;
int n;
bool attrchanged = FALSE;
- TR(TRACE_UPDATE, (T_CALLED("TransformLine(%p, %d)"), (void *) SP_PARM, lineno));
+ TR(TRACE_UPDATE, (T_CALLED("TransformLine(%d)"), lineno));
/* copy new hash value to old one */
- if (SP_PARM->oldhash && SP_PARM->newhash)
- SP_PARM->oldhash[lineno] = SP_PARM->newhash[lineno];
+ if (SP->oldhash && SP->newhash)
+ SP->oldhash[lineno] = SP->newhash[lineno];
/*
* If we have colors, there is the possibility of having two color pairs
@@ -1241,20 +1155,19 @@ TransformLine(NCURSES_SP_DCLx int const lineno)
* for this case, and update the old line with the new line's colors when
* they are equivalent.
*/
- if (SP_PARM->_coloron) {
+ if (SP->_coloron) {
int oldPair;
int newPair;
- for (n = 0; n < screen_columns(SP_PARM); n++) {
+ for (n = 0; n < screen_columns; n++) {
if (!CharEq(newLine[n], oldLine[n])) {
oldPair = GetPair(oldLine[n]);
newPair = GetPair(newLine[n]);
if (oldPair != newPair
&& unColor(oldLine[n]) == unColor(newLine[n])) {
- if (oldPair < SP_PARM->_pair_limit
- && newPair < SP_PARM->_pair_limit
- && (SP_PARM->_color_pairs[oldPair] ==
- SP_PARM->_color_pairs[newPair])) {
+ if (oldPair < COLOR_PAIRS
+ && newPair < COLOR_PAIRS
+ && SP->_color_pairs[oldPair] == SP->_color_pairs[newPair]) {
SetPair(oldLine[n], GetPair(newLine[n]));
}
}
@@ -1264,7 +1177,7 @@ TransformLine(NCURSES_SP_DCLx int const lineno)
if (ceol_standout_glitch && clr_eol) {
firstChar = 0;
- while (firstChar < screen_columns(SP_PARM)) {
+ while (firstChar < screen_columns) {
if (!SameAttrOf(newLine[firstChar], oldLine[firstChar])) {
attrchanged = TRUE;
break;
@@ -1276,13 +1189,9 @@ TransformLine(NCURSES_SP_DCLx int const lineno)
firstChar = 0;
if (attrchanged) { /* we may have to disregard the whole line */
- GoTo(NCURSES_SP_ARGx lineno, firstChar);
- ClrToEOL(NCURSES_SP_ARGx
- ClrBlank(NCURSES_SP_ARGx
- CurScreen(SP_PARM)), FALSE);
- PutRange(NCURSES_SP_ARGx
- oldLine, newLine, lineno, 0,
- screen_columns(SP_PARM) - 1);
+ GoTo(lineno, firstChar);
+ ClrToEOL(ClrBlank(curscr), FALSE);
+ PutRange(oldLine, newLine, lineno, 0, (screen_columns - 1));
#if USE_XMC_SUPPORT
/*
@@ -1297,8 +1206,8 @@ TransformLine(NCURSES_SP_DCLx int const lineno)
* following operation.
*/
} else if (magic_cookie_glitch > 0) {
- GoTo(NCURSES_SP_ARGx lineno, firstChar);
- for (n = 0; n < screen_columns(SP_PARM); n++) {
+ GoTo(lineno, firstChar);
+ for (n = 0; n < screen_columns; n++) {
int m = n + magic_cookie_glitch;
/* check for turn-on:
@@ -1307,30 +1216,26 @@ TransformLine(NCURSES_SP_DCLx int const lineno)
*/
if (ISBLANK(newLine[n])
&& ((n > 0
- && xmc_turn_on(SP_PARM, newLine[n - 1], newLine[n]))
+ && xmc_turn_on(newLine[n - 1], newLine[n]))
|| (n == 0
&& lineno > 0
- && xmc_turn_on(SP_PARM,
- xmc_new(SP_PARM, lineno - 1,
- screen_columns(SP_PARM) - 1),
+ && xmc_turn_on(xmc_new(lineno - 1, screen_columns - 1),
newLine[n])))) {
n = m;
}
- PutChar(NCURSES_SP_ARGx CHREF(newLine[n]));
+ PutChar(CHREF(newLine[n]));
/* check for turn-off:
* If we are writing an attributed non-blank, where the
* next cell is blank, and not attributed.
*/
if (!ISBLANK(newLine[n])
- && ((n + 1 < screen_columns(SP_PARM)
- && xmc_turn_off(SP_PARM, newLine[n], newLine[n + 1]))
- || (n + 1 >= screen_columns(SP_PARM)
- && lineno + 1 < screen_lines(SP_PARM)
- && xmc_turn_off(SP_PARM,
- newLine[n],
- xmc_new(SP_PARM, lineno + 1, 0))))) {
+ && ((n + 1 < screen_columns
+ && xmc_turn_off(newLine[n], newLine[n + 1]))
+ || (n + 1 >= screen_columns
+ && lineno + 1 < screen_lines
+ && xmc_turn_off(newLine[n], xmc_new(lineno + 1, 0))))) {
n = m;
}
@@ -1341,42 +1246,38 @@ TransformLine(NCURSES_SP_DCLx int const lineno)
/* it may be cheap to clear leading whitespace with clr_bol */
blank = newLine[0];
- if (clr_bol && can_clear_with(NCURSES_SP_ARGx CHREF(blank))) {
+ if (clr_bol && can_clear_with(CHREF(blank))) {
int oFirstChar, nFirstChar;
- for (oFirstChar = 0;
- oFirstChar < screen_columns(SP_PARM);
- oFirstChar++)
+ for (oFirstChar = 0; oFirstChar < screen_columns; oFirstChar++)
if (!CharEq(oldLine[oFirstChar], blank))
break;
- for (nFirstChar = 0;
- nFirstChar < screen_columns(SP_PARM);
- nFirstChar++)
+ for (nFirstChar = 0; nFirstChar < screen_columns; nFirstChar++)
if (!CharEq(newLine[nFirstChar], blank))
break;
if (nFirstChar == oFirstChar) {
firstChar = nFirstChar;
/* find the first differing character */
- while (firstChar < screen_columns(SP_PARM)
+ while (firstChar < screen_columns
&& CharEq(newLine[firstChar], oldLine[firstChar]))
firstChar++;
} else if (oFirstChar > nFirstChar) {
firstChar = nFirstChar;
} else { /* oFirstChar < nFirstChar */
firstChar = oFirstChar;
- if (SP_PARM->_el1_cost < nFirstChar - oFirstChar) {
- if (nFirstChar >= screen_columns(SP_PARM)
- && SP_PARM->_el_cost <= SP_PARM->_el1_cost) {
- GoTo(NCURSES_SP_ARGx lineno, 0);
- UpdateAttrs(SP_PARM, blank);
+ if (SP->_el1_cost < nFirstChar - oFirstChar) {
+ if (nFirstChar >= screen_columns
+ && SP->_el_cost <= SP->_el1_cost) {
+ GoTo(lineno, 0);
+ UpdateAttrs(blank);
TPUTS_TRACE("clr_eol");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_eol);
+ putp(clr_eol);
} else {
- GoTo(NCURSES_SP_ARGx lineno, nFirstChar - 1);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(lineno, nFirstChar - 1);
+ UpdateAttrs(blank);
TPUTS_TRACE("clr_bol");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_bol);
+ putp(clr_bol);
}
while (firstChar < nFirstChar)
@@ -1385,81 +1286,64 @@ TransformLine(NCURSES_SP_DCLx int const lineno)
}
} else {
/* find the first differing character */
- while (firstChar < screen_columns(SP_PARM)
+ while (firstChar < screen_columns
&& CharEq(newLine[firstChar], oldLine[firstChar]))
firstChar++;
}
/* if there wasn't one, we're done */
- if (firstChar >= screen_columns(SP_PARM)) {
+ if (firstChar >= screen_columns) {
TR(TRACE_UPDATE, (T_RETURN("")));
return;
}
- blank = newLine[screen_columns(SP_PARM) - 1];
+ blank = newLine[screen_columns - 1];
- if (!can_clear_with(NCURSES_SP_ARGx CHREF(blank))) {
+ if (!can_clear_with(CHREF(blank))) {
/* find the last differing character */
- nLastChar = screen_columns(SP_PARM) - 1;
+ nLastChar = screen_columns - 1;
while (nLastChar > firstChar
&& CharEq(newLine[nLastChar], oldLine[nLastChar]))
nLastChar--;
if (nLastChar >= firstChar) {
- GoTo(NCURSES_SP_ARGx lineno, firstChar);
- PutRange(NCURSES_SP_ARGx
- oldLine,
- newLine,
- lineno,
- firstChar,
- nLastChar);
+ GoTo(lineno, firstChar);
+ PutRange(oldLine, newLine, lineno, firstChar, nLastChar);
memcpy(oldLine + firstChar,
newLine + firstChar,
- (unsigned) (nLastChar - firstChar + 1) * sizeof(NCURSES_CH_T));
+ (nLastChar - firstChar + 1) * sizeof(NCURSES_CH_T));
}
TR(TRACE_UPDATE, (T_RETURN("")));
return;
}
/* find last non-blank character on old line */
- oLastChar = screen_columns(SP_PARM) - 1;
+ oLastChar = screen_columns - 1;
while (oLastChar > firstChar && CharEq(oldLine[oLastChar], blank))
oLastChar--;
/* find last non-blank character on new line */
- nLastChar = screen_columns(SP_PARM) - 1;
+ nLastChar = screen_columns - 1;
while (nLastChar > firstChar && CharEq(newLine[nLastChar], blank))
nLastChar--;
if ((nLastChar == firstChar)
- && (SP_PARM->_el_cost < (oLastChar - nLastChar))) {
- GoTo(NCURSES_SP_ARGx lineno, firstChar);
+ && (SP->_el_cost < (oLastChar - nLastChar))) {
+ GoTo(lineno, firstChar);
if (!CharEq(newLine[firstChar], blank))
- PutChar(NCURSES_SP_ARGx CHREF(newLine[firstChar]));
- ClrToEOL(NCURSES_SP_ARGx blank, FALSE);
+ PutChar(CHREF(newLine[firstChar]));
+ ClrToEOL(blank, FALSE);
} else if ((nLastChar != oLastChar)
&& (!CharEq(newLine[nLastChar], oldLine[oLastChar])
- || !(SP_PARM->_nc_sp_idcok
- && NCURSES_SP_NAME(has_ic) (NCURSES_SP_ARG)))) {
- GoTo(NCURSES_SP_ARGx lineno, firstChar);
- if ((oLastChar - nLastChar) > SP_PARM->_el_cost) {
- if (PutRange(NCURSES_SP_ARGx
- oldLine,
- newLine,
- lineno,
- firstChar,
- nLastChar)) {
- GoTo(NCURSES_SP_ARGx lineno, nLastChar + 1);
- }
- ClrToEOL(NCURSES_SP_ARGx blank, FALSE);
+ || !(_nc_idcok && has_ic()))) {
+ GoTo(lineno, firstChar);
+ if ((oLastChar - nLastChar) > SP->_el_cost) {
+ if (PutRange(oldLine, newLine, lineno, firstChar, nLastChar))
+ GoTo(lineno, nLastChar + 1);
+ ClrToEOL(blank, FALSE);
} else {
n = max(nLastChar, oLastChar);
- PutRange(NCURSES_SP_ARGx
- oldLine,
- newLine,
- lineno,
- firstChar,
- n);
+ PutRange(oldLine, newLine, lineno, firstChar, n);
}
} else {
int nLastNonblank = nLastChar;
@@ -1480,13 +1364,8 @@ TransformLine(NCURSES_SP_DCLx int const lineno)
n = min(oLastChar, nLastChar);
if (n >= firstChar) {
- GoTo(NCURSES_SP_ARGx lineno, firstChar);
- PutRange(NCURSES_SP_ARGx
- oldLine,
- newLine,
- lineno,
- firstChar,
- n);
+ GoTo(lineno, firstChar);
+ PutRange(oldLine, newLine, lineno, firstChar, n);
}
if (oLastChar < nLastChar) {
@@ -1497,26 +1376,21 @@ TransformLine(NCURSES_SP_DCLx int const lineno)
--oLastChar;
}
#endif
- GoTo(NCURSES_SP_ARGx lineno, n + 1);
+ GoTo(lineno, n + 1);
if ((nLastChar < nLastNonblank)
- || InsCharCost(SP_PARM, nLastChar - oLastChar) > (m - n)) {
- PutRange(NCURSES_SP_ARGx
- oldLine,
- newLine,
- lineno,
- n + 1,
- m);
+ || InsCharCost(nLastChar - oLastChar) > (m - n)) {
+ PutRange(oldLine, newLine, lineno, n + 1, m);
} else {
- InsStr(NCURSES_SP_ARGx &newLine[n + 1], nLastChar - oLastChar);
+ InsStr(&newLine[n + 1], nLastChar - oLastChar);
}
} else if (oLastChar > nLastChar) {
- GoTo(NCURSES_SP_ARGx lineno, n + 1);
- if (DelCharCost(SP_PARM, oLastChar - nLastChar)
- > SP_PARM->_el_cost + nLastNonblank - (n + 1)) {
- if (PutRange(NCURSES_SP_ARGx oldLine, newLine, lineno,
+ GoTo(lineno, n + 1);
+ if (DelCharCost(oLastChar - nLastChar)
+ > SP->_el_cost + nLastNonblank - (n + 1)) {
+ if (PutRange(oldLine, newLine, lineno,
n + 1, nLastNonblank))
- GoTo(NCURSES_SP_ARGx lineno, nLastNonblank + 1);
- ClrToEOL(NCURSES_SP_ARGx blank, FALSE);
+ GoTo(lineno, nLastNonblank + 1);
+ ClrToEOL(blank, FALSE);
} else {
/*
* The delete-char sequence will
@@ -1526,18 +1400,18 @@ TransformLine(NCURSES_SP_DCLx int const lineno)
* setting the video attributes from
* the last character on the row.
*/
- UpdateAttrs(SP_PARM, blank);
- DelChar(NCURSES_SP_ARGx oLastChar - nLastChar);
+ UpdateAttrs(blank);
+ DelChar(oLastChar - nLastChar);
}
}
}
}
/* update the code's internal representation */
- if (screen_columns(SP_PARM) > firstChar)
+ if (screen_columns > firstChar)
memcpy(oldLine + firstChar,
newLine + firstChar,
- (unsigned) (screen_columns(SP_PARM) - firstChar) * sizeof(NCURSES_CH_T));
+ (screen_columns - firstChar) * sizeof(NCURSES_CH_T));
TR(TRACE_UPDATE, (T_RETURN("")));
return;
}
@@ -1550,7 +1424,7 @@ TransformLine(NCURSES_SP_DCLx int const lineno)
*/
static void
-ClearScreen(NCURSES_SP_DCLx NCURSES_CH_T blank)
+ClearScreen(NCURSES_CH_T blank)
{
int i, j;
bool fast_clear = (clear_screen || clr_eos || clr_eol);
@@ -1558,13 +1432,9 @@ ClearScreen(NCURSES_SP_DCLx NCURSES_CH_T blank)
TR(TRACE_UPDATE, ("ClearScreen() called"));
#if NCURSES_EXT_FUNCS
- if (SP_PARM->_coloron
- && !SP_PARM->_default_color) {
- NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_ARGx
- (short) GET_SCREEN_PAIR(SP_PARM),
- 0,
- FALSE,
- NCURSES_SP_NAME(_nc_outch));
+ if (SP->_coloron
+ && !SP->_default_color) {
+ _nc_do_color(GET_SCREEN_PAIR(SP), 0, FALSE, _nc_outch);
if (!back_color_erase) {
fast_clear = FALSE;
}
@@ -1573,46 +1443,42 @@ ClearScreen(NCURSES_SP_DCLx NCURSES_CH_T blank)
if (fast_clear) {
if (clear_screen) {
- UpdateAttrs(SP_PARM, blank);
+ UpdateAttrs(blank);
TPUTS_TRACE("clear_screen");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clear_screen);
- SP_PARM->_cursrow = SP_PARM->_curscol = 0;
- position_check(SP_PARM,
- SP_PARM->_cursrow,
- SP_PARM->_curscol,
- "ClearScreen");
+ putp(clear_screen);
+ SP->_cursrow = SP->_curscol = 0;
+ position_check(SP->_cursrow, SP->_curscol, "ClearScreen");
} else if (clr_eos) {
- SP_PARM->_cursrow = SP_PARM->_curscol = -1;
- GoTo(NCURSES_SP_ARGx 0, 0);
- UpdateAttrs(SP_PARM, blank);
+ SP->_cursrow = SP->_curscol = -1;
+ GoTo(0, 0);
+
+ UpdateAttrs(blank);
TPUTS_TRACE("clr_eos");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- clr_eos,
- screen_lines(SP_PARM),
- NCURSES_SP_NAME(_nc_outch));
+ tputs(clr_eos, screen_lines, _nc_outch);
} else if (clr_eol) {
- SP_PARM->_cursrow = SP_PARM->_curscol = -1;
- UpdateAttrs(SP_PARM, blank);
- for (i = 0; i < screen_lines(SP_PARM); i++) {
- GoTo(NCURSES_SP_ARGx i, 0);
+ SP->_cursrow = SP->_curscol = -1;
+
+ UpdateAttrs(blank);
+ for (i = 0; i < screen_lines; i++) {
+ GoTo(i, 0);
TPUTS_TRACE("clr_eol");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_eol);
+ putp(clr_eol);
}
- GoTo(NCURSES_SP_ARGx 0, 0);
+ GoTo(0, 0);
}
} else {
- UpdateAttrs(SP_PARM, blank);
- for (i = 0; i < screen_lines(SP_PARM); i++) {
- GoTo(NCURSES_SP_ARGx i, 0);
- for (j = 0; j < screen_columns(SP_PARM); j++)
- PutChar(NCURSES_SP_ARGx CHREF(blank));
+ UpdateAttrs(blank);
+ for (i = 0; i < screen_lines; i++) {
+ GoTo(i, 0);
+ for (j = 0; j < screen_columns; j++)
+ PutChar(CHREF(blank));
}
- GoTo(NCURSES_SP_ARGx 0, 0);
+ GoTo(0, 0);
}
- for (i = 0; i < screen_lines(SP_PARM); i++) {
- for (j = 0; j < screen_columns(SP_PARM); j++)
- CurScreen(SP_PARM)->_line[i].text[j] = blank;
+ for (i = 0; i < screen_lines; i++) {
+ for (j = 0; j < screen_columns; j++)
+ curscr->_line[i].text[j] = blank;
}
TR(TRACE_UPDATE, ("screen cleared"));
@@ -1626,54 +1492,49 @@ ClearScreen(NCURSES_SP_DCLx NCURSES_CH_T blank)
*/
static void
-InsStr(NCURSES_SP_DCLx NCURSES_CH_T * line, int count)
+InsStr(NCURSES_CH_T * line, int count)
{
- TR(TRACE_UPDATE, ("InsStr(%p, %p,%d) called",
- (void *) SP_PARM,
- (void *) line, count));
+ TR(TRACE_UPDATE, ("InsStr(%p,%d) called", line, count));
/* Prefer parm_ich as it has the smallest cost - no need to shift
* the whole line on each character. */
/* The order must match that of InsCharCost. */
if (parm_ich) {
TPUTS_TRACE("parm_ich");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(parm_ich, count),
- count,
- NCURSES_SP_NAME(_nc_outch));
+ tputs(TPARM_1(parm_ich, count), count, _nc_outch);
while (count) {
- PutAttrChar(NCURSES_SP_ARGx CHREF(*line));
+ PutAttrChar(CHREF(*line));
line++;
count--;
}
} else if (enter_insert_mode && exit_insert_mode) {
TPUTS_TRACE("enter_insert_mode");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx enter_insert_mode);
+ putp(enter_insert_mode);
while (count) {
- PutAttrChar(NCURSES_SP_ARGx CHREF(*line));
+ PutAttrChar(CHREF(*line));
if (insert_padding) {
TPUTS_TRACE("insert_padding");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_padding);
+ putp(insert_padding);
}
line++;
count--;
}
TPUTS_TRACE("exit_insert_mode");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_insert_mode);
+ putp(exit_insert_mode);
} else {
while (count) {
TPUTS_TRACE("insert_character");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_character);
- PutAttrChar(NCURSES_SP_ARGx CHREF(*line));
+ putp(insert_character);
+ PutAttrChar(CHREF(*line));
if (insert_padding) {
TPUTS_TRACE("insert_padding");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_padding);
+ putp(insert_padding);
}
line++;
count--;
}
}
- position_check(SP_PARM, SP_PARM->_cursrow, SP_PARM->_curscol, "InsStr");
+ position_check(SP->_cursrow, SP->_curscol, "InsStr");
}
/*
@@ -1684,25 +1545,22 @@ InsStr(NCURSES_SP_DCLx NCURSES_CH_T * line, int count)
*/
static void
-DelChar(NCURSES_SP_DCLx int count)
+DelChar(int count)
{
int n;
- TR(TRACE_UPDATE, ("DelChar(%p, %d) called, position = (%ld,%ld)",
- (void *) SP_PARM, count,
- (long) NewScreen(SP_PARM)->_cury,
- (long) NewScreen(SP_PARM)->_curx));
+ TR(TRACE_UPDATE, ("DelChar(%d) called, position = (%ld,%ld)",
+ count,
+ (long) newscr->_cury,
+ (long) newscr->_curx));
if (parm_dch) {
TPUTS_TRACE("parm_dch");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(parm_dch, count),
- count,
- NCURSES_SP_NAME(_nc_outch));
+ tputs(TPARM_1(parm_dch, count), count, _nc_outch);
} else {
for (n = 0; n < count; n++) {
TPUTS_TRACE("delete_character");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_character);
+ putp(delete_character);
}
}
}
@@ -1741,66 +1599,54 @@ DelChar(NCURSES_SP_DCLx int count)
/* Try to scroll up assuming given csr (miny, maxy). Returns ERR on failure */
static int
-scroll_csr_forward(NCURSES_SP_DCLx
- int n,
- int top,
- int bot,
- int miny,
- int maxy,
- NCURSES_CH_T blank)
+scroll_csr_forward(int n, int top, int bot, int miny, int maxy, NCURSES_CH_T blank)
{
int i;
if (n == 1 && scroll_forward && top == miny && bot == maxy) {
- GoTo(NCURSES_SP_ARGx bot, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(bot, 0);
+ UpdateAttrs(blank);
TPUTS_TRACE("scroll_forward");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_forward);
+ putp(scroll_forward);
} else if (n == 1 && delete_line && bot == maxy) {
- GoTo(NCURSES_SP_ARGx top, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(top, 0);
+ UpdateAttrs(blank);
TPUTS_TRACE("delete_line");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
+ putp(delete_line);
} else if (parm_index && top == miny && bot == maxy) {
- GoTo(NCURSES_SP_ARGx bot, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(bot, 0);
+ UpdateAttrs(blank);
TPUTS_TRACE("parm_index");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_2(parm_index, n, 0),
- n,
- NCURSES_SP_NAME(_nc_outch));
+ tputs(TPARM_2(parm_index, n, 0), n, _nc_outch);
} else if (parm_delete_line && bot == maxy) {
- GoTo(NCURSES_SP_ARGx top, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(top, 0);
+ UpdateAttrs(blank);
TPUTS_TRACE("parm_delete_line");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_2(parm_delete_line, n, 0),
- n,
- NCURSES_SP_NAME(_nc_outch));
+ tputs(TPARM_2(parm_delete_line, n, 0), n, _nc_outch);
} else if (scroll_forward && top == miny && bot == maxy) {
- GoTo(NCURSES_SP_ARGx bot, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(bot, 0);
+ UpdateAttrs(blank);
for (i = 0; i < n; i++) {
TPUTS_TRACE("scroll_forward");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_forward);
+ putp(scroll_forward);
}
} else if (delete_line && bot == maxy) {
- GoTo(NCURSES_SP_ARGx top, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(top, 0);
+ UpdateAttrs(blank);
for (i = 0; i < n; i++) {
TPUTS_TRACE("delete_line");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
+ putp(delete_line);
}
} else
return ERR;
#if NCURSES_EXT_FUNCS
- if (FILL_BCE(SP_PARM)) {
+ if (FILL_BCE()) {
int j;
for (i = 0; i < n; i++) {
- GoTo(NCURSES_SP_ARGx bot - i, 0);
- for (j = 0; j < screen_columns(SP_PARM); j++)
- PutChar(NCURSES_SP_ARGx CHREF(blank));
+ GoTo(bot - i, 0);
+ for (j = 0; j < screen_columns; j++)
+ PutChar(CHREF(blank));
}
}
#endif
@@ -1810,66 +1656,55 @@ scroll_csr_forward(NCURSES_SP_DCLx
/* Try to scroll down assuming given csr (miny, maxy). Returns ERR on failure */
/* n > 0 */
static int
-scroll_csr_backward(NCURSES_SP_DCLx
- int n,
- int top,
- int bot,
- int miny,
- int maxy,
+scroll_csr_backward(int n, int top, int bot, int miny, int maxy,
NCURSES_CH_T blank)
{
int i;
if (n == 1 && scroll_reverse && top == miny && bot == maxy) {
- GoTo(NCURSES_SP_ARGx top, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(top, 0);
+ UpdateAttrs(blank);
TPUTS_TRACE("scroll_reverse");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_reverse);
+ putp(scroll_reverse);
} else if (n == 1 && insert_line && bot == maxy) {
- GoTo(NCURSES_SP_ARGx top, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(top, 0);
+ UpdateAttrs(blank);
TPUTS_TRACE("insert_line");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
+ putp(insert_line);
} else if (parm_rindex && top == miny && bot == maxy) {
- GoTo(NCURSES_SP_ARGx top, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(top, 0);
+ UpdateAttrs(blank);
TPUTS_TRACE("parm_rindex");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_2(parm_rindex, n, 0),
- n,
- NCURSES_SP_NAME(_nc_outch));
+ tputs(TPARM_2(parm_rindex, n, 0), n, _nc_outch);
} else if (parm_insert_line && bot == maxy) {
- GoTo(NCURSES_SP_ARGx top, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(top, 0);
+ UpdateAttrs(blank);
TPUTS_TRACE("parm_insert_line");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_2(parm_insert_line, n, 0),
- n,
- NCURSES_SP_NAME(_nc_outch));
+ tputs(TPARM_2(parm_insert_line, n, 0), n, _nc_outch);
} else if (scroll_reverse && top == miny && bot == maxy) {
- GoTo(NCURSES_SP_ARGx top, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(top, 0);
+ UpdateAttrs(blank);
for (i = 0; i < n; i++) {
TPUTS_TRACE("scroll_reverse");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_reverse);
+ putp(scroll_reverse);
}
} else if (insert_line && bot == maxy) {
- GoTo(NCURSES_SP_ARGx top, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(top, 0);
+ UpdateAttrs(blank);
for (i = 0; i < n; i++) {
TPUTS_TRACE("insert_line");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
+ putp(insert_line);
}
} else
return ERR;
#if NCURSES_EXT_FUNCS
- if (FILL_BCE(SP_PARM)) {
+ if (FILL_BCE()) {
int j;
for (i = 0; i < n; i++) {
- GoTo(NCURSES_SP_ARGx top + i, 0);
- for (j = 0; j < screen_columns(SP_PARM); j++)
- PutChar(NCURSES_SP_ARGx CHREF(blank));
+ GoTo(top + i, 0);
+ for (j = 0; j < screen_columns; j++)
+ PutChar(CHREF(blank));
}
}
#endif
@@ -1879,46 +1714,40 @@ scroll_csr_backward(NCURSES_SP_DCLx
/* scroll by using delete_line at del and insert_line at ins */
/* n > 0 */
static int
-scroll_idl(NCURSES_SP_DCLx int n, int del, int ins, NCURSES_CH_T blank)
+scroll_idl(int n, int del, int ins, NCURSES_CH_T blank)
{
int i;
if (!((parm_delete_line || delete_line) && (parm_insert_line || insert_line)))
return ERR;
- GoTo(NCURSES_SP_ARGx del, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(del, 0);
+ UpdateAttrs(blank);
if (n == 1 && delete_line) {
TPUTS_TRACE("delete_line");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
+ putp(delete_line);
} else if (parm_delete_line) {
TPUTS_TRACE("parm_delete_line");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_2(parm_delete_line, n, 0),
- n,
- NCURSES_SP_NAME(_nc_outch));
+ tputs(TPARM_2(parm_delete_line, n, 0), n, _nc_outch);
} else { /* if (delete_line) */
for (i = 0; i < n; i++) {
TPUTS_TRACE("delete_line");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
+ putp(delete_line);
}
}
- GoTo(NCURSES_SP_ARGx ins, 0);
- UpdateAttrs(SP_PARM, blank);
+ GoTo(ins, 0);
+ UpdateAttrs(blank);
if (n == 1 && insert_line) {
TPUTS_TRACE("insert_line");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
+ putp(insert_line);
} else if (parm_insert_line) {
TPUTS_TRACE("parm_insert_line");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_2(parm_insert_line, n, 0),
- n,
- NCURSES_SP_NAME(_nc_outch));
+ tputs(TPARM_2(parm_insert_line, n, 0), n, _nc_outch);
} else { /* if (insert_line) */
for (i = 0; i < n; i++) {
TPUTS_TRACE("insert_line");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
+ putp(insert_line);
}
}
@@ -1934,25 +1763,15 @@ scroll_idl(NCURSES_SP_DCLx int n, int del, int ins, NCURSES_CH_T blank)
* save/restore cursor capabilities if the terminal has them.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_scrolln) (NCURSES_SP_DCLx
- int n,
- int top,
- int bot,
- int maxy)
+_nc_scrolln(int n, int top, int bot, int maxy)
/* scroll region from top to bot by n lines */
{
- NCURSES_CH_T blank;
+ NCURSES_CH_T blank = ClrBlank(stdscr);
int i;
bool cursor_saved = FALSE;
int res;
- TR(TRACE_MOVE, ("_nc_scrolln(%p, %d, %d, %d, %d)",
- (void *) SP_PARM, n, top, bot, maxy));
-
- if (!IsValidScreen(SP_PARM))
- return (ERR);
-
- blank = ClrBlank(NCURSES_SP_ARGx StdScreen(SP_PARM));
+ TR(TRACE_MOVE, ("mvcur_scrolln(%d, %d, %d, %d)", n, top, bot, maxy));
#if USE_XMC_SUPPORT
/*
@@ -1968,36 +1787,34 @@ NCURSES_SP_NAME(_nc_scrolln) (NCURSES_SP_DCLx
* Explicitly clear if stuff pushed off top of region might
* be saved by the terminal.
*/
- res = scroll_csr_forward(NCURSES_SP_ARGx n, top, bot, 0, maxy, blank);
+ res = scroll_csr_forward(n, top, bot, 0, maxy, blank);
if (res == ERR && change_scroll_region) {
if ((((n == 1 && scroll_forward) || parm_index)
- && (SP_PARM->_cursrow == bot || SP_PARM->_cursrow == bot - 1))
+ && (SP->_cursrow == bot || SP->_cursrow == bot - 1))
&& save_cursor && restore_cursor) {
cursor_saved = TRUE;
TPUTS_TRACE("save_cursor");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx save_cursor);
+ putp(save_cursor);
}
TPUTS_TRACE("change_scroll_region");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
- TPARM_2(change_scroll_region, top, bot));
+ putp(TPARM_2(change_scroll_region, top, bot));
if (cursor_saved) {
TPUTS_TRACE("restore_cursor");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx restore_cursor);
+ putp(restore_cursor);
} else {
- SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ SP->_cursrow = SP->_curscol = -1;
}
- res = scroll_csr_forward(NCURSES_SP_ARGx n, top, bot, top, bot, blank);
+ res = scroll_csr_forward(n, top, bot, top, bot, blank);
TPUTS_TRACE("change_scroll_region");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
- TPARM_2(change_scroll_region, 0, maxy));
- SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ putp(TPARM_2(change_scroll_region, 0, maxy));
+ SP->_cursrow = SP->_curscol = -1;
}
- if (res == ERR && SP_PARM->_nc_sp_idlok)
- res = scroll_idl(NCURSES_SP_ARGx n, top, bot - n + 1, blank);
+ if (res == ERR && _nc_idlok)
+ res = scroll_idl(n, top, bot - n + 1, blank);
/*
* Clear the newly shifted-in text.
@@ -2006,49 +1823,44 @@ NCURSES_SP_NAME(_nc_scrolln) (NCURSES_SP_DCLx
&& (non_dest_scroll_region || (memory_below && bot == maxy))) {
static const NCURSES_CH_T blank2 = NewChar(BLANK_TEXT);
if (bot == maxy && clr_eos) {
- GoTo(NCURSES_SP_ARGx bot - n + 1, 0);
- ClrToEOS(NCURSES_SP_ARGx blank2);
+ GoTo(bot - n + 1, 0);
+ ClrToEOS(blank2);
} else {
for (i = 0; i < n; i++) {
- GoTo(NCURSES_SP_ARGx bot - i, 0);
- ClrToEOL(NCURSES_SP_ARGx blank2, FALSE);
+ GoTo(bot - i, 0);
+ ClrToEOL(blank2, FALSE);
}
}
}
} else { /* (n < 0) - scroll down (backward) */
- res = scroll_csr_backward(NCURSES_SP_ARGx -n, top, bot, 0, maxy, blank);
+ res = scroll_csr_backward(-n, top, bot, 0, maxy, blank);
if (res == ERR && change_scroll_region) {
- if (top != 0
- && (SP_PARM->_cursrow == top ||
- SP_PARM->_cursrow == top - 1)
+ if (top != 0 && (SP->_cursrow == top || SP->_cursrow == top - 1)
&& save_cursor && restore_cursor) {
cursor_saved = TRUE;
TPUTS_TRACE("save_cursor");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx save_cursor);
+ putp(save_cursor);
}
TPUTS_TRACE("change_scroll_region");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
- TPARM_2(change_scroll_region, top, bot));
+ putp(TPARM_2(change_scroll_region, top, bot));
if (cursor_saved) {
TPUTS_TRACE("restore_cursor");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx restore_cursor);
+ putp(restore_cursor);
} else {
- SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ SP->_cursrow = SP->_curscol = -1;
}
- res = scroll_csr_backward(NCURSES_SP_ARGx
- -n, top, bot, top, bot, blank);
+ res = scroll_csr_backward(-n, top, bot, top, bot, blank);
TPUTS_TRACE("change_scroll_region");
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
- TPARM_2(change_scroll_region, 0, maxy));
- SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ putp(TPARM_2(change_scroll_region, 0, maxy));
+ SP->_cursrow = SP->_curscol = -1;
}
- if (res == ERR && SP_PARM->_nc_sp_idlok)
- res = scroll_idl(NCURSES_SP_ARGx -n, bot + n + 1, top, blank);
+ if (res == ERR && _nc_idlok)
+ res = scroll_idl(-n, bot + n + 1, top, blank);
/*
* Clear the newly shifted-in text.
@@ -2057,8 +1869,8 @@ NCURSES_SP_NAME(_nc_scrolln) (NCURSES_SP_DCLx
&& (non_dest_scroll_region || (memory_above && top == 0))) {
static const NCURSES_CH_T blank2 = NewChar(BLANK_TEXT);
for (i = 0; i < -n; i++) {
- GoTo(NCURSES_SP_ARGx i + top, 0);
- ClrToEOL(NCURSES_SP_ARGx blank2, FALSE);
+ GoTo(i + top, 0);
+ ClrToEOL(blank2, FALSE);
}
}
}
@@ -2066,163 +1878,99 @@ NCURSES_SP_NAME(_nc_scrolln) (NCURSES_SP_DCLx
if (res == ERR)
return (ERR);
- _nc_scroll_window(CurScreen(SP_PARM), n,
- (NCURSES_SIZE_T) top,
- (NCURSES_SIZE_T) bot,
- blank);
+ _nc_scroll_window(curscr, n, top, bot, blank);
/* shift hash values too - they can be reused */
- NCURSES_SP_NAME(_nc_scroll_oldhash) (NCURSES_SP_ARGx n, top, bot);
+ _nc_scroll_oldhash(n, top, bot);
return (OK);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-_nc_scrolln(int n, int top, int bot, int maxy)
-{
- return NCURSES_SP_NAME(_nc_scrolln) (CURRENT_SCREEN, n, top, bot, maxy);
-}
-#endif
-
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_screen_resume) (NCURSES_SP_DCL0)
+_nc_screen_resume(void)
{
- assert(SP_PARM);
-
/* make sure terminal is in a sane known state */
- SetAttr(SCREEN_ATTRS(SP_PARM), A_NORMAL);
- NewScreen(SP_PARM)->_clear = TRUE;
+ SetAttr(SCREEN_ATTRS(SP), A_NORMAL);
+ newscr->_clear = TRUE;
/* reset color pairs and definitions */
- if (SP_PARM->_coloron || SP_PARM->_color_defs)
- NCURSES_SP_NAME(_nc_reset_colors) (NCURSES_SP_ARG);
+ if (SP->_coloron || SP->_color_defs)
+ _nc_reset_colors();
/* restore user-defined colors, if any */
- if (SP_PARM->_color_defs < 0) {
+ if (SP->_color_defs < 0) {
int n;
- SP_PARM->_color_defs = -(SP_PARM->_color_defs);
- for (n = 0; n < SP_PARM->_color_defs; ++n) {
- if (SP_PARM->_color_table[n].init) {
- NCURSES_SP_NAME(init_color) (NCURSES_SP_ARGx
- (short) n,
- SP_PARM->_color_table[n].r,
- SP_PARM->_color_table[n].g,
- SP_PARM->_color_table[n].b);
+ SP->_color_defs = -(SP->_color_defs);
+ for (n = 0; n < SP->_color_defs; ++n) {
+ if (SP->_color_table[n].init) {
+ init_color(n,
+ SP->_color_table[n].r,
+ SP->_color_table[n].g,
+ SP->_color_table[n].b);
}
}
}
if (exit_attribute_mode)
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_attribute_mode);
+ putp(exit_attribute_mode);
else {
/* turn off attributes */
if (exit_alt_charset_mode)
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_alt_charset_mode);
+ putp(exit_alt_charset_mode);
if (exit_standout_mode)
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_standout_mode);
+ putp(exit_standout_mode);
if (exit_underline_mode)
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_underline_mode);
+ putp(exit_underline_mode);
}
if (exit_insert_mode)
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_insert_mode);
+ putp(exit_insert_mode);
if (enter_am_mode && exit_am_mode)
- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
- (auto_right_margin
- ? enter_am_mode
- : exit_am_mode));
+ putp(auto_right_margin ? enter_am_mode : exit_am_mode);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_screen_resume(void)
-{
- NCURSES_SP_NAME(_nc_screen_resume) (CURRENT_SCREEN);
-}
-#endif
-
-NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_screen_init) (NCURSES_SP_DCL0)
-{
- NCURSES_SP_NAME(_nc_screen_resume) (NCURSES_SP_ARG);
-}
-
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(void)
_nc_screen_init(void)
{
- NCURSES_SP_NAME(_nc_screen_init) (CURRENT_SCREEN);
+ _nc_screen_resume();
}
-#endif
/* wrap up screen handling */
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_screen_wrap) (NCURSES_SP_DCL0)
+_nc_screen_wrap(void)
{
- if (SP_PARM == 0)
- return;
-
- UpdateAttrs(SP_PARM, normal);
+ UpdateAttrs(normal);
#if NCURSES_EXT_FUNCS
- if (SP_PARM->_coloron
- && !SP_PARM->_default_color) {
+ if (SP->_coloron
+ && !SP->_default_color) {
static const NCURSES_CH_T blank = NewChar(BLANK_TEXT);
- SP_PARM->_default_color = TRUE;
- NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_ARGx
- -1,
- 0,
- FALSE,
- NCURSES_SP_NAME(_nc_outch));
- SP_PARM->_default_color = FALSE;
-
- TINFO_MVCUR(NCURSES_SP_ARGx
- SP_PARM->_cursrow,
- SP_PARM->_curscol,
- screen_lines(SP_PARM) - 1,
- 0);
-
- ClrToEOL(NCURSES_SP_ARGx blank, TRUE);
+ SP->_default_color = TRUE;
+ _nc_do_color(-1, 0, FALSE, _nc_outch);
+ SP->_default_color = FALSE;
+
+ mvcur(SP->_cursrow, SP->_curscol, screen_lines - 1, 0);
+
+ ClrToEOL(blank, TRUE);
}
#endif
- if (SP_PARM->_color_defs) {
- NCURSES_SP_NAME(_nc_reset_colors) (NCURSES_SP_ARG);
+ if (SP->_color_defs) {
+ _nc_reset_colors();
}
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_screen_wrap(void)
-{
- NCURSES_SP_NAME(_nc_screen_wrap) (CURRENT_SCREEN);
-}
-#endif
-
#if USE_XMC_SUPPORT
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_do_xmc_glitch) (NCURSES_SP_DCLx attr_t previous)
+_nc_do_xmc_glitch(attr_t previous)
{
- if (SP_PARM != 0) {
- attr_t chg = XMC_CHANGES(previous ^ AttrOf(SCREEN_ATTRS(SP_PARM)));
-
- while (chg != 0) {
- if (chg & 1) {
- SP_PARM->_curscol += magic_cookie_glitch;
- if (SP_PARM->_curscol >= SP_PARM->_columns)
- wrap_cursor(NCURSES_SP_ARG);
- TR(TRACE_UPDATE, ("bumped to %d,%d after cookie",
- SP_PARM->_cursrow, SP_PARM->_curscol));
- }
- chg >>= 1;
+ attr_t chg = XMC_CHANGES(previous ^ AttrOf(SCREEN_ATTRS(SP)));
+
+ while (chg != 0) {
+ if (chg & 1) {
+ SP->_curscol += magic_cookie_glitch;
+ if (SP->_curscol >= SP->_columns)
+ wrap_cursor();
+ TR(TRACE_UPDATE, ("bumped to %d,%d after cookie", SP->_cursrow, SP->_curscol));
}
+ chg >>= 1;
}
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_do_xmc_glitch(attr_t previous)
-{
- NCURSES_SP_NAME(_nc_do_xmc_glitch) (CURRENT_SCREEN, previous);
-}
-#endif
-
#endif /* USE_XMC_SUPPORT */
diff --git a/ncurses/wcwidth.h b/ncurses/wcwidth.h
deleted file mode 100644
index 61e822ad679f..000000000000
--- a/ncurses/wcwidth.h
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * This is an implementation of wcwidth() and wcswidth() (defined in
- * IEEE Std 1002.1-2001) for Unicode.
- *
- * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html
- * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html
- *
- * In fixed-width output devices, Latin characters all occupy a single
- * "cell" position of equal width, whereas ideographic CJK characters
- * occupy two such cells. Interoperability between terminal-line
- * applications and (teletype-style) character terminals using the
- * UTF-8 encoding requires agreement on which character should advance
- * the cursor by how many cell positions. No established formal
- * standards exist at present on which Unicode character shall occupy
- * how many cell positions on character terminals. These routines are
- * a first attempt of defining such behavior based on simple rules
- * applied to data provided by the Unicode Consortium.
- *
- * For some graphical characters, the Unicode standard explicitly
- * defines a character-cell width via the definition of the East Asian
- * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.
- * In all these cases, there is no ambiguity about which width a
- * terminal shall use. For characters in the East Asian Ambiguous (A)
- * class, the width choice depends purely on a preference of backward
- * compatibility with either historic CJK or Western practice.
- * Choosing single-width for these characters is easy to justify as
- * the appropriate long-term solution, as the CJK practice of
- * displaying these characters as double-width comes from historic
- * implementation simplicity (8-bit encoded characters were displayed
- * single-width and 16-bit ones double-width, even for Greek,
- * Cyrillic, etc.) and not any typographic considerations.
- *
- * Much less clear is the choice of width for the Not East Asian
- * (Neutral) class. Existing practice does not dictate a width for any
- * of these characters. It would nevertheless make sense
- * typographically to allocate two character cells to characters such
- * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be
- * represented adequately with a single-width glyph. The following
- * routines at present merely assign a single-cell width to all
- * neutral characters, in the interest of simplicity. This is not
- * entirely satisfactory and should be reconsidered before
- * establishing a formal standard in this area. At the moment, the
- * decision which Not East Asian (Neutral) characters should be
- * represented by double-width glyphs cannot yet be answered by
- * applying a simple rule from the Unicode database content. Setting
- * up a proper standard for the behavior of UTF-8 character terminals
- * will require a careful analysis not only of each Unicode character,
- * but also of each presentation form, something the author of these
- * routines has avoided to do so far.
- *
- * http://www.unicode.org/unicode/reports/tr11/
- *
- * Markus Kuhn -- 2007-05-26 (Unicode 5.0)
- *
- * Permission to use, copy, modify, and distribute this software
- * for any purpose and without fee is hereby granted. The author
- * disclaims all warranties with regard to this software.
- *
- * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
- */
-
-#include <wchar.h>
-
-struct interval {
- int first;
- int last;
-};
-
-/* auxiliary function for binary search in interval table */
-static int bisearch(wchar_t ucs, const struct interval *table, int max) {
- int min = 0;
- int mid;
-
- if (ucs < table[0].first || ucs > table[max].last)
- return 0;
- while (max >= min) {
- mid = (min + max) / 2;
- if (ucs > table[mid].last)
- min = mid + 1;
- else if (ucs < table[mid].first)
- max = mid - 1;
- else
- return 1;
- }
-
- return 0;
-}
-
-
-/* The following two functions define the column width of an ISO 10646
- * character as follows:
- *
- * - The null character (U+0000) has a column width of 0.
- *
- * - Other C0/C1 control characters and DEL will lead to a return
- * value of -1.
- *
- * - Non-spacing and enclosing combining characters (general
- * category code Mn or Me in the Unicode database) have a
- * column width of 0.
- *
- * - SOFT HYPHEN (U+00AD) has a column width of 1.
- *
- * - Other format characters (general category code Cf in the Unicode
- * database) and ZERO WIDTH SPACE (U+200B) have a column width of 0.
- *
- * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF)
- * have a column width of 0.
- *
- * - Spacing characters in the East Asian Wide (W) or East Asian
- * Full-width (F) category as defined in Unicode Technical
- * Report #11 have a column width of 2.
- *
- * - All remaining characters (including all printable
- * ISO 8859-1 and WGL4 characters, Unicode control characters,
- * etc.) have a column width of 1.
- *
- * This implementation assumes that wchar_t characters are encoded
- * in ISO 10646.
- */
-
-int mk_wcwidth(wchar_t ucs)
-{
- /* sorted list of non-overlapping intervals of non-spacing characters */
- /* generated by "uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c" */
- static const struct interval combining[] = {
- { 0x0300, 0x036F }, { 0x0483, 0x0486 }, { 0x0488, 0x0489 },
- { 0x0591, 0x05BD }, { 0x05BF, 0x05BF }, { 0x05C1, 0x05C2 },
- { 0x05C4, 0x05C5 }, { 0x05C7, 0x05C7 }, { 0x0600, 0x0603 },
- { 0x0610, 0x0615 }, { 0x064B, 0x065E }, { 0x0670, 0x0670 },
- { 0x06D6, 0x06E4 }, { 0x06E7, 0x06E8 }, { 0x06EA, 0x06ED },
- { 0x070F, 0x070F }, { 0x0711, 0x0711 }, { 0x0730, 0x074A },
- { 0x07A6, 0x07B0 }, { 0x07EB, 0x07F3 }, { 0x0901, 0x0902 },
- { 0x093C, 0x093C }, { 0x0941, 0x0948 }, { 0x094D, 0x094D },
- { 0x0951, 0x0954 }, { 0x0962, 0x0963 }, { 0x0981, 0x0981 },
- { 0x09BC, 0x09BC }, { 0x09C1, 0x09C4 }, { 0x09CD, 0x09CD },
- { 0x09E2, 0x09E3 }, { 0x0A01, 0x0A02 }, { 0x0A3C, 0x0A3C },
- { 0x0A41, 0x0A42 }, { 0x0A47, 0x0A48 }, { 0x0A4B, 0x0A4D },
- { 0x0A70, 0x0A71 }, { 0x0A81, 0x0A82 }, { 0x0ABC, 0x0ABC },
- { 0x0AC1, 0x0AC5 }, { 0x0AC7, 0x0AC8 }, { 0x0ACD, 0x0ACD },
- { 0x0AE2, 0x0AE3 }, { 0x0B01, 0x0B01 }, { 0x0B3C, 0x0B3C },
- { 0x0B3F, 0x0B3F }, { 0x0B41, 0x0B43 }, { 0x0B4D, 0x0B4D },
- { 0x0B56, 0x0B56 }, { 0x0B82, 0x0B82 }, { 0x0BC0, 0x0BC0 },
- { 0x0BCD, 0x0BCD }, { 0x0C3E, 0x0C40 }, { 0x0C46, 0x0C48 },
- { 0x0C4A, 0x0C4D }, { 0x0C55, 0x0C56 }, { 0x0CBC, 0x0CBC },
- { 0x0CBF, 0x0CBF }, { 0x0CC6, 0x0CC6 }, { 0x0CCC, 0x0CCD },
- { 0x0CE2, 0x0CE3 }, { 0x0D41, 0x0D43 }, { 0x0D4D, 0x0D4D },
- { 0x0DCA, 0x0DCA }, { 0x0DD2, 0x0DD4 }, { 0x0DD6, 0x0DD6 },
- { 0x0E31, 0x0E31 }, { 0x0E34, 0x0E3A }, { 0x0E47, 0x0E4E },
- { 0x0EB1, 0x0EB1 }, { 0x0EB4, 0x0EB9 }, { 0x0EBB, 0x0EBC },
- { 0x0EC8, 0x0ECD }, { 0x0F18, 0x0F19 }, { 0x0F35, 0x0F35 },
- { 0x0F37, 0x0F37 }, { 0x0F39, 0x0F39 }, { 0x0F71, 0x0F7E },
- { 0x0F80, 0x0F84 }, { 0x0F86, 0x0F87 }, { 0x0F90, 0x0F97 },
- { 0x0F99, 0x0FBC }, { 0x0FC6, 0x0FC6 }, { 0x102D, 0x1030 },
- { 0x1032, 0x1032 }, { 0x1036, 0x1037 }, { 0x1039, 0x1039 },
- { 0x1058, 0x1059 }, { 0x1160, 0x11FF }, { 0x135F, 0x135F },
- { 0x1712, 0x1714 }, { 0x1732, 0x1734 }, { 0x1752, 0x1753 },
- { 0x1772, 0x1773 }, { 0x17B4, 0x17B5 }, { 0x17B7, 0x17BD },
- { 0x17C6, 0x17C6 }, { 0x17C9, 0x17D3 }, { 0x17DD, 0x17DD },
- { 0x180B, 0x180D }, { 0x18A9, 0x18A9 }, { 0x1920, 0x1922 },
- { 0x1927, 0x1928 }, { 0x1932, 0x1932 }, { 0x1939, 0x193B },
- { 0x1A17, 0x1A18 }, { 0x1B00, 0x1B03 }, { 0x1B34, 0x1B34 },
- { 0x1B36, 0x1B3A }, { 0x1B3C, 0x1B3C }, { 0x1B42, 0x1B42 },
- { 0x1B6B, 0x1B73 }, { 0x1DC0, 0x1DCA }, { 0x1DFE, 0x1DFF },
- { 0x200B, 0x200F }, { 0x202A, 0x202E }, { 0x2060, 0x2063 },
- { 0x206A, 0x206F }, { 0x20D0, 0x20EF }, { 0x302A, 0x302F },
- { 0x3099, 0x309A }, { 0xA806, 0xA806 }, { 0xA80B, 0xA80B },
- { 0xA825, 0xA826 }, { 0xFB1E, 0xFB1E }, { 0xFE00, 0xFE0F },
- { 0xFE20, 0xFE23 }, { 0xFEFF, 0xFEFF }, { 0xFFF9, 0xFFFB },
- { 0x10A01, 0x10A03 }, { 0x10A05, 0x10A06 }, { 0x10A0C, 0x10A0F },
- { 0x10A38, 0x10A3A }, { 0x10A3F, 0x10A3F }, { 0x1D167, 0x1D169 },
- { 0x1D173, 0x1D182 }, { 0x1D185, 0x1D18B }, { 0x1D1AA, 0x1D1AD },
- { 0x1D242, 0x1D244 }, { 0xE0001, 0xE0001 }, { 0xE0020, 0xE007F },
- { 0xE0100, 0xE01EF }
- };
-
- /* test for 8-bit control characters */
- if (ucs == 0)
- return 0;
- if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))
- return -1;
-
- /* binary search in table of non-spacing characters */
- if (bisearch(ucs, combining,
- sizeof(combining) / sizeof(struct interval) - 1))
- return 0;
-
- /* if we arrive here, ucs is not a combining or C0/C1 control character */
-
- return 1 +
- (ucs >= 0x1100 &&
- (ucs <= 0x115f || /* Hangul Jamo init. consonants */
- ucs == 0x2329 || ucs == 0x232a ||
- (ucs >= 0x2e80 && ucs <= 0xa4cf &&
- ucs != 0x303f) || /* CJK ... Yi */
- (ucs >= 0xac00 && ucs <= 0xd7a3) || /* Hangul Syllables */
- (ucs >= 0xf900 && ucs <= 0xfaff) || /* CJK Compatibility Ideographs */
- (ucs >= 0xfe10 && ucs <= 0xfe19) || /* Vertical forms */
- (ucs >= 0xfe30 && ucs <= 0xfe6f) || /* CJK Compatibility Forms */
- (ucs >= 0xff00 && ucs <= 0xff60) || /* Fullwidth Forms */
- (ucs >= 0xffe0 && ucs <= 0xffe6) ||
- (ucs >= 0x20000 && ucs <= 0x2fffd) ||
- (ucs >= 0x30000 && ucs <= 0x3fffd)));
-}
-
-
-int mk_wcswidth(const wchar_t *pwcs, size_t n)
-{
- int w, width = 0;
-
- for (;*pwcs && n-- > 0; pwcs++)
- if ((w = mk_wcwidth(*pwcs)) < 0)
- return -1;
- else
- width += w;
-
- return width;
-}
-
-
-/*
- * The following functions are the same as mk_wcwidth() and
- * mk_wcswidth(), except that spacing characters in the East Asian
- * Ambiguous (A) category as defined in Unicode Technical Report #11
- * have a column width of 2. This variant might be useful for users of
- * CJK legacy encodings who want to migrate to UCS without changing
- * the traditional terminal character-width behaviour. It is not
- * otherwise recommended for general use.
- */
-int mk_wcwidth_cjk(wchar_t ucs)
-{
- /* sorted list of non-overlapping intervals of East Asian Ambiguous
- * characters, generated by "uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c" */
- static const struct interval ambiguous[] = {
- { 0x00A1, 0x00A1 }, { 0x00A4, 0x00A4 }, { 0x00A7, 0x00A8 },
- { 0x00AA, 0x00AA }, { 0x00AE, 0x00AE }, { 0x00B0, 0x00B4 },
- { 0x00B6, 0x00BA }, { 0x00BC, 0x00BF }, { 0x00C6, 0x00C6 },
- { 0x00D0, 0x00D0 }, { 0x00D7, 0x00D8 }, { 0x00DE, 0x00E1 },
- { 0x00E6, 0x00E6 }, { 0x00E8, 0x00EA }, { 0x00EC, 0x00ED },
- { 0x00F0, 0x00F0 }, { 0x00F2, 0x00F3 }, { 0x00F7, 0x00FA },
- { 0x00FC, 0x00FC }, { 0x00FE, 0x00FE }, { 0x0101, 0x0101 },
- { 0x0111, 0x0111 }, { 0x0113, 0x0113 }, { 0x011B, 0x011B },
- { 0x0126, 0x0127 }, { 0x012B, 0x012B }, { 0x0131, 0x0133 },
- { 0x0138, 0x0138 }, { 0x013F, 0x0142 }, { 0x0144, 0x0144 },
- { 0x0148, 0x014B }, { 0x014D, 0x014D }, { 0x0152, 0x0153 },
- { 0x0166, 0x0167 }, { 0x016B, 0x016B }, { 0x01CE, 0x01CE },
- { 0x01D0, 0x01D0 }, { 0x01D2, 0x01D2 }, { 0x01D4, 0x01D4 },
- { 0x01D6, 0x01D6 }, { 0x01D8, 0x01D8 }, { 0x01DA, 0x01DA },
- { 0x01DC, 0x01DC }, { 0x0251, 0x0251 }, { 0x0261, 0x0261 },
- { 0x02C4, 0x02C4 }, { 0x02C7, 0x02C7 }, { 0x02C9, 0x02CB },
- { 0x02CD, 0x02CD }, { 0x02D0, 0x02D0 }, { 0x02D8, 0x02DB },
- { 0x02DD, 0x02DD }, { 0x02DF, 0x02DF }, { 0x0391, 0x03A1 },
- { 0x03A3, 0x03A9 }, { 0x03B1, 0x03C1 }, { 0x03C3, 0x03C9 },
- { 0x0401, 0x0401 }, { 0x0410, 0x044F }, { 0x0451, 0x0451 },
- { 0x2010, 0x2010 }, { 0x2013, 0x2016 }, { 0x2018, 0x2019 },
- { 0x201C, 0x201D }, { 0x2020, 0x2022 }, { 0x2024, 0x2027 },
- { 0x2030, 0x2030 }, { 0x2032, 0x2033 }, { 0x2035, 0x2035 },
- { 0x203B, 0x203B }, { 0x203E, 0x203E }, { 0x2074, 0x2074 },
- { 0x207F, 0x207F }, { 0x2081, 0x2084 }, { 0x20AC, 0x20AC },
- { 0x2103, 0x2103 }, { 0x2105, 0x2105 }, { 0x2109, 0x2109 },
- { 0x2113, 0x2113 }, { 0x2116, 0x2116 }, { 0x2121, 0x2122 },
- { 0x2126, 0x2126 }, { 0x212B, 0x212B }, { 0x2153, 0x2154 },
- { 0x215B, 0x215E }, { 0x2160, 0x216B }, { 0x2170, 0x2179 },
- { 0x2190, 0x2199 }, { 0x21B8, 0x21B9 }, { 0x21D2, 0x21D2 },
- { 0x21D4, 0x21D4 }, { 0x21E7, 0x21E7 }, { 0x2200, 0x2200 },
- { 0x2202, 0x2203 }, { 0x2207, 0x2208 }, { 0x220B, 0x220B },
- { 0x220F, 0x220F }, { 0x2211, 0x2211 }, { 0x2215, 0x2215 },
- { 0x221A, 0x221A }, { 0x221D, 0x2220 }, { 0x2223, 0x2223 },
- { 0x2225, 0x2225 }, { 0x2227, 0x222C }, { 0x222E, 0x222E },
- { 0x2234, 0x2237 }, { 0x223C, 0x223D }, { 0x2248, 0x2248 },
- { 0x224C, 0x224C }, { 0x2252, 0x2252 }, { 0x2260, 0x2261 },
- { 0x2264, 0x2267 }, { 0x226A, 0x226B }, { 0x226E, 0x226F },
- { 0x2282, 0x2283 }, { 0x2286, 0x2287 }, { 0x2295, 0x2295 },
- { 0x2299, 0x2299 }, { 0x22A5, 0x22A5 }, { 0x22BF, 0x22BF },
- { 0x2312, 0x2312 }, { 0x2460, 0x24E9 }, { 0x24EB, 0x254B },
- { 0x2550, 0x2573 }, { 0x2580, 0x258F }, { 0x2592, 0x2595 },
- { 0x25A0, 0x25A1 }, { 0x25A3, 0x25A9 }, { 0x25B2, 0x25B3 },
- { 0x25B6, 0x25B7 }, { 0x25BC, 0x25BD }, { 0x25C0, 0x25C1 },
- { 0x25C6, 0x25C8 }, { 0x25CB, 0x25CB }, { 0x25CE, 0x25D1 },
- { 0x25E2, 0x25E5 }, { 0x25EF, 0x25EF }, { 0x2605, 0x2606 },
- { 0x2609, 0x2609 }, { 0x260E, 0x260F }, { 0x2614, 0x2615 },
- { 0x261C, 0x261C }, { 0x261E, 0x261E }, { 0x2640, 0x2640 },
- { 0x2642, 0x2642 }, { 0x2660, 0x2661 }, { 0x2663, 0x2665 },
- { 0x2667, 0x266A }, { 0x266C, 0x266D }, { 0x266F, 0x266F },
- { 0x273D, 0x273D }, { 0x2776, 0x277F }, { 0xE000, 0xF8FF },
- { 0xFFFD, 0xFFFD }, { 0xF0000, 0xFFFFD }, { 0x100000, 0x10FFFD }
- };
-
- /* binary search in table of non-spacing characters */
- if (bisearch(ucs, ambiguous,
- sizeof(ambiguous) / sizeof(struct interval) - 1))
- return 2;
-
- return mk_wcwidth(ucs);
-}
-
-
-int mk_wcswidth_cjk(const wchar_t *pwcs, size_t n)
-{
- int w, width = 0;
-
- for (;*pwcs && n-- > 0; pwcs++)
- if ((w = mk_wcwidth_cjk(*pwcs)) < 0)
- return -1;
- else
- width += w;
-
- return width;
-}
diff --git a/ncurses/widechar/lib_add_wch.c b/ncurses/widechar/lib_add_wch.c
index 38d3130a54c4..93b41bb4930c 100644
--- a/ncurses/widechar/lib_add_wch.c
+++ b/ncurses/widechar/lib_add_wch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2004-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 2004,2006 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,389 +35,41 @@
#include <curses.priv.h>
-#if HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
+MODULE_ID("$Id: lib_add_wch.c,v 1.6 2006/12/02 21:19:17 tom Exp $")
-MODULE_ID("$Id: lib_add_wch.c,v 1.12 2011/03/22 09:31:15 Petr.Pavlu Exp $")
-
-/* clone/adapt lib_addch.c */
-static const cchar_t blankchar = NewChar(BLANK_TEXT);
-
-/*
- * Ugly microtweaking alert. Everything from here to end of module is
- * likely to be speed-critical -- profiling data sure says it is!
- * Most of the important screen-painting functions are shells around
- * wadd_wch(). So we make every effort to reduce function-call overhead
- * by inlining stuff, even at the cost of making wrapped copies for
- * export. Also we supply some internal versions that don't call the
- * window sync hook, for use by string-put functions.
- */
-
-/* Return bit mask for clearing color pair number if given ch has color */
-#define COLOR_MASK(ch) (~(attr_t)((ch) & A_COLOR ? A_COLOR : 0))
-
-static NCURSES_INLINE cchar_t
-render_char(WINDOW *win, cchar_t ch)
-/* compute a rendition of the given char correct for the current context */
-{
- attr_t a = WINDOW_ATTRS(win);
- int pair = GetPair(ch);
-
- if (ISBLANK(ch)
- && AttrOf(ch) == A_NORMAL
- && pair == 0) {
- /* color/pair in attrs has precedence over bkgrnd */
- ch = win->_nc_bkgd;
- SetAttr(ch, a | AttrOf(win->_nc_bkgd));
- if ((pair = GET_WINDOW_PAIR(win)) == 0)
- pair = GetPair(win->_nc_bkgd);
- SetPair(ch, pair);
- } else {
- /* color in attrs has precedence over bkgrnd */
- a |= AttrOf(win->_nc_bkgd) & COLOR_MASK(a);
- /* color in ch has precedence */
- if (pair == 0) {
- if ((pair = GET_WINDOW_PAIR(win)) == 0)
- pair = GetPair(win->_nc_bkgd);
- }
- AddAttr(ch, (a & COLOR_MASK(AttrOf(ch))));
- SetPair(ch, pair);
- }
-
- TR(TRACE_VIRTPUT,
- ("render_char bkg %s (%d), attrs %s (%d) -> ch %s (%d)",
- _tracech_t2(1, CHREF(win->_nc_bkgd)),
- GetPair(win->_nc_bkgd),
- _traceattr(WINDOW_ATTRS(win)),
- GET_WINDOW_PAIR(win),
- _tracech_t2(3, CHREF(ch)),
- GetPair(ch)));
-
- return (ch);
-}
-
-/* check if position is legal; if not, return error */
-#ifndef NDEBUG /* treat this like an assertion */
-#define CHECK_POSITION(win, x, y) \
- if (y > win->_maxy \
- || x > win->_maxx \
- || y < 0 \
- || x < 0) { \
- TR(TRACE_VIRTPUT, ("Alert! Win=%p _curx = %d, _cury = %d " \
- "(_maxx = %d, _maxy = %d)", win, x, y, \
- win->_maxx, win->_maxy)); \
- return(ERR); \
- }
-#else
-#define CHECK_POSITION(win, x, y) /* nothing */
-#endif
-
-static bool
-newline_forces_scroll(WINDOW *win, NCURSES_SIZE_T * ypos)
-{
- bool result = FALSE;
-
- if (*ypos >= win->_regtop && *ypos == win->_regbottom) {
- *ypos = win->_regbottom;
- result = TRUE;
- } else {
- *ypos = (NCURSES_SIZE_T) (*ypos + 1);
- }
- return result;
-}
-
-/*
- * The _WRAPPED flag is useful only for telling an application that we've just
- * wrapped the cursor. We don't do anything with this flag except set it when
- * wrapping, and clear it whenever we move the cursor. If we try to wrap at
- * the lower-right corner of a window, we cannot move the cursor (since that
- * wouldn't be legal). So we return an error (which is what SVr4 does).
- * Unlike SVr4, we can successfully add a character to the lower-right corner
- * (Solaris 2.6 does this also, however).
- */
-static int
-wrap_to_next_line(WINDOW *win)
-{
- win->_flags |= _WRAPPED;
- if (newline_forces_scroll(win, &(win->_cury))) {
- win->_curx = win->_maxx;
- if (!win->_scroll)
- return (ERR);
- scroll(win);
- }
- win->_curx = 0;
- return (OK);
-}
-
-static int wadd_wch_literal(WINDOW *, cchar_t);
-/*
- * Fill the given number of cells with blanks using the current background
- * rendition. This saves/restores the current x-position.
- */
-static void
-fill_cells(WINDOW *win, int count)
-{
- cchar_t blank = blankchar;
- int save_x = win->_curx;
- int save_y = win->_cury;
-
- while (count-- > 0) {
- if (wadd_wch_literal(win, blank) == ERR)
- break;
- }
- win->_curx = (NCURSES_SIZE_T) save_x;
- win->_cury = (NCURSES_SIZE_T) save_y;
-}
-
-static int
-wadd_wch_literal(WINDOW *win, cchar_t ch)
+NCURSES_EXPORT(int)
+wadd_wch(WINDOW *win, const cchar_t *wch)
{
- int x;
- int y;
- struct ldat *line;
-
- x = win->_curx;
- y = win->_cury;
-
- CHECK_POSITION(win, x, y);
-
- ch = render_char(win, ch);
-
- line = win->_line + y;
-
- CHANGED_CELL(line, x);
-
- /*
- * Non-spacing characters are added to the current cell.
- *
- * Spacing characters that are wider than one column require some display
- * adjustments.
- */
- {
- int len = wcwidth(CharOf(ch));
- int i;
- int j;
- wchar_t *chars;
+ PUTC_DATA;
+ int n;
+ int code = ERR;
- if (len == 0) { /* non-spacing */
- if ((x > 0 && y >= 0)
- || (win->_maxx >= 0 && win->_cury >= 1)) {
- if (x > 0 && y >= 0)
- chars = (win->_line[y].text[x - 1].chars);
- else
- chars = (win->_line[y - 1].text[win->_maxx].chars);
- for (i = 0; i < CCHARW_MAX; ++i) {
- if (chars[i] == 0) {
- TR(TRACE_VIRTPUT,
- ("added non-spacing %d: %x",
- x, (int) CharOf(ch)));
- chars[i] = CharOf(ch);
- break;
- }
- }
- }
- goto testwrapping;
- } else if (len > 1) { /* multi-column characters */
- /*
- * Check if the character will fit on the current line. If it does
- * not fit, fill in the remainder of the line with blanks. and
- * move to the next line.
- */
- if (len > win->_maxx + 1) {
- TR(TRACE_VIRTPUT, ("character will not fit"));
- return ERR;
- } else if (x + len > win->_maxx + 1) {
- int count = win->_maxx + 1 - x;
- TR(TRACE_VIRTPUT, ("fill %d remaining cells", count));
- fill_cells(win, count);
- if (wrap_to_next_line(win) == ERR)
- return ERR;
- x = win->_curx;
- y = win->_cury;
- line = win->_line + y;
+ TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wadd_wch(%p, %s)"), win,
+ _tracech_t(wch)));
+
+ if (win != 0) {
+ PUTC_INIT;
+ for (PUTC_i = 0; PUTC_i < CCHARW_MAX; ++PUTC_i) {
+ attr_t attrs = (wch->attr & A_ATTRIBUTES);
+
+ if ((PUTC_ch = wch->chars[PUTC_i]) == L'\0')
+ break;
+ if ((PUTC_n = wcrtomb(PUTC_buf, PUTC_ch, &PUT_st)) <= 0) {
+ code = ERR;
+ if (is8bits(PUTC_ch))
+ code = waddch(win, UChar(PUTC_ch) | attrs);
+ break;
}
- /*
- * Check for cells which are orphaned by adding this character, set
- * those to blanks.
- *
- * FIXME: this actually could fill j-i cells, more complicated to
- * setup though.
- */
- for (i = 0; i < len; ++i) {
- if (isWidecBase(win->_line[y].text[x + i])) {
- break;
- } else if (isWidecExt(win->_line[y].text[x + i])) {
- for (j = i; x + j <= win->_maxx; ++j) {
- if (!isWidecExt(win->_line[y].text[x + j])) {
- TR(TRACE_VIRTPUT, ("fill %d orphan cells", j));
- fill_cells(win, j);
- break;
- }
- }
+ for (n = 0; n < PUTC_n; n++) {
+ if ((code = waddch(win, UChar(PUTC_buf[n]) | attrs)) == ERR) {
break;
}
}
- /*
- * Finally, add the cells for this character.
- */
- for (i = 0; i < len; ++i) {
- cchar_t value = ch;
- SetWidecExt(value, i);
- TR(TRACE_VIRTPUT, ("multicolumn %d:%d (%d,%d)",
- i + 1, len,
- win->_begy + y, win->_begx + x));
- line->text[x] = value;
- CHANGED_CELL(line, x);
- ++x;
- }
- goto testwrapping;
+ if (code == ERR)
+ break;
}
}
- /*
- * Single-column characters.
- */
- line->text[x++] = ch;
- /*
- * This label is used only for wide-characters.
- */
- testwrapping:
-
- TR(TRACE_VIRTPUT, ("cell (%ld, %ld..%d) = %s",
- (long) win->_cury, (long) win->_curx, x - 1,
- _tracech_t(CHREF(ch))));
-
- if (x > win->_maxx) {
- return wrap_to_next_line(win);
- }
- win->_curx = (NCURSES_SIZE_T) x;
- return OK;
-}
-
-static NCURSES_INLINE int
-wadd_wch_nosync(WINDOW *win, cchar_t ch)
-/* the workhorse function -- add a character to the given window */
-{
- NCURSES_SIZE_T x, y;
- wchar_t *s;
- int tabsize = 8;
-#if USE_REENTRANT
- SCREEN *sp = _nc_screen_of(win);
-#endif
-
- /*
- * If we are using the alternate character set, forget about locale.
- * Otherwise, if the locale claims the code is printable, treat it that
- * way.
- */
- if ((AttrOf(ch) & A_ALTCHARSET)
- || iswprint((wint_t) CharOf(ch)))
- return wadd_wch_literal(win, ch);
-
- /*
- * Handle carriage control and other codes that are not printable, or are
- * known to expand to more than one character according to unctrl().
- */
- x = win->_curx;
- y = win->_cury;
-
- switch (CharOf(ch)) {
- case '\t':
-#if USE_REENTRANT
- tabsize = *ptrTabsize(sp);
-#else
- tabsize = TABSIZE;
-#endif
- x = (NCURSES_SIZE_T) (x + (tabsize - (x % tabsize)));
- /*
- * Space-fill the tab on the bottom line so that we'll get the
- * "correct" cursor position.
- */
- if ((!win->_scroll && (y == win->_regbottom))
- || (x <= win->_maxx)) {
- cchar_t blank = blankchar;
- AddAttr(blank, AttrOf(ch));
- while (win->_curx < x) {
- if (wadd_wch_literal(win, blank) == ERR)
- return (ERR);
- }
- break;
- } else {
- wclrtoeol(win);
- win->_flags |= _WRAPPED;
- if (newline_forces_scroll(win, &y)) {
- x = win->_maxx;
- if (win->_scroll) {
- scroll(win);
- x = 0;
- }
- } else {
- x = 0;
- }
- }
- break;
- case '\n':
- wclrtoeol(win);
- if (newline_forces_scroll(win, &y)) {
- if (win->_scroll)
- scroll(win);
- else
- return (ERR);
- }
- /* FALLTHRU */
- case '\r':
- x = 0;
- win->_flags &= ~_WRAPPED;
- break;
- case '\b':
- if (x == 0)
- return (OK);
- x--;
- win->_flags &= ~_WRAPPED;
- break;
- default:
- if ((s = wunctrl(&ch)) != 0) {
- while (*s) {
- cchar_t sch;
- SetChar(sch, *s++, AttrOf(ch));
- if_EXT_COLORS(SetPair(sch, GetPair(ch)));
- if (wadd_wch_literal(win, sch) == ERR)
- return ERR;
- }
- return OK;
- }
- return ERR;
- }
-
- win->_curx = x;
- win->_cury = y;
-
- return OK;
-}
-
-/*
- * The versions below call _nc_synchook(). We wanted to avoid this in the
- * version exported for string puts; they'll call _nc_synchook once at end
- * of run.
- */
-
-/* These are actual entry points */
-
-NCURSES_EXPORT(int)
-wadd_wch(WINDOW *win, const cchar_t *wch)
-{
- int code = ERR;
-
- TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wadd_wch(%p, %s)"),
- (void *) win,
- _tracecchar_t(wch)));
-
- if (win && (wadd_wch_nosync(win, *wch) != ERR)) {
- _nc_synchook(win);
- code = OK;
- }
-
TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code));
return (code);
}
@@ -425,19 +77,37 @@ wadd_wch(WINDOW *win, const cchar_t *wch)
NCURSES_EXPORT(int)
wecho_wchar(WINDOW *win, const cchar_t *wch)
{
+ PUTC_DATA;
+ int n;
int code = ERR;
- TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wechochar(%p, %s)"),
- (void *) win,
- _tracecchar_t(wch)));
-
- if (win && (wadd_wch_nosync(win, *wch) != ERR)) {
- bool save_immed = win->_immed;
- win->_immed = TRUE;
- _nc_synchook(win);
- win->_immed = save_immed;
- code = OK;
+ TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wecho_wchar(%p, %s)"), win,
+ _tracech_t(wch)));
+
+ if (win != 0) {
+ PUTC_INIT;
+ for (PUTC_i = 0; PUTC_i < CCHARW_MAX; ++PUTC_i) {
+ attr_t attrs = (wch->attr & A_ATTRIBUTES);
+
+ if ((PUTC_ch = wch->chars[PUTC_i]) == L'\0')
+ break;
+ if ((PUTC_n = wcrtomb(PUTC_buf, PUTC_ch, &PUT_st)) <= 0) {
+ code = ERR;
+ if (is8bits(PUTC_ch))
+ code = waddch(win, UChar(PUTC_ch) | attrs);
+ break;
+ }
+ for (n = 0; n < PUTC_n; n++) {
+ if ((code = waddch(win, UChar(PUTC_buf[n]) | attrs)) == ERR) {
+ break;
+ }
+ }
+ if (code == ERR)
+ break;
+ }
+ wrefresh(win);
}
+
TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code));
return (code);
}
diff --git a/ncurses/widechar/lib_box_set.c b/ncurses/widechar/lib_box_set.c
index 585c94963b0f..35fce46d8d40 100644
--- a/ncurses/widechar/lib_box_set.c
+++ b/ncurses/widechar/lib_box_set.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2003,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2002 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>
-MODULE_ID("$Id: lib_box_set.c,v 1.5 2009/10/24 22:36:56 tom Exp $")
+MODULE_ID("$Id: lib_box_set.c,v 1.4 2003/12/06 18:02:13 tom Exp $")
NCURSES_EXPORT(int)
wborder_set(WINDOW *win,
@@ -53,7 +53,7 @@ wborder_set(WINDOW *win,
NCURSES_CH_T wls, wrs, wts, wbs, wtl, wtr, wbl, wbr;
T((T_CALLED("wborder(%p,%s,%s,%s,%s,%s,%s,%s,%s)"),
- (void *) win,
+ win,
_tracech_t2(1, ls),
_tracech_t2(2, rs),
_tracech_t2(3, ts),
diff --git a/ncurses/widechar/lib_cchar.c b/ncurses/widechar/lib_cchar.c
index c61c79529db7..b4a0c37a285f 100644
--- a/ncurses/widechar/lib_cchar.c
+++ b/ncurses/widechar/lib_cchar.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2001-2005,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -35,7 +35,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_cchar.c,v 1.20 2010/12/25 23:46:26 tom Exp $")
+MODULE_ID("$Id: lib_cchar.c,v 1.12 2007/05/12 19:03:06 tom Exp $")
/*
* The SuSv2 description leaves some room for interpretation. We'll assume wch
@@ -50,15 +50,15 @@ setcchar(cchar_t *wcval,
short color_pair,
const void *opts)
{
- unsigned i;
- unsigned len;
+ int i;
+ int len;
int code = OK;
TR(TRACE_CCALLS, (T_CALLED("setcchar(%p,%s,%lu,%d,%p)"),
- (void *) wcval, _nc_viswbuf(wch),
+ wcval, _nc_viswbuf(wch),
(unsigned long) attrs, color_pair, opts));
- len = (unsigned) wcslen(wch);
+ len = wcslen(wch);
if (opts != NULL
|| (len > 1 && wcwidth(wch[0]) < 0)) {
code = ERR;
@@ -80,7 +80,7 @@ setcchar(cchar_t *wcval,
memset(wcval, 0, sizeof(*wcval));
if (len != 0) {
- SetAttr(*wcval, attrs | (attr_t) ColorPair(color_pair));
+ SetAttr(*wcval, attrs | COLOR_PAIR(color_pair));
SetPair(CHDEREF(wcval), color_pair);
memcpy(&wcval->chars, wch, len * sizeof(wchar_t));
TR(TRACE_CCALLS, ("copy %d wchars, first is %s", len,
@@ -104,28 +104,20 @@ getcchar(const cchar_t *wcval,
int code = ERR;
TR(TRACE_CCALLS, (T_CALLED("getcchar(%p,%p,%p,%p,%p)"),
- (const void *) wcval,
- (void *) wch,
- (void *) attrs,
- (void *) color_pair,
- opts));
+ wcval, wch, attrs, color_pair, opts));
if (opts == NULL) {
- len = ((wp = wmemchr(wcval->chars, L'\0', CCHARW_MAX))
- ? (int) (wp - wcval->chars)
- : CCHARW_MAX);
+ len = (wp = wmemchr(wcval->chars, L'\0', CCHARW_MAX))
+ ? wp - wcval->chars
+ : CCHARW_MAX;
if (wch == NULL) {
- /*
- * If the value is a null, set the length to 1.
- * If the value is not a null, return the length plus 1 for null.
- */
- code = (len < CCHARW_MAX) ? (len + 1) : CCHARW_MAX;
+ code = len;
} else if (attrs == 0 || color_pair == 0) {
code = ERR;
} else if (len >= 0) {
*attrs = AttrOf(*wcval) & A_ATTRIBUTES;
- *color_pair = (short) GetPair(*wcval);
+ *color_pair = GetPair(*wcval);
wmemcpy(wch, wcval->chars, (unsigned) len);
wch[len] = L'\0';
code = OK;
diff --git a/ncurses/widechar/lib_erasewchar.c b/ncurses/widechar/lib_erasewchar.c
index a4ee93ffa428..7d6455370ff9 100644
--- a/ncurses/widechar/lib_erasewchar.c
+++ b/ncurses/widechar/lib_erasewchar.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002 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 *
@@ -32,7 +32,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_erasewchar.c,v 1.2 2010/07/24 11:35:12 tom Exp $")
+MODULE_ID("$Id: lib_erasewchar.c,v 1.1 2002/05/11 20:38:06 tom Exp $")
/*
* erasewchar()
@@ -42,7 +42,7 @@ MODULE_ID("$Id: lib_erasewchar.c,v 1.2 2010/07/24 11:35:12 tom Exp $")
*/
NCURSES_EXPORT(int)
-erasewchar(wchar_t *wch)
+erasewchar(wchar_t * wch)
{
int value;
int result = ERR;
@@ -63,7 +63,7 @@ erasewchar(wchar_t *wch)
*/
NCURSES_EXPORT(int)
-killwchar(wchar_t *wch)
+killwchar(wchar_t * wch)
{
int value;
int result = ERR;
diff --git a/ncurses/widechar/lib_get_wch.c b/ncurses/widechar/lib_get_wch.c
index 32033df2ff9b..6cf3129f2d18 100644
--- a/ncurses/widechar/lib_get_wch.c
+++ b/ncurses/widechar/lib_get_wch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-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 *
@@ -40,7 +40,22 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_get_wch.c,v 1.22 2010/08/28 21:00:35 tom Exp $")
+MODULE_ID("$Id: lib_get_wch.c,v 1.17 2008/08/16 19:22:55 tom Exp $")
+
+#if HAVE_MBTOWC && HAVE_MBLEN
+#define reset_mbytes(state) mblen(NULL, 0), mbtowc(NULL, NULL, 0)
+#define count_mbytes(buffer,length,state) mblen(buffer,length)
+#define check_mbytes(wch,buffer,length,state) \
+ (int) mbtowc(&wch, buffer, length)
+#define state_unused
+#elif HAVE_MBRTOWC && HAVE_MBRLEN
+#define reset_mbytes(state) init_mb(state)
+#define count_mbytes(buffer,length,state) mbrlen(buffer,length,&state)
+#define check_mbytes(wch,buffer,length,state) \
+ (int) mbrtowc(&wch, buffer, length, &state)
+#else
+make an error
+#endif
NCURSES_EXPORT(int)
wget_wch(WINDOW *win, wint_t *result)
@@ -50,13 +65,13 @@ wget_wch(WINDOW *win, wint_t *result)
char buffer[(MB_LEN_MAX * 9) + 1]; /* allow some redundant shifts */
int status;
size_t count = 0;
- int value = 0;
+ unsigned long value;
wchar_t wch;
#ifndef state_unused
mbstate_t state;
#endif
- T((T_CALLED("wget_wch(%p)"), (void *) win));
+ T((T_CALLED("wget_wch(%p)"), win));
/*
* We can get a stream of single-byte characters and KEY_xxx codes from
@@ -80,12 +95,12 @@ wget_wch(WINDOW *win, wint_t *result)
* whether the improvement would be worth the effort.
*/
if (count != 0) {
- safe_ungetch(SP_PARM, value);
+ _nc_ungetch(sp, (int) value);
code = ERR;
}
break;
} else if (count + 1 >= sizeof(buffer)) {
- safe_ungetch(SP_PARM, value);
+ _nc_ungetch(sp, (int) value);
code = ERR;
break;
} else {
@@ -96,7 +111,7 @@ wget_wch(WINDOW *win, wint_t *result)
reset_mbytes(state);
if (check_mbytes(wch, buffer, count, state) != status) {
code = ERR; /* the two calls should match */
- safe_ungetch(SP_PARM, value);
+ _nc_ungetch(sp, (int) value);
}
value = wch;
break;
@@ -106,8 +121,8 @@ wget_wch(WINDOW *win, wint_t *result)
} else {
code = ERR;
}
- *result = (wint_t) value;
+ *result = value;
_nc_unlock_global(curses);
- T(("result %#o", value));
+ T(("result %#lo", value));
returnCode(code);
}
diff --git a/ncurses/widechar/lib_get_wstr.c b/ncurses/widechar/lib_get_wstr.c
index 0b450211b2c3..baa70a5a53f9 100644
--- a/ncurses/widechar/lib_get_wstr.c
+++ b/ncurses/widechar/lib_get_wstr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2004,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 *
@@ -38,8 +38,9 @@
*/
#include <curses.priv.h>
+#include <term.h>
-MODULE_ID("$Id: lib_get_wstr.c,v 1.12 2009/10/24 22:38:11 tom Exp $")
+MODULE_ID("$Id: lib_get_wstr.c,v 1.10 2008/08/16 19:25:33 tom Exp $")
static int
wadd_wint(WINDOW *win, wint_t *src)
@@ -95,7 +96,7 @@ wgetn_wstr(WINDOW *win, wint_t *str, int maxlen)
wint_t ch;
int y, x, code;
- T((T_CALLED("wgetn_wstr(%p,%p, %d)"), (void *) win, (void *) str, maxlen));
+ T((T_CALLED("wgetn_wstr(%p,%p, %d)"), win, str, maxlen));
if (!win)
returnCode(ERR);
diff --git a/ncurses/widechar/lib_hline_set.c b/ncurses/widechar/lib_hline_set.c
index da92b834f1c3..43175de83464 100644
--- a/ncurses/widechar/lib_hline_set.c
+++ b/ncurses/widechar/lib_hline_set.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002 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,16 +39,16 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_hline_set.c,v 1.4 2010/12/19 01:45:03 tom Exp $")
+MODULE_ID("$Id: lib_hline_set.c,v 1.2 2002/03/23 21:35:34 tom Exp $")
NCURSES_EXPORT(int)
-whline_set(WINDOW *win, const cchar_t *ch, int n)
+whline_set(WINDOW *win, const cchar_t * ch, int n)
{
int code = ERR;
- int start;
- int end;
+ NCURSES_SIZE_T start;
+ NCURSES_SIZE_T end;
- T((T_CALLED("whline_set(%p,%s,%d)"), (void *) win, _tracecchar_t(ch), n));
+ T((T_CALLED("whline_set(%p,%s,%d)"), win, _tracecchar_t(ch), n));
if (win) {
struct ldat *line = &(win->_line[win->_cury]);
diff --git a/ncurses/widechar/lib_in_wch.c b/ncurses/widechar/lib_in_wch.c
index b2396508ba25..5cd92e382de4 100644
--- a/ncurses/widechar/lib_in_wch.c
+++ b/ncurses/widechar/lib_in_wch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2004,2006 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>
-MODULE_ID("$Id: lib_in_wch.c,v 1.5 2009/10/24 22:37:55 tom Exp $")
+MODULE_ID("$Id: lib_in_wch.c,v 1.4 2006/09/03 15:41:22 tom Exp $")
NCURSES_EXPORT(int)
win_wch(WINDOW *win, cchar_t *wcval)
@@ -47,7 +47,7 @@ win_wch(WINDOW *win, cchar_t *wcval)
int row, col;
int code = OK;
- TR(TRACE_CCALLS, (T_CALLED("win_wch(%p,%p)"), (void *) win, (void *) wcval));
+ TR(TRACE_CCALLS, (T_CALLED("win_wch(%p,%p)"), win, wcval));
if (win != 0
&& wcval != 0) {
getyx(win, row, col);
diff --git a/ncurses/widechar/lib_in_wchnstr.c b/ncurses/widechar/lib_in_wchnstr.c
index 57cc2ca6e73f..e9f0646ea66a 100644
--- a/ncurses/widechar/lib_in_wchnstr.c
+++ b/ncurses/widechar/lib_in_wchnstr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2007,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2004-2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -39,14 +39,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_in_wchnstr.c,v 1.8 2009/10/24 22:37:48 tom Exp $")
+MODULE_ID("$Id: lib_in_wchnstr.c,v 1.7 2007/02/11 01:00:00 tom Exp $")
NCURSES_EXPORT(int)
win_wchnstr(WINDOW *win, cchar_t *wchstr, int n)
{
int code = OK;
- T((T_CALLED("win_wchnstr(%p,%p,%d)"), (void *) win, (void *) wchstr, n));
+ T((T_CALLED("win_wchnstr(%p,%p,%d)"), win, wchstr, n));
if (win != 0
&& wchstr != 0) {
NCURSES_CH_T *src;
diff --git a/ncurses/widechar/lib_ins_wch.c b/ncurses/widechar/lib_ins_wch.c
index 1eee8a3ec016..c3d0420e53b8 100644
--- a/ncurses/widechar/lib_ins_wch.c
+++ b/ncurses/widechar/lib_ins_wch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2003,2005 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,44 +39,39 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_ins_wch.c,v 1.16 2010/12/19 01:34:04 tom Exp $")
+MODULE_ID("$Id: lib_ins_wch.c,v 1.8 2005/12/03 20:24:19 tom Exp $")
/*
* Insert the given character, updating the current location to simplify
* inserting a string.
*/
-NCURSES_EXPORT(int)
+static int
_nc_insert_wch(WINDOW *win, const cchar_t *wch)
{
int cells = wcwidth(CharOf(CHDEREF(wch)));
int cell;
- int code = OK;
-
- if (cells < 0) {
- code = winsch(win, (chtype) CharOf(CHDEREF(wch)));
- } else {
- if (cells == 0)
- cells = 1;
-
- if (win->_curx <= win->_maxx) {
- struct ldat *line = &(win->_line[win->_cury]);
- NCURSES_CH_T *end = &(line->text[win->_curx]);
- NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
- NCURSES_CH_T *temp2 = temp1 - cells;
-
- CHANGED_TO_EOL(line, win->_curx, win->_maxx);
- while (temp1 > end)
- *temp1-- = *temp2--;
-
- *temp1 = _nc_render(win, *wch);
- for (cell = 1; cell < cells; ++cell) {
- SetWidecExt(temp1[cell], cell);
- }
- win->_curx++;
+ if (cells <= 0)
+ cells = 1;
+
+ if (win->_curx <= win->_maxx) {
+ struct ldat *line = &(win->_line[win->_cury]);
+ NCURSES_CH_T *end = &(line->text[win->_curx]);
+ NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
+ NCURSES_CH_T *temp2 = temp1 - cells;
+
+ CHANGED_TO_EOL(line, win->_curx, win->_maxx);
+ while (temp1 > end)
+ *temp1-- = *temp2--;
+
+ *temp1 = _nc_render(win, *wch);
+ for (cell = 1; cell < cells; ++cell) {
+ SetWidecExt(temp1[cell], cell);
}
+
+ win->_curx++;
}
- return code;
+ return OK;
}
NCURSES_EXPORT(int)
@@ -86,7 +81,7 @@ wins_wch(WINDOW *win, const cchar_t *wch)
NCURSES_SIZE_T ox;
int code = ERR;
- T((T_CALLED("wins_wch(%p, %s)"), (void *) win, _tracecchar_t(wch)));
+ T((T_CALLED("wins_wch(%p, %s)"), win, _tracecchar_t(wch)));
if (win != 0) {
oy = win->_cury;
@@ -109,23 +104,20 @@ wins_nwstr(WINDOW *win, const wchar_t *wstr, int n)
NCURSES_SIZE_T ox;
const wchar_t *cp;
- T((T_CALLED("wins_nwstr(%p,%s,%d)"),
- (void *) win, _nc_viswbufn(wstr, n), n));
+ T((T_CALLED("wins_nwstr(%p,%s,%d)"), win, _nc_viswbufn(wstr, n), n));
if (win != 0
&& wstr != 0) {
if (n < 1)
- n = (int) wcslen(wstr);
+ n = wcslen(wstr);
code = OK;
if (n > 0) {
- SCREEN *sp = _nc_screen_of(win);
-
oy = win->_cury;
ox = win->_curx;
for (cp = wstr; *cp && ((cp - wstr) < n); cp++) {
int len = wcwidth(*cp);
- if ((len >= 0 && len != 1) || !is7bits(*cp)) {
+ if (len != 1 || !is8bits(*cp)) {
cchar_t tmp_cchar;
wchar_t tmp_wchar = *cp;
memset(&tmp_cchar, 0, sizeof(tmp_cchar));
@@ -137,7 +129,7 @@ wins_nwstr(WINDOW *win, const wchar_t *wstr, int n)
code = _nc_insert_wch(win, &tmp_cchar);
} else {
/* tabs, other ASCII stuff */
- code = _nc_insert_ch(sp, win, (chtype) (*cp));
+ code = _nc_insert_ch(win, (chtype) (*cp));
}
if (code != OK)
break;
diff --git a/ncurses/widechar/lib_inwstr.c b/ncurses/widechar/lib_inwstr.c
index 4cf7182ae061..2207a5f5d19f 100644
--- a/ncurses/widechar/lib_inwstr.c
+++ b/ncurses/widechar/lib_inwstr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2004,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2002,2004 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>
-MODULE_ID("$Id: lib_inwstr.c,v 1.5 2009/10/24 22:37:29 tom Exp $")
+MODULE_ID("$Id: lib_inwstr.c,v 1.4 2004/10/23 20:41:28 tom Exp $")
NCURSES_EXPORT(int)
winnwstr(WINDOW *win, wchar_t *wstr, int n)
@@ -50,7 +50,7 @@ winnwstr(WINDOW *win, wchar_t *wstr, int n)
cchar_t *text;
wchar_t wch;
- T((T_CALLED("winnwstr(%p,%p,%d)"), (void *) win, (void *) wstr, n));
+ T((T_CALLED("winnwstr(%p,%p,%d)"), win, wstr, n));
if (wstr != 0) {
if (win) {
getyx(win, row, col);
@@ -93,7 +93,7 @@ NCURSES_EXPORT(int)
winwstr(WINDOW *win, wchar_t *wstr)
{
int result = OK;
- T((T_CALLED("winwstr(%p,%p)"), (void *) win, (void *) wstr));
+ T((T_CALLED("winwstr(%p,%p)"), win, wstr));
if (winnwstr(win, wstr, CCHARW_MAX * (win->_maxx - win->_curx + 1)) == ERR)
result = ERR;
returnCode(result);
diff --git a/ncurses/widechar/lib_pecho_wchar.c b/ncurses/widechar/lib_pecho_wchar.c
index b6da7a865698..e61277574311 100644
--- a/ncurses/widechar/lib_pecho_wchar.c
+++ b/ncurses/widechar/lib_pecho_wchar.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2004,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2004 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 *
@@ -32,12 +32,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_pecho_wchar.c,v 1.2 2009/10/24 22:43:32 tom Exp $")
+MODULE_ID("$Id: lib_pecho_wchar.c,v 1.1 2004/01/03 21:42:01 tom Exp $")
NCURSES_EXPORT(int)
-pecho_wchar(WINDOW *pad, const cchar_t *wch)
+pecho_wchar(WINDOW *pad, const cchar_t * wch)
{
- T((T_CALLED("pecho_wchar(%p, %s)"), (void *) pad, _tracech_t(wch)));
+ T((T_CALLED("pecho_wchar(%p, %s)"), pad, _tracech_t(wch)));
if (pad == 0)
returnCode(ERR);
diff --git a/ncurses/widechar/lib_unget_wch.c b/ncurses/widechar/lib_unget_wch.c
index 7a626a9eee84..bb2c4a084b15 100644
--- a/ncurses/widechar/lib_unget_wch.c
+++ b/ncurses/widechar/lib_unget_wch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-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 *
@@ -39,7 +39,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_unget_wch.c,v 1.14 2010/07/24 11:35:21 tom Exp $")
+MODULE_ID("$Id: lib_unget_wch.c,v 1.10 2008/06/07 14:50:37 tom Exp $")
/*
* Wrapper for wcrtomb() which obtains the length needed for the given
@@ -55,24 +55,24 @@ _nc_wcrtomb(char *target, wchar_t source, mbstate_t * state)
const wchar_t *tempp = temp;
temp[0] = source;
temp[1] = 0;
- result = (int) wcsrtombs(NULL, &tempp, 0, state);
+ result = wcsrtombs(NULL, &tempp, 0, state);
} else {
- result = (int) wcrtomb(target, source, state);
+ result = wcrtomb(target, source, state);
}
if (!isEILSEQ(result) && (result == 0))
result = 1;
- return (size_t) result;
+ return result;
}
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(unget_wch) (NCURSES_SP_DCLx const wchar_t wch)
+unget_wch(const wchar_t wch)
{
int result = OK;
mbstate_t state;
size_t length;
int n;
- T((T_CALLED("unget_wch(%p, %#lx)"), (void *) SP_PARM, (unsigned long) wch));
+ T((T_CALLED("unget_wch(%#lx)"), (unsigned long) wch));
init_mb(state);
length = _nc_wcrtomb(0, wch, &state);
@@ -83,12 +83,10 @@ NCURSES_SP_NAME(unget_wch) (NCURSES_SP_DCLx const wchar_t wch)
if ((string = (char *) malloc(length)) != 0) {
init_mb(state);
- /* ignore the result, since we already validated the character */
- IGNORE_RC((int) wcrtomb(string, wch, &state));
+ wcrtomb(string, wch, &state);
for (n = (int) (length - 1); n >= 0; --n) {
- if (NCURSES_SP_NAME(ungetch) (NCURSES_SP_ARGx
- UChar(string[n])) !=OK) {
+ if (_nc_ungetch(SP, string[n]) != OK) {
result = ERR;
break;
}
@@ -103,11 +101,3 @@ NCURSES_SP_NAME(unget_wch) (NCURSES_SP_DCLx const wchar_t wch)
returnCode(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-unget_wch(const wchar_t wch)
-{
- return NCURSES_SP_NAME(unget_wch) (CURRENT_SCREEN, wch);
-}
-#endif
diff --git a/ncurses/widechar/lib_vid_attr.c b/ncurses/widechar/lib_vid_attr.c
index e4cf093a1f6b..1dc679e6d907 100644
--- a/ncurses/widechar/lib_vid_attr.c
+++ b/ncurses/widechar/lib_vid_attr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -31,14 +31,11 @@
****************************************************************************/
#include <curses.priv.h>
+#include <term.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_vid_attr.c,v 1.14 2010/12/19 01:44:24 tom Exp $")
+MODULE_ID("$Id: lib_vid_attr.c,v 1.5 2007/06/30 22:03:02 tom Exp $")
-#define doPut(mode) TPUTS_TRACE(#mode); NCURSES_SP_NAME(tputs)(NCURSES_SP_ARGx mode, 1, outc)
+#define doPut(mode) TPUTS_TRACE(#mode); tputs(mode, 1, outc)
#define TurnOn(mask,mode) \
if ((turn_on & mask) && mode) { doPut(mode); }
@@ -53,22 +50,14 @@ MODULE_ID("$Id: lib_vid_attr.c,v 1.14 2010/12/19 01:44:24 tom Exp $")
if ((pair != old_pair) \
|| (fix_pair0 && (pair == 0)) \
|| (reverse ^ ((old_attr & A_REVERSE) != 0))) { \
- NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_ARGx \
- old_pair, pair, \
- reverse, outc); \
+ _nc_do_color(old_pair, pair, reverse, outc); \
} \
}
-#define set_color(mode, pair) \
- mode &= ALL_BUT_COLOR; \
- mode |= (attr_t) ColorPair(pair)
+#define set_color(mode, pair) mode &= ALL_BUT_COLOR; mode |= COLOR_PAIR(pair)
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(vid_puts) (NCURSES_SP_DCLx
- attr_t newmode,
- short pair,
- void *opts GCC_UNUSED,
- NCURSES_SP_OUTC outc)
+vid_puts(attr_t newmode, short pair, void *opts GCC_UNUSED, int (*outc) (int))
{
#if NCURSES_EXT_COLORS
static attr_t previous_attr = A_NORMAL;
@@ -76,9 +65,9 @@ NCURSES_SP_NAME(vid_puts) (NCURSES_SP_DCLx
attr_t turn_on, turn_off;
bool reverse = FALSE;
- bool can_color = (SP_PARM == 0 || SP_PARM->_coloron);
+ bool can_color = (SP == 0 || SP->_coloron);
#if NCURSES_EXT_FUNCS
- bool fix_pair0 = (SP_PARM != 0 && SP_PARM->_coloron && !SP_PARM->_default_color);
+ bool fix_pair0 = (SP != 0 && SP->_coloron && !SP->_default_color);
#else
#define fix_pair0 FALSE
#endif
@@ -87,18 +76,18 @@ NCURSES_SP_NAME(vid_puts) (NCURSES_SP_DCLx
T((T_CALLED("vid_puts(%s,%d)"), _traceattr(newmode), pair));
/* this allows us to go on whether or not newterm() has been called */
- if (SP_PARM) {
- previous_attr = AttrOf(SCREEN_ATTRS(SP_PARM));
- previous_pair = GetPair(SCREEN_ATTRS(SP_PARM));
+ if (SP) {
+ previous_attr = AttrOf(SCREEN_ATTRS(SP));
+ previous_pair = GetPair(SCREEN_ATTRS(SP));
}
TR(TRACE_ATTRS, ("previous attribute was %s, %d",
_traceattr(previous_attr), previous_pair));
#if !USE_XMC_SUPPORT
- if ((SP_PARM != 0)
+ if ((SP != 0)
&& (magic_cookie_glitch > 0))
- newmode &= ~(SP_PARM->_xmc_suppress);
+ newmode &= ~(SP->_xmc_suppress);
#endif
/*
@@ -155,10 +144,10 @@ NCURSES_SP_NAME(vid_puts) (NCURSES_SP_DCLx
if (exit_attribute_mode) {
doPut(exit_attribute_mode);
} else {
- if (!SP_PARM || SP_PARM->_use_rmul) {
+ if (!SP || SP->_use_rmul) {
TurnOff(A_UNDERLINE, exit_underline_mode);
}
- if (!SP_PARM || SP_PARM->_use_rmso) {
+ if (!SP || SP->_use_rmso) {
TurnOff(A_STANDOUT, exit_standout_mode);
}
}
@@ -170,18 +159,16 @@ NCURSES_SP_NAME(vid_puts) (NCURSES_SP_DCLx
} else if (set_attributes) {
if (turn_on || turn_off) {
TPUTS_TRACE("set_attributes");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_9(set_attributes,
- (newmode & A_STANDOUT) != 0,
- (newmode & A_UNDERLINE) != 0,
- (newmode & A_REVERSE) != 0,
- (newmode & A_BLINK) != 0,
- (newmode & A_DIM) != 0,
- (newmode & A_BOLD) != 0,
- (newmode & A_INVIS) != 0,
- (newmode & A_PROTECT) != 0,
- (newmode & A_ALTCHARSET) != 0),
- 1, outc);
+ tputs(TPARM_9(set_attributes,
+ (newmode & A_STANDOUT) != 0,
+ (newmode & A_UNDERLINE) != 0,
+ (newmode & A_REVERSE) != 0,
+ (newmode & A_BLINK) != 0,
+ (newmode & A_DIM) != 0,
+ (newmode & A_BOLD) != 0,
+ (newmode & A_INVIS) != 0,
+ (newmode & A_PROTECT) != 0,
+ (newmode & A_ALTCHARSET) != 0), 1, outc);
previous_attr &= ALL_BUT_COLOR;
previous_pair = 0;
}
@@ -192,11 +179,11 @@ NCURSES_SP_NAME(vid_puts) (NCURSES_SP_DCLx
TurnOff(A_ALTCHARSET, exit_alt_charset_mode);
- if (!SP_PARM || SP_PARM->_use_rmul) {
+ if (!SP || SP->_use_rmul) {
TurnOff(A_UNDERLINE, exit_underline_mode);
}
- if (!SP_PARM || SP_PARM->_use_rmso) {
+ if (!SP || SP->_use_rmso) {
TurnOff(A_STANDOUT, exit_standout_mode);
}
@@ -234,9 +221,9 @@ NCURSES_SP_NAME(vid_puts) (NCURSES_SP_DCLx
if (reverse)
newmode |= A_REVERSE;
- if (SP_PARM) {
- SetAttr(SCREEN_ATTRS(SP_PARM), newmode);
- SetPair(SCREEN_ATTRS(SP_PARM), pair);
+ if (SP) {
+ SetAttr(SCREEN_ATTRS(SP), newmode);
+ SetPair(SCREEN_ATTRS(SP), pair);
} else {
previous_attr = newmode;
previous_pair = pair;
@@ -246,60 +233,29 @@ NCURSES_SP_NAME(vid_puts) (NCURSES_SP_DCLx
#else
T((T_CALLED("vid_puts(%s,%d)"), _traceattr(newmode), pair));
set_color(newmode, pair);
- returnCode(NCURSES_SP_NAME(vidputs) (NCURSES_SP_ARGx newmode, outc));
+ returnCode(vidputs(newmode, outc));
#endif
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-vid_puts(attr_t newmode,
- short pair,
- void *opts GCC_UNUSED,
- NCURSES_OUTC outc)
-{
- SetSafeOutcWrapper(outc);
- return NCURSES_SP_NAME(vid_puts) (CURRENT_SCREEN,
- newmode,
- pair,
- opts,
- _nc_outc_wrapper);
-}
-#endif
-
#undef vid_attr
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(vid_attr) (NCURSES_SP_DCLx
- attr_t newmode,
- short pair,
- void *opts)
-{
- T((T_CALLED("vid_attr(%s,%d)"), _traceattr(newmode), pair));
- returnCode(NCURSES_SP_NAME(vid_puts) (NCURSES_SP_ARGx
- newmode,
- pair,
- opts,
- NCURSES_SP_NAME(_nc_outch)));
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
vid_attr(attr_t newmode, short pair, void *opts)
{
- return NCURSES_SP_NAME(vid_attr) (CURRENT_SCREEN, newmode, pair, opts);
+ T((T_CALLED("vid_attr(%s,%d)"), _traceattr(newmode), pair));
+ returnCode(vid_puts(newmode, pair, opts, _nc_outch));
}
-#endif
/*
* This implementation uses the same mask values for A_xxx and WA_xxx, so
* we can use termattrs() for part of the logic.
*/
NCURSES_EXPORT(attr_t)
-NCURSES_SP_NAME(term_attrs) (NCURSES_SP_DCL0)
+term_attrs(void)
{
attr_t attrs;
T((T_CALLED("term_attrs()")));
- attrs = SP_PARM ? NCURSES_SP_NAME(termattrs) (NCURSES_SP_ARG) : 0;
+ attrs = termattrs();
/* these are only supported for wide-character mode */
if (enter_horizontal_hl_mode)
@@ -317,11 +273,3 @@ NCURSES_SP_NAME(term_attrs) (NCURSES_SP_DCL0)
returnAttr(attrs);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(attr_t)
-term_attrs(void)
-{
- return NCURSES_SP_NAME(term_attrs) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/widechar/lib_vline_set.c b/ncurses/widechar/lib_vline_set.c
index 917caac44b44..af42df1f24ab 100644
--- a/ncurses/widechar/lib_vline_set.c
+++ b/ncurses/widechar/lib_vline_set.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002 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,16 +39,16 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_vline_set.c,v 1.4 2010/12/19 01:50:50 tom Exp $")
+MODULE_ID("$Id: lib_vline_set.c,v 1.2 2002/03/23 21:36:01 tom Exp $")
NCURSES_EXPORT(int)
-wvline_set(WINDOW *win, const cchar_t *ch, int n)
+wvline_set(WINDOW *win, const cchar_t * ch, int n)
{
int code = ERR;
- int row, col;
- int end;
+ NCURSES_SIZE_T row, col;
+ NCURSES_SIZE_T end;
- T((T_CALLED("wvline(%p,%s,%d)"), (void *) win, _tracecchar_t(ch), n));
+ T((T_CALLED("wvline(%p,%s,%d)"), win, _tracecchar_t(ch), n));
if (win) {
NCURSES_CH_T wch;
diff --git a/ncurses/widechar/lib_wacs.c b/ncurses/widechar/lib_wacs.c
index 5a16e457e091..fe893b4d2f8b 100644
--- a/ncurses/widechar/lib_wacs.c
+++ b/ncurses/widechar/lib_wacs.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002,2006 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 *
@@ -31,8 +31,9 @@
****************************************************************************/
#include <curses.priv.h>
+#include <term.h>
-MODULE_ID("$Id: lib_wacs.c,v 1.10 2010/12/19 01:43:19 tom Exp $")
+MODULE_ID("$Id: lib_wacs.c,v 1.7 2006/12/17 15:16:17 tom Exp $")
NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0;
@@ -41,7 +42,7 @@ _nc_init_wacs(void)
{
/* *INDENT-OFF* */
static const struct {
- unsigned map;
+ int map;
int value[2];
} table[] = {
/* VT100 symbols */
@@ -79,30 +80,6 @@ _nc_init_wacs(void)
{ '{', { '*', 0x03c0 }}, /* greek pi */
{ '|', { '!', 0x2260 }}, /* not-equal */
{ '}', { 'f', 0x00a3 }}, /* pound-sterling symbol */
- /* thick-line-drawing */
- { 'L', { '+', 0x250f }}, /* upper left corner */
- { 'M', { '+', 0x2517 }}, /* lower left corner */
- { 'K', { '+', 0x2513 }}, /* upper right corner */
- { 'J', { '+', 0x251b }}, /* lower right corner */
- { 'T', { '+', 0x2523 }}, /* tee pointing left */
- { 'U', { '+', 0x252b }}, /* tee pointing right */
- { 'V', { '+', 0x253b }}, /* tee pointing up */
- { 'W', { '+', 0x2533 }}, /* tee pointing down */
- { 'Q', { '-', 0x2501 }}, /* horizontal line */
- { 'X', { '|', 0x2503 }}, /* vertical line */
- { 'N', { '+', 0x254b }}, /* large plus or crossover */
- /* double-line-drawing */
- { 'C', { '+', 0x2554 }}, /* upper left corner */
- { 'D', { '+', 0x255a }}, /* lower left corner */
- { 'B', { '+', 0x2557 }}, /* upper right corner */
- { 'A', { '+', 0x255d }}, /* lower right corner */
- { 'G', { '+', 0x2563 }}, /* tee pointing left */
- { 'F', { '+', 0x2560 }}, /* tee pointing right */
- { 'H', { '+', 0x2569 }}, /* tee pointing up */
- { 'I', { '+', 0x2566 }}, /* tee pointing down */
- { 'R', { '-', 0x2550 }}, /* horizontal line */
- { 'Y', { '|', 0x2551 }}, /* vertical line */
- { 'E', { '+', 0x256c }}, /* large plus or crossover */
};
/* *INDENT-ON* */
diff --git a/ncurses/widechar/lib_wunctrl.c b/ncurses/widechar/lib_wunctrl.c
index 50958e44c7bb..be2259acdcff 100644
--- a/ncurses/widechar/lib_wunctrl.c
+++ b/ncurses/widechar/lib_wunctrl.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2001-2005,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -35,31 +35,21 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_wunctrl.c,v 1.14 2010/12/19 01:42:15 tom Exp $")
+MODULE_ID("$Id: lib_wunctrl.c,v 1.12 2007/06/12 20:22:32 tom Exp $")
NCURSES_EXPORT(wchar_t *)
-NCURSES_SP_NAME(wunctrl) (NCURSES_SP_DCLx cchar_t *wc)
+wunctrl(cchar_t *wc)
{
- static wchar_t str[CCHARW_MAX + 1], *wsp;
+ static wchar_t str[CCHARW_MAX + 1], *sp;
if (Charable(*wc)) {
- const char *p =
- NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx
- (unsigned) _nc_to_char((wint_t)CharOf(*wc)));
+ const char *p = unctrl((unsigned) _nc_to_char((wint_t) CharOf(*wc)));
- for (wsp = str; *p; ++p) {
- *wsp++ = (wchar_t) _nc_to_widechar(*p);
+ for (sp = str; *p; ++p) {
+ *sp++ = _nc_to_widechar(*p);
}
- *wsp = 0;
+ *sp = 0;
return str;
} else
return wc->chars;
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(wchar_t *)
-wunctrl(cchar_t *wc)
-{
- return NCURSES_SP_NAME(wunctrl) (CURRENT_SCREEN, wc);
-}
-#endif
diff --git a/ncurses/win32con/gettimeofday.c b/ncurses/win32con/gettimeofday.c
deleted file mode 100644
index e1ef3401de34..000000000000
--- a/ncurses/win32con/gettimeofday.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2008,2010 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"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************/
-
-#define WINVER 0x0501
-
-#include <curses.priv.h>
-
-#include <windows.h>
-
-MODULE_ID("$Id: gettimeofday.c,v 1.2 2010/01/16 15:18:51 tom Exp $")
-
-#define JAN1970 116444736000000000LL /* the value for 01/01/1970 00:00 */
-
-int
-gettimeofday(struct timeval *tv, void *tz GCC_UNUSED)
-{
- union {
- FILETIME ft;
- long long since1601; /* time since 1 Jan 1601 in 100ns units */
- } data;
-
- GetSystemTimeAsFileTime(&data.ft);
- tv->tv_usec = (long) ((data.since1601 / 10LL) % 1000000LL);
- tv->tv_sec = (long) ((data.since1601 - JAN1970) / 10000000LL);
- return (0);
-}
diff --git a/ncurses/win32con/wcwidth.c b/ncurses/win32con/wcwidth.c
deleted file mode 100644
index cdef64a23c0e..000000000000
--- a/ncurses/win32con/wcwidth.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2010 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"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************/
-#include <curses.priv.h>
-
-MODULE_ID("$Id: wcwidth.c,v 1.2 2010/08/07 20:52:43 tom Exp $")
-
-#if USE_WIDEC_SUPPORT
-#define mk_wcwidth(ucs) _nc_wcwidth(ucs)
-#define mk_wcswidth(pwcs, n) _nc_wcswidth(pwcs, n)
-#define mk_wcwidth_cjk(ucs) _nc_wcwidth_cjk(ucs)
-#define mk_wcswidth_cjk(pwcs, n) _nc_wcswidth_cjk(pwcs, n)
-
-extern int mk_wcwidth(wchar_t);
-extern int mk_wcswidth(const wchar_t *, size_t);
-extern int mk_wcwidth_cjk(wchar_t);
-extern int mk_wcswidth_cjk(const wchar_t *, size_t);
-
-#include <wcwidth.h>
-#else
-void _nc_empty_wcwidth(void);
-void
-_nc_empty_wcwidth(void)
-{
-}
-#endif
diff --git a/ncurses/win32con/win_driver.c b/ncurses/win32con/win_driver.c
deleted file mode 100644
index c214639cd4df..000000000000
--- a/ncurses/win32con/win_driver.c
+++ /dev/null
@@ -1,1241 +0,0 @@
-/****************************************************************************
- * Copyright (c) 1998-2009,2010 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"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************/
-
-/****************************************************************************
- * Author: Juergen Pfeifer *
- * *
- ****************************************************************************/
-
-/*
- * TODO - GetMousePos(POINT * result) from ntconio.c
- * TODO - implement nodelay
- */
-
-#include <curses.priv.h>
-#define CUR my_term.type.
-
-MODULE_ID("$Id: win_driver.c,v 1.10 2010/12/25 19:28:21 tom Exp $")
-
-#define WINMAGIC NCDRV_MAGIC(NCDRV_WINCONSOLE)
-
-#define AssertTCB() assert(TCB!=0 && TCB->magic==WINMAGIC)
-#define SetSP() assert(TCB->csp!=0); sp = TCB->csp
-
-#define GenMap(vKey,key) MAKELONG(key, vKey)
-
-static const LONG keylist[] =
-{
- GenMap(VK_PRIOR, KEY_PPAGE),
- GenMap(VK_NEXT, KEY_NPAGE),
- GenMap(VK_END, KEY_END),
- GenMap(VK_HOME, KEY_HOME),
- GenMap(VK_LEFT, KEY_LEFT),
- GenMap(VK_UP, KEY_UP),
- GenMap(VK_RIGHT, KEY_RIGHT),
- GenMap(VK_DOWN, KEY_DOWN),
- GenMap(VK_DELETE, KEY_DC),
- GenMap(VK_INSERT, KEY_IC)
-};
-#define N_INI ((int)(sizeof(keylist)/sizeof(keylist[0])))
-#define FKEYS 24
-#define MAPSIZE (FKEYS + N_INI)
-#define NUMPAIRS 64
-
-typedef struct props {
- CONSOLE_SCREEN_BUFFER_INFO SBI;
- bool progMode;
- DWORD map[MAPSIZE];
- DWORD rmap[MAPSIZE];
- WORD pairs[NUMPAIRS];
-} Properties;
-
-#define PropOf(TCB) ((Properties*)TCB->prop)
-
-int
-_nc_mingw_ioctl(int fd GCC_UNUSED,
- long int request GCC_UNUSED,
- struct termios *arg GCC_UNUSED)
-{
- return 0;
- endwin();
- fprintf(stderr, "TERMINFO currently not supported on Windows.\n");
- exit(1);
-}
-
-static WORD
-MapColor(bool fore, int color)
-{
- static const int _cmap[] =
- {0, 4, 2, 6, 1, 5, 3, 7};
- int a;
- if (color < 0 || color > 7)
- a = fore ? 7 : 0;
- else
- a = _cmap[color];
- if (!fore)
- a = a << 4;
- return (WORD) a;
-}
-
-static WORD
-MapAttr(TERMINAL_CONTROL_BLOCK * TCB, WORD res, chtype ch)
-{
- if (ch & A_COLOR) {
- int p;
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
- p = PairNumber(ch);
- if (p > 0 && p < NUMPAIRS && TCB != 0 && sp != 0) {
- WORD a;
- a = PropOf(TCB)->pairs[p];
- res = (res & 0xff00) | a;
- }
- }
-
- if (ch & A_REVERSE)
- res = ((res & 0xff00) | (((res & 0x07) << 4) | ((res & 0x70) >> 4)));
-
- if (ch & A_STANDOUT)
- res = ((res & 0xff00) | (((res & 0x07) << 4) | ((res & 0x70) >> 4))
- | BACKGROUND_INTENSITY);
-
- if (ch & A_BOLD)
- res |= FOREGROUND_INTENSITY;
-
- if (ch & A_DIM)
- res |= BACKGROUND_INTENSITY;
-
- return res;
-}
-
-static BOOL
-con_write(TERMINAL_CONTROL_BLOCK * TCB, int y, int x, chtype *str, int n)
-{
- CHAR_INFO ci[n];
- COORD loc, siz;
- SMALL_RECT rec;
- int i;
- chtype ch;
- SCREEN *sp;
-
- AssertTCB();
-
- if (TCB == 0 || InvalidConsoleHandle(TCB->hdl))
- return FALSE;
-
- SetSP();
-
- for (i = 0; i < n; i++) {
- ch = str[i];
- ci[i].Char.AsciiChar = ChCharOf(ch);
- ci[i].Attributes = MapAttr(TCB,
- PropOf(TCB)->SBI.wAttributes,
- ChAttrOf(ch));
- if (ChAttrOf(ch) & A_ALTCHARSET) {
- if (sp->_acs_map)
- ci[i].Char.AsciiChar =
- ChCharOf(NCURSES_SP_NAME(_nc_acs_char) (sp, ChCharOf(ch)));
- }
- }
-
- loc.X = (short) 0;
- loc.Y = (short) 0;
- siz.X = (short) n;
- siz.Y = 1;
-
- rec.Left = (short) x;
- rec.Top = (short) y;
- rec.Right = (short) (x + n - 1);
- rec.Bottom = rec.Top;
-
- return WriteConsoleOutput(TCB->hdl, ci, siz, loc, &rec);
-}
-
-#define MARK_NOCHANGE(win,row) \
- win->_line[row].firstchar = _NOCHANGE; \
- win->_line[row].lastchar = _NOCHANGE
-
-static int
-drv_doupdate(TERMINAL_CONTROL_BLOCK * TCB)
-{
- int y, nonempty, n, x0, x1, Width, Height;
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- Width = screen_columns(sp);
- Height = screen_lines(sp);
- nonempty = min(Height, NewScreen(sp)->_maxy + 1);
-
- if ((CurScreen(sp)->_clear || NewScreen(sp)->_clear)) {
- int x;
- chtype empty[Width];
-
- for (x = 0; x < Width; x++)
- empty[x] = ' ';
-
- for (y = 0; y < nonempty; y++) {
- con_write(TCB, y, 0, empty, Width);
- memcpy(empty,
- CurScreen(sp)->_line[y].text,
- Width * sizeof(chtype));
- }
- CurScreen(sp)->_clear = FALSE;
- NewScreen(sp)->_clear = FALSE;
- touchwin(NewScreen(sp));
- }
-
- for (y = 0; y < nonempty; y++) {
- x0 = NewScreen(sp)->_line[y].firstchar;
- if (x0 != _NOCHANGE) {
- x1 = NewScreen(sp)->_line[y].lastchar;
- n = x1 - x0 + 1;
- if (n > 0) {
- memcpy(CurScreen(sp)->_line[y].text + x0,
- NewScreen(sp)->_line[y].text + x0,
- n * sizeof(chtype));
- con_write(TCB,
- y,
- x0,
- ((chtype *) CurScreen(sp)->_line[y].text) + x0, n);
-
- /* mark line changed successfully */
- if (y <= NewScreen(sp)->_maxy) {
- MARK_NOCHANGE(NewScreen(sp), y);
- }
- if (y <= CurScreen(sp)->_maxy) {
- MARK_NOCHANGE(CurScreen(sp), y);
- }
- }
- }
- }
-
- /* put everything back in sync */
- for (y = nonempty; y <= NewScreen(sp)->_maxy; y++) {
- MARK_NOCHANGE(NewScreen(sp), y);
- }
- for (y = nonempty; y <= CurScreen(sp)->_maxy; y++) {
- MARK_NOCHANGE(CurScreen(sp), y);
- }
-
- if (!NewScreen(sp)->_leaveok) {
- CurScreen(sp)->_curx = NewScreen(sp)->_curx;
- CurScreen(sp)->_cury = NewScreen(sp)->_cury;
-
- TCB->drv->hwcur(TCB, 0, 0, CurScreen(sp)->_cury, CurScreen(sp)->_curx);
- }
- SetConsoleActiveScreenBuffer(TCB->hdl);
- return OK;
-}
-
-static bool
-drv_CanHandle(TERMINAL_CONTROL_BLOCK * TCB,
- const char *tname,
- int *errret GCC_UNUSED)
-{
- bool code = FALSE;
-
- T((T_CALLED("win32con::drv_CanHandle(%p)"), TCB));
-
- assert(TCB != 0);
- assert(tname != 0);
-
- TCB->magic = WINMAGIC;
- if (*tname == 0 || *tname == 0) {
- code = TRUE;
- } else {
- TERMINAL my_term;
- int status;
-
- code = FALSE;
-#if (USE_DATABASE || USE_TERMCAP)
- status = _nc_setup_tinfo(tname, &my_term.type);
-#else
- status = TGETENT_NO;
-#endif
- if (status != TGETENT_YES) {
- const TERMTYPE *fallback = _nc_fallback(tname);
-
- if (fallback) {
- my_term.type = *fallback;
- status = TGETENT_YES;
- } else if (!strcmp(tname, "unknown")) {
- code = TRUE;
- }
- }
- if (status == TGETENT_YES) {
- if (generic_type || hard_copy)
- code = TRUE;
- }
- }
-
- if (code) {
- if ((TCB->term.type.Booleans) == 0) {
- _nc_init_entry(&(TCB->term.type));
- }
- }
-
- returnBool(code);
-}
-
-static int
-drv_dobeepflash(TERMINAL_CONTROL_BLOCK * TCB,
- bool beepFlag GCC_UNUSED)
-{
- SCREEN *sp;
- int res = ERR;
-
- AssertTCB();
- SetSP();
-
- return res;
-}
-
-static int
-drv_print(TERMINAL_CONTROL_BLOCK * TCB,
- char *data GCC_UNUSED,
- int len GCC_UNUSED)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- return ERR;
-}
-
-static int
-drv_defaultcolors(TERMINAL_CONTROL_BLOCK * TCB,
- int fg GCC_UNUSED,
- int bg GCC_UNUSED)
-{
- SCREEN *sp;
- int code = ERR;
-
- AssertTCB();
- SetSP();
-
- return (code);
-}
-
-static void
-drv_setcolor(TERMINAL_CONTROL_BLOCK * TCB,
- bool fore,
- int color,
- int (*outc) (SCREEN *, int) GCC_UNUSED)
-{
- AssertTCB();
-
- if (TCB && !InvalidConsoleHandle(TCB->hdl)) {
- WORD a = MapColor(fore, color);
- a = ((PropOf(TCB)->SBI.wAttributes) & (fore ? 0xfff8 : 0xff8f)) | a;
- SetConsoleTextAttribute(TCB->hdl, a);
- GetConsoleScreenBufferInfo(TCB->hdl, &(PropOf(TCB)->SBI));
- }
-}
-
-static bool
-drv_rescol(TERMINAL_CONTROL_BLOCK * TCB)
-{
- bool res = FALSE;
-
- AssertTCB();
- if (TCB && !InvalidConsoleHandle(TCB->hdl)) {
- WORD a = FOREGROUND_BLUE | FOREGROUND_RED | FOREGROUND_GREEN;
- SetConsoleTextAttribute(TCB->hdl, a);
- GetConsoleScreenBufferInfo(TCB->hdl, &(PropOf(TCB)->SBI));
- res = TRUE;
- }
- return res;
-}
-
-static bool
-drv_rescolors(TERMINAL_CONTROL_BLOCK * TCB)
-{
- int result = FALSE;
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- return result;
-}
-
-static int
-drv_size(TERMINAL_CONTROL_BLOCK * TCB, int *Lines, int *Cols)
-{
- AssertTCB();
-
- if (TCB == NULL || Lines == NULL || Cols == NULL || InvalidConsoleHandle(TCB->hdl))
- return ERR;
-
- *Lines = (int) (PropOf(TCB)->SBI.dwSize.Y);
- *Cols = (int) (PropOf(TCB)->SBI.dwSize.X);
- return OK;
-}
-
-static int
-drv_setsize(TERMINAL_CONTROL_BLOCK * TCB GCC_UNUSED,
- int l GCC_UNUSED,
- int c GCC_UNUSED)
-{
- AssertTCB();
- return ERR;
-}
-
-static int
-drv_sgmode(TERMINAL_CONTROL_BLOCK * TCB, bool setFlag, TTY * buf)
-{
- DWORD dwFlag = 0;
- tcflag_t iflag;
- tcflag_t lflag;
-
- AssertTCB();
-
- if (TCB == 0 || buf == NULL)
- return ERR;
-
- if (setFlag) {
- iflag = buf->c_iflag;
- lflag = buf->c_lflag;
-
- GetConsoleMode(TCB->inp, &dwFlag);
-
- if (lflag & ICANON)
- dwFlag |= ENABLE_LINE_INPUT;
- else
- dwFlag &= ~ENABLE_LINE_INPUT;
-
- if (lflag & ECHO)
- dwFlag |= ENABLE_ECHO_INPUT;
- else
- dwFlag &= ~ENABLE_ECHO_INPUT;
-
- if (iflag & BRKINT)
- dwFlag |= ENABLE_PROCESSED_INPUT;
- else
- dwFlag &= ~ENABLE_PROCESSED_INPUT;
-
- dwFlag |= ENABLE_MOUSE_INPUT;
-
- buf->c_iflag = iflag;
- buf->c_lflag = lflag;
- SetConsoleMode(TCB->inp, dwFlag);
- TCB->term.Nttyb = *buf;
- } else {
- iflag = TCB->term.Nttyb.c_iflag;
- lflag = TCB->term.Nttyb.c_lflag;
- GetConsoleMode(TCB->inp, &dwFlag);
-
- if (dwFlag & ENABLE_LINE_INPUT)
- lflag |= ICANON;
- else
- lflag &= ~ICANON;
-
- if (dwFlag & ENABLE_ECHO_INPUT)
- lflag |= ECHO;
- else
- lflag &= ~ECHO;
-
- if (dwFlag & ENABLE_PROCESSED_INPUT)
- iflag |= BRKINT;
- else
- iflag &= ~BRKINT;
-
- TCB->term.Nttyb.c_iflag = iflag;
- TCB->term.Nttyb.c_lflag = lflag;
-
- *buf = TCB->term.Nttyb;
- }
- return OK;
-}
-
-static int
-drv_mode(TERMINAL_CONTROL_BLOCK * TCB, bool progFlag, bool defFlag)
-{
- SCREEN *sp;
- TERMINAL *_term = (TERMINAL *) TCB;
- int code = ERR;
-
- AssertTCB();
- sp = TCB->csp;
-
- PropOf(TCB)->progMode = progFlag;
- SetConsoleActiveScreenBuffer(progFlag ? TCB->hdl : TCB->out);
-
- if (progFlag) /* prog mode */ {
- if (defFlag) {
- if ((drv_sgmode(TCB, FALSE, &(_term->Nttyb)) == OK)) {
- _term->Nttyb.c_oflag &= ~OFLAGS_TABS;
- code = OK;
- }
- } else {
- /* reset_prog_mode */
- if (drv_sgmode(TCB, TRUE, &(_term->Nttyb)) == OK) {
- if (sp) {
- if (sp->_keypad_on)
- _nc_keypad(sp, TRUE);
- NC_BUFFERED(sp, TRUE);
- }
- code = OK;
- }
- }
- } else { /* shell mode */
- if (defFlag) {
- /* def_shell_mode */
- if (drv_sgmode(TCB, FALSE, &(_term->Ottyb)) == OK) {
- code = OK;
- }
- } else {
- /* reset_shell_mode */
- if (sp) {
- _nc_keypad(sp, FALSE);
- NCURSES_SP_NAME(_nc_flush) (sp);
- NC_BUFFERED(sp, FALSE);
- }
- code = drv_sgmode(TCB, TRUE, &(_term->Ottyb));
- }
- }
-
- return (code);
-}
-
-static void
-drv_screen_init(SCREEN *sp GCC_UNUSED)
-{
-}
-
-static void
-drv_wrap(SCREEN *sp GCC_UNUSED)
-{
-}
-
-static int
-rkeycompare(const void *el1, const void *el2)
-{
- WORD key1 = (LOWORD((*((const LONG *) el1)))) & 0x7fff;
- WORD key2 = (LOWORD((*((const LONG *) el2)))) & 0x7fff;
-
- return ((key1 < key2) ? -1 : ((key1 == key2) ? 0 : 1));
-}
-
-static int
-keycompare(const void *el1, const void *el2)
-{
- WORD key1 = HIWORD((*((const LONG *) el1)));
- WORD key2 = HIWORD((*((const LONG *) el2)));
-
- return ((key1 < key2) ? -1 : ((key1 == key2) ? 0 : 1));
-}
-
-static int
-MapKey(TERMINAL_CONTROL_BLOCK * TCB, WORD vKey)
-{
- WORD nKey = 0;
- void *res;
- LONG key = GenMap(vKey, 0);
- int code = -1;
-
- AssertTCB();
-
- res = bsearch(&key,
- PropOf(TCB)->map,
- (size_t) (N_INI + FKEYS),
- sizeof(keylist[0]),
- keycompare);
- if (res) {
- key = *((LONG *) res);
- nKey = LOWORD(key);
- code = (int) (nKey & 0x7fff);
- if (nKey & 0x8000)
- code = -code;
- }
- return code;
-}
-
-static void
-drv_release(TERMINAL_CONTROL_BLOCK * TCB)
-{
- T((T_CALLED("win32con::drv_release(%p)"), TCB));
-
- AssertTCB();
- if (TCB->prop)
- free(TCB->prop);
-
- returnVoid;
-}
-
-static void
-drv_init(TERMINAL_CONTROL_BLOCK * TCB)
-{
- DWORD num_buttons;
-
- T((T_CALLED("win32con::drv_init(%p)"), TCB));
-
- AssertTCB();
-
- if (TCB) {
- BOOL b = AllocConsole();
- WORD a;
- int i;
-
- if (!b)
- b = AttachConsole(ATTACH_PARENT_PROCESS);
-
- TCB->inp = GetStdHandle(STD_INPUT_HANDLE);
- TCB->out = GetStdHandle(STD_OUTPUT_HANDLE);
-
- if (getenv("NCGDB"))
- TCB->hdl = TCB->out;
- else
- TCB->hdl = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE,
- 0,
- NULL,
- CONSOLE_TEXTMODE_BUFFER,
- NULL);
-
- if (!InvalidConsoleHandle(TCB->hdl)) {
- TCB->prop = typeCalloc(Properties, 1);
- GetConsoleScreenBufferInfo(TCB->hdl, &(PropOf(TCB)->SBI));
- }
-
- TCB->info.initcolor = TRUE;
- TCB->info.canchange = FALSE;
- TCB->info.hascolor = TRUE;
- TCB->info.caninit = TRUE;
-
- TCB->info.maxpairs = NUMPAIRS;
- TCB->info.maxcolors = 8;
- TCB->info.numlabels = 0;
- TCB->info.labelwidth = 0;
- TCB->info.labelheight = 0;
- TCB->info.nocolorvideo = 1;
- TCB->info.tabsize = 8;
-
- if (GetNumberOfConsoleMouseButtons(&num_buttons)) {
- T(("mouse has %ld buttons", num_buttons));
- TCB->info.numbuttons = num_buttons;
- } else {
- TCB->info.numbuttons = 1;
- }
-
- TCB->info.defaultPalette = _nc_cga_palette;
-
- for (i = 0; i < (N_INI + FKEYS); i++) {
- if (i < N_INI)
- PropOf(TCB)->rmap[i] = PropOf(TCB)->map[i] = keylist[i];
- else
- PropOf(TCB)->rmap[i] = PropOf(TCB)->map[i] =
- GenMap((VK_F1 + (i - N_INI)), (KEY_F(1) + (i - N_INI)));
- }
- qsort(PropOf(TCB)->map,
- (size_t) (MAPSIZE),
- sizeof(keylist[0]),
- keycompare);
- qsort(PropOf(TCB)->rmap,
- (size_t) (MAPSIZE),
- sizeof(keylist[0]),
- rkeycompare);
-
- a = MapColor(true, COLOR_WHITE) | MapColor(false, COLOR_BLACK);
- for (i = 0; i < NUMPAIRS; i++)
- PropOf(TCB)->pairs[i] = a;
- }
- returnVoid;
-}
-
-static void
-drv_initpair(TERMINAL_CONTROL_BLOCK * TCB,
- short pair,
- short f,
- short b)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- if ((pair > 0) && (pair < NUMPAIRS) && (f >= 0) && (f < 8)
- && (b >= 0) && (b < 8)) {
- PropOf(TCB)->pairs[pair] = MapColor(true, f) | MapColor(false, b);
- }
-}
-
-static void
-drv_initcolor(TERMINAL_CONTROL_BLOCK * TCB,
- short color GCC_UNUSED,
- short r GCC_UNUSED,
- short g GCC_UNUSED,
- short b GCC_UNUSED)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-}
-
-static void
-drv_do_color(TERMINAL_CONTROL_BLOCK * TCB,
- short old_pair GCC_UNUSED,
- short pair GCC_UNUSED,
- bool reverse GCC_UNUSED,
- int (*outc) (SCREEN *, int) GCC_UNUSED
-)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-}
-
-static void
-drv_initmouse(TERMINAL_CONTROL_BLOCK * TCB)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- sp->_mouse_type = M_TERM_DRIVER;
-}
-
-static int
-drv_testmouse(TERMINAL_CONTROL_BLOCK * TCB, int delay)
-{
- int rc = 0;
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-
- if (sp->_drv_mouse_head < sp->_drv_mouse_tail) {
- rc = TW_MOUSE;
- } else {
- rc = TCBOf(sp)->drv->twait(TCBOf(sp),
- TWAIT_MASK,
- delay,
- (int *) 0
- EVENTLIST_2nd(evl));
- }
-
- return rc;
-}
-
-static int
-drv_mvcur(TERMINAL_CONTROL_BLOCK * TCB,
- int yold GCC_UNUSED, int xold GCC_UNUSED,
- int y, int x)
-{
- int ret = ERR;
- if (TCB && !InvalidConsoleHandle(TCB->hdl)) {
- COORD loc;
- loc.X = (short) x;
- loc.Y = (short) y;
- SetConsoleCursorPosition(TCB->hdl, loc);
- ret = OK;
- }
- return ret;
-}
-
-static void
-drv_hwlabel(TERMINAL_CONTROL_BLOCK * TCB,
- int labnum GCC_UNUSED,
- char *text GCC_UNUSED)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-}
-
-static void
-drv_hwlabelOnOff(TERMINAL_CONTROL_BLOCK * TCB,
- bool OnFlag GCC_UNUSED)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-}
-
-static chtype
-drv_conattr(TERMINAL_CONTROL_BLOCK * TCB GCC_UNUSED)
-{
- chtype res = A_NORMAL;
- res |= (A_BOLD | A_DIM | A_REVERSE | A_STANDOUT | A_COLOR);
- return res;
-}
-
-static void
-drv_setfilter(TERMINAL_CONTROL_BLOCK * TCB)
-{
- SCREEN *sp;
-
- AssertTCB();
- SetSP();
-}
-
-static void
-drv_initacs(TERMINAL_CONTROL_BLOCK * TCB,
- chtype *real_map GCC_UNUSED,
- chtype *fake_map GCC_UNUSED)
-{
-#define DATA(a,b) { a, b }
- static struct {
- int acs_code;
- int use_code;
- } table[] = {
- DATA('a', 0xb1), /* ACS_CKBOARD */
- DATA('f', 0xf8), /* ACS_DEGREE */
- DATA('g', 0xf1), /* ACS_PLMINUS */
- DATA('j', 0xd9), /* ACS_LRCORNER */
- DATA('l', 0xda), /* ACS_ULCORNER */
- DATA('k', 0xbf), /* ACS_URCORNER */
- DATA('m', 0xc0), /* ACS_LLCORNER */
- DATA('n', 0xc5), /* ACS_PLUS */
- DATA('q', 0xc4), /* ACS_HLINE */
- DATA('t', 0xc3), /* ACS_LTEE */
- DATA('u', 0xb4), /* ACS_RTEE */
- DATA('v', 0xc1), /* ACS_BTEE */
- DATA('w', 0xc2), /* ACS_TTEE */
- DATA('x', 0xb3), /* ACS_VLINE */
- DATA('y', 0xf3), /* ACS_LEQUAL */
- DATA('z', 0xf2), /* ACS_GEQUAL */
- DATA('0', 0xdb), /* ACS_BLOCK */
- DATA('{', 0xe3), /* ACS_PI */
- DATA('}', 0x9c), /* ACS_STERLING */
- DATA(',', 0xae), /* ACS_LARROW */
- DATA('+', 0xaf), /* ACS_RARROW */
- DATA('~', 0xf9), /* ACS_BULLET */
- };
-#undef DATA
- unsigned n;
-
- SCREEN *sp;
- AssertTCB();
- SetSP();
-
- for (n = 0; n < SIZEOF(table); ++n) {
- real_map[table[n].acs_code] = table[n].use_code | A_ALTCHARSET;
- if (sp != 0)
- sp->_screen_acs_map[table[n].acs_code] = TRUE;
- }
-}
-
-static ULONGLONG
-tdiff(FILETIME fstart, FILETIME fend)
-{
- ULARGE_INTEGER ustart;
- ULARGE_INTEGER uend;
- ULONGLONG diff;
-
- ustart.LowPart = fstart.dwLowDateTime;
- ustart.HighPart = fstart.dwHighDateTime;
- uend.LowPart = fend.dwLowDateTime;
- uend.HighPart = fend.dwHighDateTime;
-
- diff = (uend.QuadPart - ustart.QuadPart) / 10000;
- return diff;
-}
-
-static int
-Adjust(int milliseconds, int diff)
-{
- if (milliseconds == INFINITY)
- return milliseconds;
- milliseconds -= diff;
- if (milliseconds < 0)
- milliseconds = 0;
- return milliseconds;
-}
-
-#define BUTTON_MASK (FROM_LEFT_1ST_BUTTON_PRESSED | \
- FROM_LEFT_2ND_BUTTON_PRESSED | \
- FROM_LEFT_3RD_BUTTON_PRESSED | \
- FROM_LEFT_4TH_BUTTON_PRESSED | \
- RIGHTMOST_BUTTON_PRESSED)
-
-static int
-decode_mouse(TERMINAL_CONTROL_BLOCK * TCB, int mask)
-{
- SCREEN *sp;
- int result = 0;
-
- AssertTCB();
- SetSP();
-
- if (mask & FROM_LEFT_1ST_BUTTON_PRESSED)
- result |= BUTTON1_PRESSED;
- if (mask & FROM_LEFT_2ND_BUTTON_PRESSED)
- result |= BUTTON2_PRESSED;
- if (mask & FROM_LEFT_3RD_BUTTON_PRESSED)
- result |= BUTTON3_PRESSED;
- if (mask & FROM_LEFT_4TH_BUTTON_PRESSED)
- result |= BUTTON4_PRESSED;
-
- if (mask & RIGHTMOST_BUTTON_PRESSED) {
- switch (TCB->info.numbuttons) {
- case 1:
- result |= BUTTON1_PRESSED;
- break;
- case 2:
- result |= BUTTON2_PRESSED;
- break;
- case 3:
- result |= BUTTON3_PRESSED;
- break;
- case 4:
- result |= BUTTON4_PRESSED;
- break;
- }
- }
-
- return result;
-}
-
-static int
-drv_twait(TERMINAL_CONTROL_BLOCK * TCB,
- int mode,
- int milliseconds,
- int *timeleft
- EVENTLIST_2nd(_nc_eventlist * evl))
-{
- SCREEN *sp;
- INPUT_RECORD inp_rec;
- BOOL b;
- DWORD nRead = 0, rc = -1;
- int code = 0;
- FILETIME fstart;
- FILETIME fend;
- int diff;
- bool isImmed = (milliseconds == 0);
-
-#define CONSUME() ReadConsoleInput(TCB->inp,&inp_rec,1,&nRead)
-
- AssertTCB();
- SetSP();
-
- TR(TRACE_IEVENT, ("start twait: %d milliseconds, mode: %d",
- milliseconds, mode));
-
- if (milliseconds < 0)
- milliseconds = INFINITY;
-
- memset(&inp_rec, 0, sizeof(inp_rec));
-
- while (true) {
- GetSystemTimeAsFileTime(&fstart);
- rc = WaitForSingleObject(TCB->inp, milliseconds);
- GetSystemTimeAsFileTime(&fend);
- diff = (int) tdiff(fstart, fend);
- milliseconds = Adjust(milliseconds, diff);
-
- if (!isImmed && milliseconds == 0)
- break;
-
- if (rc == WAIT_OBJECT_0) {
- if (mode) {
- b = GetNumberOfConsoleInputEvents(TCB->inp, &nRead);
- if (b && nRead > 0) {
- b = PeekConsoleInput(TCB->inp, &inp_rec, 1, &nRead);
- if (b && nRead > 0) {
- switch (inp_rec.EventType) {
- case KEY_EVENT:
- if (mode & TW_INPUT) {
- WORD vk = inp_rec.Event.KeyEvent.wVirtualKeyCode;
- char ch = inp_rec.Event.KeyEvent.uChar.AsciiChar;
-
- if (inp_rec.Event.KeyEvent.bKeyDown) {
- if (0 == ch) {
- int nKey = MapKey(TCB, vk);
- if ((nKey < 0) || FALSE == sp->_keypad_on) {
- CONSUME();
- continue;
- }
- }
- code = TW_INPUT;
- goto end;
- } else {
- CONSUME();
- }
- }
- continue;
- case MOUSE_EVENT:
- if (decode_mouse(TCB,
- (inp_rec.Event.MouseEvent.dwButtonState
- & BUTTON_MASK)) == 0) {
- CONSUME();
- } else if (mode & TW_MOUSE) {
- code = TW_MOUSE;
- goto end;
- }
- continue;
- default:
- SetConsoleActiveScreenBuffer(!PropOf(TCB)->progMode ?
- TCB->hdl : TCB->out);
- continue;
- }
- }
- }
- }
- continue;
- } else {
- if (rc != WAIT_TIMEOUT) {
- code = -1;
- break;
- } else {
- code = 0;
- break;
- }
- }
- }
- end:
-
- TR(TRACE_IEVENT, ("end twait: returned %d (%d), remaining time %d msec",
- code, errno, milliseconds));
-
- if (timeleft)
- *timeleft = milliseconds;
-
- return code;
-}
-
-static bool
-handle_mouse(TERMINAL_CONTROL_BLOCK * TCB, MOUSE_EVENT_RECORD mer)
-{
- SCREEN *sp;
- MEVENT work;
- bool result = FALSE;
-
- AssertTCB();
- SetSP();
-
- sp->_drv_mouse_old_buttons = sp->_drv_mouse_new_buttons;
- sp->_drv_mouse_new_buttons = mer.dwButtonState & BUTTON_MASK;
-
- /*
- * We're only interested if the button is pressed or released.
- * FIXME: implement continuous event-tracking.
- */
- if (sp->_drv_mouse_new_buttons != sp->_drv_mouse_old_buttons) {
-
- memset(&work, 0, sizeof(work));
-
- if (sp->_drv_mouse_new_buttons) {
-
- work.bstate |= decode_mouse(TCB, sp->_drv_mouse_new_buttons);
-
- } else {
-
- /* cf: BUTTON_PRESSED, BUTTON_RELEASED */
- work.bstate |= (decode_mouse(TCB, sp->_drv_mouse_old_buttons) >> 1);
-
- result = TRUE;
- }
-
- work.x = mer.dwMousePosition.X;
- work.y = mer.dwMousePosition.Y;
-
- sp->_drv_mouse_fifo[sp->_drv_mouse_tail] = work;
- sp->_drv_mouse_tail += 1;
- }
-
- return result;
-}
-
-static int
-drv_read(TERMINAL_CONTROL_BLOCK * TCB, int *buf)
-{
- SCREEN *sp;
- int n = 1;
- INPUT_RECORD inp_rec;
- BOOL b;
- DWORD nRead;
- WORD vk;
- WORD sc;
-
- AssertTCB();
- assert(buf);
- SetSP();
-
- memset(&inp_rec, 0, sizeof(inp_rec));
-
- T((T_CALLED("win32con::drv_read(%p)"), TCB));
- while ((b = ReadConsoleInput(TCB->inp, &inp_rec, 1, &nRead))) {
- if (b && nRead > 0) {
- if (inp_rec.EventType == KEY_EVENT) {
- if (!inp_rec.Event.KeyEvent.bKeyDown)
- continue;
- *buf = (int) inp_rec.Event.KeyEvent.uChar.AsciiChar;
- vk = inp_rec.Event.KeyEvent.wVirtualKeyCode;
- sc = inp_rec.Event.KeyEvent.wVirtualScanCode;
- if (*buf == 0) {
- if (sp->_keypad_on) {
- *buf = MapKey(TCB, vk);
- if (0 > (*buf))
- continue;
- else
- break;
- } else
- continue;
- } else { /* *buf != 0 */
- break;
- }
- } else if (inp_rec.EventType == MOUSE_EVENT) {
- if (handle_mouse(TCB, inp_rec.Event.MouseEvent)) {
- *buf = KEY_MOUSE;
- break;
- }
- }
- continue;
- }
- }
- returnCode(n);
-}
-
-static int
-drv_nap(TERMINAL_CONTROL_BLOCK * TCB GCC_UNUSED, int ms)
-{
- Sleep(ms);
- return OK;
-}
-
-static bool
-drv_kyExist(TERMINAL_CONTROL_BLOCK * TCB, int keycode)
-{
- SCREEN *sp;
- WORD nKey;
- void *res;
- bool found = FALSE;
- LONG key = GenMap(0, (WORD) keycode);
-
- AssertTCB();
- SetSP();
-
- AssertTCB();
-
- res = bsearch(&key,
- PropOf(TCB)->rmap,
- (size_t) (N_INI + FKEYS),
- sizeof(keylist[0]),
- rkeycompare);
- if (res) {
- key = *((LONG *) res);
- nKey = LOWORD(key);
- if (!(nKey & 0x8000))
- found = TRUE;
- }
- return found;
-}
-
-static int
-drv_kpad(TERMINAL_CONTROL_BLOCK * TCB, bool flag GCC_UNUSED)
-{
- SCREEN *sp;
- int code = ERR;
-
- AssertTCB();
- sp = TCB->csp;
-
- if (sp) {
- code = OK;
- }
- return code;
-}
-
-static int
-drv_keyok(TERMINAL_CONTROL_BLOCK * TCB, int keycode, bool flag)
-{
- int code = ERR;
- SCREEN *sp;
- WORD nKey;
- WORD vKey;
- void *res;
- LONG key = GenMap(0, (WORD) keycode);
-
- AssertTCB();
- SetSP();
-
- if (sp) {
- res = bsearch(&key,
- PropOf(TCB)->rmap,
- (size_t) (N_INI + FKEYS),
- sizeof(keylist[0]),
- rkeycompare);
- if (res) {
- key = *((LONG *) res);
- vKey = HIWORD(key);
- nKey = (LOWORD(key)) & 0x7fff;
- if (!flag)
- nKey |= 0x8000;
- *(LONG *) res = GenMap(vKey, nKey);
- }
- }
- return code;
-}
-
-NCURSES_EXPORT_VAR (TERM_DRIVER) _nc_WIN_DRIVER = {
- FALSE,
- drv_CanHandle, /* CanHandle */
- drv_init, /* init */
- drv_release, /* release */
- drv_size, /* size */
- drv_sgmode, /* sgmode */
- drv_conattr, /* conattr */
- drv_mvcur, /* hwcur */
- drv_mode, /* mode */
- drv_rescol, /* rescol */
- drv_rescolors, /* rescolors */
- drv_setcolor, /* color */
- drv_dobeepflash, /* DoBeepFlash */
- drv_initpair, /* initpair */
- drv_initcolor, /* initcolor */
- drv_do_color, /* docolor */
- drv_initmouse, /* initmouse */
- drv_testmouse, /* testmouse */
- drv_setfilter, /* setfilter */
- drv_hwlabel, /* hwlabel */
- drv_hwlabelOnOff, /* hwlabelOnOff */
- drv_doupdate, /* update */
- drv_defaultcolors, /* defaultcolors */
- drv_print, /* print */
- drv_size, /* getsize */
- drv_setsize, /* setsize */
- drv_initacs, /* initacs */
- drv_screen_init, /* scinit */
- drv_wrap, /* scexit */
- drv_twait, /* twait */
- drv_read, /* read */
- drv_nap, /* nap */
- drv_kpad, /* kpad */
- drv_keyok, /* kyOk */
- drv_kyExist /* kyExist */
-};