From 4b819fa20a8d007a10f2d3e8d6a5dedf7f18fc9a Mon Sep 17 00:00:00 2001 From: Xin LI Date: Fri, 28 Feb 2014 19:12:44 +0000 Subject: Undo two previous imports which was never done in preparation of doing a new import. --- ncurses/Makefile.in | 54 +- ncurses/README | 23 +- ncurses/base/MKkeyname.awk | 21 +- ncurses/base/MKlib_gen.sh | 75 +- ncurses/base/MKunctrl.awk | 26 +- ncurses/base/define_key.c | 39 +- ncurses/base/key_defined.c | 20 +- ncurses/base/keybound.c | 23 +- ncurses/base/keyok.c | 39 +- ncurses/base/legacy_coding.c | 25 +- ncurses/base/lib_addch.c | 80 +- ncurses/base/lib_addstr.c | 19 +- ncurses/base/lib_beep.c | 27 +- ncurses/base/lib_bkgd.c | 16 +- ncurses/base/lib_box.c | 9 +- ncurses/base/lib_chgat.c | 8 +- ncurses/base/lib_clear.c | 6 +- ncurses/base/lib_clearok.c | 6 +- ncurses/base/lib_clrbot.c | 6 +- ncurses/base/lib_clreol.c | 6 +- ncurses/base/lib_color.c | 544 +--- ncurses/base/lib_colorset.c | 19 +- ncurses/base/lib_delch.c | 6 +- ncurses/base/lib_delwin.c | 21 +- ncurses/base/lib_dft_fgbg.c | 70 +- ncurses/base/lib_driver.c | 143 - ncurses/base/lib_echo.c | 36 +- ncurses/base/lib_endwin.c | 39 +- ncurses/base/lib_erase.c | 6 +- ncurses/base/lib_flash.c | 30 +- ncurses/base/lib_freeall.c | 62 +- ncurses/base/lib_getch.c | 181 +- ncurses/base/lib_getstr.c | 25 +- ncurses/base/lib_hline.c | 10 +- ncurses/base/lib_immedok.c | 6 +- ncurses/base/lib_inchstr.c | 11 +- ncurses/base/lib_initscr.c | 8 +- ncurses/base/lib_insch.c | 48 +- ncurses/base/lib_insdel.c | 6 +- ncurses/base/lib_insnstr.c | 10 +- ncurses/base/lib_instr.c | 30 +- ncurses/base/lib_isendwin.c | 20 +- ncurses/base/lib_leaveok.c | 6 +- ncurses/base/lib_mouse.c | 277 +- ncurses/base/lib_move.c | 6 +- ncurses/base/lib_mvwin.c | 20 +- ncurses/base/lib_newterm.c | 234 +- ncurses/base/lib_newwin.c | 154 +- ncurses/base/lib_nl.c | 46 +- ncurses/base/lib_overlay.c | 16 +- ncurses/base/lib_pad.c | 82 +- ncurses/base/lib_printw.c | 16 +- ncurses/base/lib_redrawln.c | 27 +- ncurses/base/lib_refresh.c | 69 +- ncurses/base/lib_restart.c | 78 +- ncurses/base/lib_scanw.c | 6 +- ncurses/base/lib_screen.c | 126 +- ncurses/base/lib_scroll.c | 10 +- ncurses/base/lib_scrollok.c | 6 +- ncurses/base/lib_scrreg.c | 6 +- ncurses/base/lib_set_term.c | 472 ++-- ncurses/base/lib_slk.c | 242 +- ncurses/base/lib_slkatr_set.c | 48 +- ncurses/base/lib_slkatrof.c | 26 +- ncurses/base/lib_slkatron.c | 26 +- ncurses/base/lib_slkatrset.c | 20 +- ncurses/base/lib_slkattr.c | 24 +- ncurses/base/lib_slkclear.c | 30 +- ncurses/base/lib_slkcolor.c | 40 +- ncurses/base/lib_slkinit.c | 39 +- ncurses/base/lib_slklab.c | 22 +- ncurses/base/lib_slkrefr.c | 91 +- ncurses/base/lib_slkset.c | 28 +- ncurses/base/lib_slktouch.c | 24 +- ncurses/base/lib_touch.c | 14 +- ncurses/base/lib_ungetch.c | 14 +- ncurses/base/lib_vline.c | 10 +- ncurses/base/lib_wattroff.c | 6 +- ncurses/base/lib_wattron.c | 8 +- ncurses/base/lib_winch.c | 12 +- ncurses/base/lib_window.c | 66 +- ncurses/base/nc_panel.c | 18 +- ncurses/base/resizeterm.c | 198 +- ncurses/base/safe_sprintf.c | 37 +- ncurses/base/tries.c | 12 +- ncurses/base/use_window.c | 6 +- ncurses/base/wresize.c | 33 +- ncurses/build.priv.h | 108 - ncurses/curses.priv.h | 878 +----- ncurses/llib-lncurses | 1026 +------ ncurses/llib-lncursest | 1055 +------- ncurses/llib-lncursestw | 5270 ------------------------------------ ncurses/llib-lncursesw | 1071 +------- ncurses/modules | 370 ++- ncurses/tinfo/MKcaptab.sh | 136 +- ncurses/tinfo/MKcodes.awk | 23 +- ncurses/tinfo/MKfallback.sh | 18 +- ncurses/tinfo/MKnames.awk | 26 +- ncurses/tinfo/access.c | 7 +- ncurses/tinfo/add_tries.c | 11 +- ncurses/tinfo/alloc_entry.c | 19 +- ncurses/tinfo/alloc_ttype.c | 90 +- ncurses/tinfo/captoinfo.c | 49 +- ncurses/tinfo/comp_expand.c | 6 +- ncurses/tinfo/comp_hash.c | 334 ++- ncurses/tinfo/comp_parse.c | 18 +- ncurses/tinfo/comp_scan.c | 94 +- ncurses/tinfo/db_iterator.c | 11 +- ncurses/tinfo/entries.c | 18 +- ncurses/tinfo/free_ttype.c | 6 +- ncurses/tinfo/hashed_db.c | 58 +- ncurses/tinfo/home_terminfo.c | 6 +- ncurses/tinfo/init_keytry.c | 20 +- ncurses/tinfo/lib_acs.c | 82 +- ncurses/tinfo/lib_baudrate.c | 32 +- ncurses/tinfo/lib_cur_term.c | 112 +- ncurses/tinfo/lib_data.c | 50 +- ncurses/tinfo/lib_has_cap.c | 53 +- ncurses/tinfo/lib_kernel.c | 82 +- ncurses/tinfo/lib_longname.c | 42 +- ncurses/tinfo/lib_napms.c | 21 +- ncurses/tinfo/lib_options.c | 277 +- ncurses/tinfo/lib_print.c | 39 +- ncurses/tinfo/lib_raw.c | 202 +- ncurses/tinfo/lib_setup.c | 401 +-- ncurses/tinfo/lib_termcap.c | 227 +- ncurses/tinfo/lib_termname.c | 22 +- ncurses/tinfo/lib_ti.c | 162 +- ncurses/tinfo/lib_tparm.c | 49 +- ncurses/tinfo/lib_tputs.c | 168 +- ncurses/tinfo/lib_ttyflags.c | 207 +- ncurses/tinfo/make_hash.c | 294 -- ncurses/tinfo/make_keys.c | 24 +- ncurses/tinfo/name_match.c | 3 +- ncurses/tinfo/parse_entry.c | 55 +- ncurses/tinfo/read_entry.c | 71 +- ncurses/tinfo/read_termcap.c | 20 +- ncurses/tinfo/setbuf.c | 35 +- ncurses/tinfo/tinfo_driver.c | 1337 --------- ncurses/tinfo/trim_sgr0.c | 38 +- ncurses/tinfo/use_screen.c | 8 +- ncurses/tinfo/write_entry.c | 82 +- ncurses/trace/lib_trace.c | 37 +- ncurses/trace/lib_traceatr.c | 55 +- ncurses/trace/lib_tracebits.c | 7 +- ncurses/trace/lib_tracechr.c | 10 +- ncurses/trace/lib_tracedmp.c | 12 +- ncurses/trace/lib_tracemse.c | 42 +- ncurses/trace/trace_buf.c | 11 +- ncurses/trace/trace_tries.c | 14 +- ncurses/trace/trace_xnames.c | 7 +- ncurses/trace/varargs.c | 4 +- ncurses/trace/visbuf.c | 57 +- ncurses/tty/MKexpanded.sh | 61 +- ncurses/tty/hardscroll.c | 113 +- ncurses/tty/hashmap.c | 259 +- ncurses/tty/lib_mvcur.c | 504 ++-- ncurses/tty/lib_tstp.c | 45 +- ncurses/tty/lib_twait.c | 82 +- ncurses/tty/lib_vidattr.c | 133 +- ncurses/tty/tty_update.c | 1228 ++++----- ncurses/wcwidth.h | 309 --- ncurses/widechar/lib_add_wch.c | 438 +-- ncurses/widechar/lib_box_set.c | 6 +- ncurses/widechar/lib_cchar.c | 34 +- ncurses/widechar/lib_erasewchar.c | 8 +- ncurses/widechar/lib_get_wch.c | 33 +- ncurses/widechar/lib_get_wstr.c | 7 +- ncurses/widechar/lib_hline_set.c | 12 +- ncurses/widechar/lib_in_wch.c | 6 +- ncurses/widechar/lib_in_wchnstr.c | 6 +- ncurses/widechar/lib_ins_wch.c | 62 +- ncurses/widechar/lib_inwstr.c | 8 +- ncurses/widechar/lib_pecho_wchar.c | 8 +- ncurses/widechar/lib_unget_wch.c | 28 +- ncurses/widechar/lib_vid_attr.c | 124 +- ncurses/widechar/lib_vline_set.c | 12 +- ncurses/widechar/lib_wacs.c | 31 +- ncurses/widechar/lib_wunctrl.c | 26 +- ncurses/win32con/gettimeofday.c | 51 - ncurses/win32con/wcwidth.c | 50 - ncurses/win32con/win_driver.c | 1241 --------- 182 files changed, 4531 insertions(+), 20183 deletions(-) delete mode 100644 ncurses/base/lib_driver.c delete mode 100644 ncurses/build.priv.h delete mode 100644 ncurses/llib-lncursestw delete mode 100644 ncurses/tinfo/make_hash.c delete mode 100644 ncurses/tinfo/tinfo_driver.c delete mode 100644 ncurses/wcwidth.h delete mode 100644 ncurses/win32con/gettimeofday.c delete mode 100644 ncurses/win32con/wcwidth.c delete mode 100644 ncurses/win32con/win_driver.c (limited to 'ncurses') 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 " print "#include " + print "#include " 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: @@ -81,8 +81,6 @@ if test "$USE" = implemented ; then CALL="call_" cat >$ED1 <$ED3 <$ED4 <$ED4 <$ED4 <" - print "" - print "#undef NCURSES_NOMACROS /* _this_ file uses macros */" - print "" print "#include " 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 " print "#include " print "" + print "#if USE_WIDEC_SUPPORT" + print "#if HAVE_WCTYPE_H" + print "#include " + 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 -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 -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 -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 -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 -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 #include -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 -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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -41,12 +40,9 @@ */ #include +#include /* 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 -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 -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 -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 -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 -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 -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 -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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* lib_color.c @@ -39,33 +38,12 @@ */ #include -#include - -#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 +#include -#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 */ 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 #include -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 -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2008 * ****************************************************************************/ /* @@ -42,18 +40,15 @@ #include -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 +#include -#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 - -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -44,40 +42,20 @@ #include -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -41,39 +39,22 @@ */ #include +#include -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 -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -41,12 +39,9 @@ */ #include +#include /* 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 +#include #include #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 */ { @@ -150,22 +145,13 @@ _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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -42,80 +41,40 @@ #include -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 #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; @@ -248,34 +203,11 @@ fifo_push(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl)) ch = KEY_MOUSE; 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 +#include -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 -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 -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * ****************************************************************************/ /* @@ -41,14 +40,14 @@ #include -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 /* 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 #include -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 -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 #include -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 -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -42,20 +40,12 @@ #include -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 -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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2008 * ****************************************************************************/ /* @@ -80,12 +79,9 @@ #include -#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 #include #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); @@ -1016,11 +955,6 @@ mouse_activate(SCREEN *sp, bool on) signal(SIGUSR2, handle_sysmouse); sp->_mouse_active = TRUE; break; -#endif -#ifdef USE_TERM_DRIVER - case M_TERM_DRIVER: - sp->_mouse_active = TRUE; - break; #endif case M_NONE: return; @@ -1050,17 +984,12 @@ mouse_activate(SCREEN *sp, bool on) signal(SIGUSR2, SIG_IGN); 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(); } /************************************************************************** @@ -1292,11 +1221,6 @@ _nc_mouse_wrap(SCREEN *sp) case M_SYSMOUSE: 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 -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer * ****************************************************************************/ /* @@ -42,16 +40,12 @@ #include -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 1992,1995 * * and: Eric S. Raymond * * 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 /* clear_screen, cup & friends, cur_term */ #include -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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -43,7 +42,7 @@ #include #include -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -44,52 +42,38 @@ #include -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 #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 -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -42,22 +40,21 @@ #include -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 -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 -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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer * ****************************************************************************/ /* @@ -42,27 +41,24 @@ #include -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 1992,1995 * * and: Eric S. Raymond * * 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 /* 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 -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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996 on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ #include -#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 -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 -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 -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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -41,21 +40,11 @@ */ #include -#include - -#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 /* cur_term */ +#include -#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 -#include - -#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 +#include /* 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 -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 -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 -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 -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 -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 -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 -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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -40,41 +39,17 @@ */ #include -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 1992,1995 * * and: Eric S. Raymond * - * and: Juergen Pfeifer, 1998,2009 * - * and: Thomas E. Dickey 1998-on * ****************************************************************************/ /* @@ -40,22 +38,14 @@ */ #include -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 +#include /* 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 1992,1995 * + * and: Eric S. Raymond * ****************************************************************************/ /* @@ -38,24 +38,16 @@ */ #include -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 -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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -42,7 +41,7 @@ #include -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 @@ -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 -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 #include -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 #include -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 -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 -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 -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 +#include -#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 #include -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 -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 -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 -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 - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#if USE_RCS_IDS -#define MODULE_ID(id) static const char Ident[] = id; -#else -#define MODULE_ID(id) /*nothing*/ -#endif - -#include -#include -#include - -#include -#include - -#include - -#include /* we'll use -Ipath directive to get the right one! */ - -/* usually in */ -#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 - -/* 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 1992,1995 * * and: Eric S. Raymond * * 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 @@ -61,7 +60,6 @@ extern "C" { #define MODULE_ID(id) /*nothing*/ #endif -#include /* for offsetof */ #include #include #include @@ -99,6 +97,8 @@ extern "C" { extern int errno; #endif +#include + /* Some systems have a broken 'select()', but workable 'poll()'. Use that */ #if HAVE_WORKING_POLL #define USE_FUNC_POLL 1 @@ -177,20 +177,6 @@ extern NCURSES_EXPORT(int) _nc_env_access (void); 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 */ @@ -208,15 +194,6 @@ extern NCURSES_EXPORT(void *) _nc_memmove (void *, const void *, size_t); #define if_USE_SCROLL_HINTS(stmt) /*nothing*/ #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 @@ -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 /* 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 - -#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 - -/* - * 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 - #include -/* - * 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 -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 */ #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 : "") +#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 @@ -1595,15 +1332,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. */ @@ -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 @@ -1942,26 +1649,6 @@ extern NCURSES_EXPORT(int) _nc_eventlist_timeout(_nc_eventlist *); #define wgetnstr_events(win, str, maxlen, evl) wgetnstr(win, str, maxlen) #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(). */ @@ -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 -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 #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 #include -#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 + #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 +#include + #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 - -#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 -#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 + +#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 #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 #include -#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 + #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 +#include + #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 - -#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 + +#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 - -#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 - -#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 - -#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 - -#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 - -#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 - -#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 -#include - -#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 - -#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 - -#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 - -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 -#include -#include - -#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 - -#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 - -#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 - -#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 #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 -#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 #include -#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 + #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 +#include + #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 - -#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 -#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 + +#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 <= 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 " + 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 < +#include 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 " + 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 #include +#include -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 -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 #include +#include -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 #include +#include -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 #include -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 #include -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 #include -MODULE_ID("$Id: comp_hash.c,v 1.48 2009/08/08 17:36:21 tom Exp $") +#ifdef MAIN_PROGRAM +#include +#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 + +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 #include +#include -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 #include +#include #include -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 -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 @@ -36,8 +35,9 @@ #include #include +#include -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 #include +#include -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 @@ -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 #include -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 + +#include +/* keypad_xmit, keypad_local, meta_on, meta_off */ +/* cursor_visible,cursor_normal,cursor_invisible */ + #include /* struct tinfo_fkeys */ -MODULE_ID("$Id: init_keytry.c,v 1.17 2010/04/24 22:29:56 tom Exp $") +#include + +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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2008 * ****************************************************************************/ #include +#include /* 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 +#include /* cur_term, pad_char */ #include /* ospeed */ #if defined(__FreeBSD__) #include @@ -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 +#include /* TTY, cur_term */ #include /* 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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer * ****************************************************************************/ /* @@ -42,7 +41,7 @@ #include -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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-2003 * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -42,53 +41,25 @@ #include -#ifndef CUR -#define CUR SP_TERMTYPE -#endif +#include -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 2002 * - * and: Juergen Pfeifer 2009 * + * and: Thomas E. Dickey 2002 * ****************************************************************************/ /* @@ -47,8 +46,9 @@ */ #include +#include /* 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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -42,38 +40,8 @@ #include -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 1992,1995 * * and: Eric S. Raymond * - * 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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -42,67 +41,53 @@ #include -#ifndef CUR -#define CUR SP_TERMTYPE -#endif +#include + +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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer * ****************************************************************************/ #include -#ifndef CUR -#define CUR SP_TERMTYPE -#endif +#include -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1998-on * - * and: Juergen Pfeifer 2009 * + * and: Thomas E. Dickey 1998 on * ****************************************************************************/ /* @@ -48,8 +47,9 @@ */ #include +#include /* 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 -#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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -42,6 +41,7 @@ #include #include /* for MAX_NAME_SIZE */ +#include #if SVR4_TERMIO && !defined(_POSIX_SOURCE) #define _POSIX_SOURCE @@ -51,7 +51,9 @@ #include #endif -MODULE_ID("$Id: lib_setup.c,v 1.135 2011/02/06 01:04:21 tom Exp $") +#include /* 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 /* @@ -220,72 +187,43 @@ _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 1992,1995 * * and: Eric S. Raymond * * 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 #include -#ifndef CUR -#define CUR SP_TERMTYPE -#endif +#include -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 -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * ****************************************************************************/ #include +#include #include -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 #include +#include #include -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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * ****************************************************************************/ /* @@ -42,16 +41,12 @@ */ #include - -#ifndef CUR -#define CUR SP_TERMTYPE -#endif - #include +#include /* padding_baud_rate, xon_xoff */ #include /* ospeed */ #include -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 +#include /* 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); @@ -290,32 +203,18 @@ 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 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * make_hash.c --- build-time program for constructing comp_captab.c - * - */ - -#include - -#include -#include - -#include - -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 - -/* - * 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 +#include -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 -#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 +#include #include -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 #include +#include -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 #include +#include -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 #include #include +#include -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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2008 * ****************************************************************************/ /* @@ -42,7 +40,7 @@ #include -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 -#define CUR ((TERMINAL*)TCB)->type. -#include - -#if HAVE_NANOSLEEP -#include -#if HAVE_SYS_TIME_H -#include /* needed for MacOS X DP3 */ -#endif -#endif - -#if HAVE_SIZECHANGE -# if !defined(sun) || !TERMIOS -# if HAVE_SYS_IOCTL_H -# include -# 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 #include +#include -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 -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 #include +#include #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 1992,1995 * * and: Eric S. Raymond * * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer * ****************************************************************************/ /* @@ -47,7 +46,7 @@ #include -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,11 +183,7 @@ _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; @@ -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 1992,1995 * * and: Eric S. Raymond * - * and: Juergen Pfeifer * ****************************************************************************/ /* @@ -38,12 +37,9 @@ */ #include +#include /* 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 +#include /* 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 -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 #include -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 -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 -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 1999 * ****************************************************************************/ /* * trace_tries.c - Tracing/Debugging buffers (keycode tries-trees) @@ -35,7 +35,7 @@ #include -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 +#include -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 -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 #include -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 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 < - -#ifndef CUR -#define CUR SP_TERMTYPE -#endif - +#include #if NCURSES_EXPANDED EOF @@ -73,59 +68,29 @@ cat >$TMP </dev/null | \ - sed -e '1,/^IGNORE$/d' -e 's/^@/#/' -e 's/^#if_/#if /' +$preprocessor $TMP 2>/dev/null | sed -e '1,/^IGNORE$/d' cat < -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 +#include /* 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 1992,1995 * * and: Eric S. Raymond * * 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 +#include #include -#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 @@ -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 # endif #endif -#ifdef __MINGW32__ -# include -#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 1992,1995 * * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * and: Juergen Pfeifer 2009 * + * and: Thomas E. Dickey 1996 on * ****************************************************************************/ /* @@ -64,16 +63,11 @@ */ #include +#include -#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 1992,1995 * * and: Eric S. Raymond * * 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 -#ifndef CUR -#define CUR SP_TERMTYPE -#endif - #if defined __HAIKU__ && defined __BEOS__ #undef __BEOS__ #endif @@ -81,8 +76,9 @@ #endif #include +#include -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 - -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 -#if HAVE_WCTYPE_H -#include -#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 -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 -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 -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 #include -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 +#include -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 -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 -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 -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 -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 -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 -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 -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 +#include -#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 -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 +#include -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 -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 - -#include - -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 - -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 -#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 -#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 */ -}; -- cgit v1.2.3