aboutsummaryrefslogtreecommitdiff
path: root/ncurses/base
diff options
context:
space:
mode:
Diffstat (limited to 'ncurses/base')
-rw-r--r--ncurses/base/MKkeyname.awk21
-rwxr-xr-xncurses/base/MKlib_gen.sh75
-rw-r--r--ncurses/base/MKunctrl.awk26
-rw-r--r--ncurses/base/define_key.c39
-rw-r--r--ncurses/base/key_defined.c20
-rw-r--r--ncurses/base/keybound.c23
-rw-r--r--ncurses/base/keyok.c39
-rw-r--r--ncurses/base/legacy_coding.c25
-rw-r--r--ncurses/base/lib_addch.c80
-rw-r--r--ncurses/base/lib_addstr.c19
-rw-r--r--ncurses/base/lib_beep.c27
-rw-r--r--ncurses/base/lib_bkgd.c16
-rw-r--r--ncurses/base/lib_box.c9
-rw-r--r--ncurses/base/lib_chgat.c8
-rw-r--r--ncurses/base/lib_clear.c6
-rw-r--r--ncurses/base/lib_clearok.c6
-rw-r--r--ncurses/base/lib_clrbot.c6
-rw-r--r--ncurses/base/lib_clreol.c6
-rw-r--r--ncurses/base/lib_color.c544
-rw-r--r--ncurses/base/lib_colorset.c19
-rw-r--r--ncurses/base/lib_delch.c6
-rw-r--r--ncurses/base/lib_delwin.c21
-rw-r--r--ncurses/base/lib_dft_fgbg.c70
-rw-r--r--ncurses/base/lib_driver.c143
-rw-r--r--ncurses/base/lib_echo.c36
-rw-r--r--ncurses/base/lib_endwin.c39
-rw-r--r--ncurses/base/lib_erase.c6
-rw-r--r--ncurses/base/lib_flash.c30
-rw-r--r--ncurses/base/lib_freeall.c62
-rw-r--r--ncurses/base/lib_getch.c181
-rw-r--r--ncurses/base/lib_getstr.c25
-rw-r--r--ncurses/base/lib_hline.c10
-rw-r--r--ncurses/base/lib_immedok.c6
-rw-r--r--ncurses/base/lib_inchstr.c11
-rw-r--r--ncurses/base/lib_initscr.c8
-rw-r--r--ncurses/base/lib_insch.c48
-rw-r--r--ncurses/base/lib_insdel.c6
-rw-r--r--ncurses/base/lib_insnstr.c10
-rw-r--r--ncurses/base/lib_instr.c30
-rw-r--r--ncurses/base/lib_isendwin.c20
-rw-r--r--ncurses/base/lib_leaveok.c6
-rw-r--r--ncurses/base/lib_mouse.c277
-rw-r--r--ncurses/base/lib_move.c6
-rw-r--r--ncurses/base/lib_mvwin.c20
-rw-r--r--ncurses/base/lib_newterm.c234
-rw-r--r--ncurses/base/lib_newwin.c154
-rw-r--r--ncurses/base/lib_nl.c46
-rw-r--r--ncurses/base/lib_overlay.c16
-rw-r--r--ncurses/base/lib_pad.c82
-rw-r--r--ncurses/base/lib_printw.c16
-rw-r--r--ncurses/base/lib_redrawln.c27
-rw-r--r--ncurses/base/lib_refresh.c69
-rw-r--r--ncurses/base/lib_restart.c78
-rw-r--r--ncurses/base/lib_scanw.c6
-rw-r--r--ncurses/base/lib_screen.c126
-rw-r--r--ncurses/base/lib_scroll.c10
-rw-r--r--ncurses/base/lib_scrollok.c6
-rw-r--r--ncurses/base/lib_scrreg.c6
-rw-r--r--ncurses/base/lib_set_term.c472
-rw-r--r--ncurses/base/lib_slk.c242
-rw-r--r--ncurses/base/lib_slkatr_set.c48
-rw-r--r--ncurses/base/lib_slkatrof.c26
-rw-r--r--ncurses/base/lib_slkatron.c26
-rw-r--r--ncurses/base/lib_slkatrset.c20
-rw-r--r--ncurses/base/lib_slkattr.c24
-rw-r--r--ncurses/base/lib_slkclear.c30
-rw-r--r--ncurses/base/lib_slkcolor.c40
-rw-r--r--ncurses/base/lib_slkinit.c39
-rw-r--r--ncurses/base/lib_slklab.c22
-rw-r--r--ncurses/base/lib_slkrefr.c91
-rw-r--r--ncurses/base/lib_slkset.c28
-rw-r--r--ncurses/base/lib_slktouch.c24
-rw-r--r--ncurses/base/lib_touch.c14
-rw-r--r--ncurses/base/lib_ungetch.c14
-rw-r--r--ncurses/base/lib_vline.c10
-rw-r--r--ncurses/base/lib_wattroff.c6
-rw-r--r--ncurses/base/lib_wattron.c8
-rw-r--r--ncurses/base/lib_winch.c12
-rw-r--r--ncurses/base/lib_window.c66
-rw-r--r--ncurses/base/nc_panel.c18
-rw-r--r--ncurses/base/resizeterm.c198
-rw-r--r--ncurses/base/safe_sprintf.c37
-rw-r--r--ncurses/base/tries.c12
-rw-r--r--ncurses/base/use_window.c6
-rw-r--r--ncurses/base/wresize.c33
85 files changed, 1463 insertions, 3070 deletions
diff --git a/ncurses/base/MKkeyname.awk b/ncurses/base/MKkeyname.awk
index bb2599acb558..b35ba2a98027 100644
--- a/ncurses/base/MKkeyname.awk
+++ b/ncurses/base/MKkeyname.awk
@@ -1,6 +1,6 @@
-# $Id: MKkeyname.awk,v 1.45 2010/12/19 01:36:14 tom Exp $
+# $Id: MKkeyname.awk,v 1.40 2008/07/12 18:40:00 tom Exp $
##############################################################################
-# Copyright (c) 1999-2009,2010 Free Software Foundation, Inc. #
+# Copyright (c) 1999-2007,2008 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
@@ -31,6 +31,7 @@ BEGIN {
print ""
print "#include <curses.priv.h>"
print "#include <tic.h>"
+ print "#include <term_entry.h>"
print ""
first = 1;
}
@@ -66,8 +67,7 @@ END {
print "#define SIZEOF_TABLE 256"
print "#define MyTable _nc_globals.keyname_table"
print ""
- print "NCURSES_EXPORT(NCURSES_CONST char *)"
- print "safe_keyname (SCREEN *sp, int c)"
+ print "NCURSES_EXPORT(NCURSES_CONST char *) _nc_keyname (SCREEN *sp, int c)"
print "{"
print " int i;"
print " char name[20];"
@@ -116,14 +116,14 @@ END {
print " result = MyTable[c];"
print " }"
print "#if NCURSES_EXT_FUNCS && NCURSES_XNAMES"
- print " } else if (result == 0 && HasTerminal(sp)) {"
+ print " } else if (result == 0 && cur_term != 0) {"
print " int j, k;"
print " char * bound;"
- print " TERMTYPE *tp = &(TerminalOf(sp)->type);"
- print " unsigned save_trace = _nc_tracing;"
+ print " TERMTYPE *tp = &(cur_term->type);"
+ print " int save_trace = _nc_tracing;"
print ""
print " _nc_tracing = 0; /* prevent recursion via keybound() */"
- print " for (j = 0; (bound = NCURSES_SP_NAME(keybound)(NCURSES_SP_ARGx c, j)) != 0; ++j) {"
+ print " for (j = 0; (bound = keybound(c, j)) != 0; ++j) {"
print " for(k = STRCOUNT; k < (int) NUM_STRINGS(tp); k++) {"
print " if (tp->Strings[k] != 0 && !strcmp(bound, tp->Strings[k])) {"
print " result = ExtStrname(tp, k, strnames);"
@@ -141,10 +141,9 @@ END {
print " return result;"
print "}"
print ""
- print "NCURSES_EXPORT(NCURSES_CONST char *)"
- print "keyname (int c)"
+ print "NCURSES_EXPORT(NCURSES_CONST char *) keyname (int c)"
print "{"
- print " return safe_keyname (CURRENT_SCREEN, c);"
+ print "\treturn _nc_keyname(SP, c);"
print "}"
print ""
print "#if NO_LEAKS"
diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh
index 66ae295c607c..a984e8545eff 100755
--- a/ncurses/base/MKlib_gen.sh
+++ b/ncurses/base/MKlib_gen.sh
@@ -2,10 +2,10 @@
#
# MKlib_gen.sh -- generate sources from curses.h macro definitions
#
-# ($Id: MKlib_gen.sh,v 1.43 2011/01/22 19:47:29 tom Exp $)
+# ($Id: MKlib_gen.sh,v 1.34 2008/08/30 19:20:50 tom Exp $)
#
##############################################################################
-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
@@ -51,7 +51,7 @@
# them.
# 5. cpp: macro-expand the file so the macro calls turn into C calls
# 6. awk: strip the expansion junk off the front and add the new header
-# 7. sed: squeeze spaces, strip off gen_ prefix.
+# 7. sed: squeeze spaces, strip off gen_ prefix, create needed #undef
#
# keep the editing independent of locale:
@@ -82,8 +82,6 @@ if test "$USE" = implemented ; then
cat >$ED1 <<EOF1
/^extern.*implemented/{
h
- s/NCURSES_SP_NAME(\([^)]*\))/NCURSES_SP_NAME___\1/
- h
s/^.*implemented:\([^ *]*\).*/P_POUNDCif_USE_\1_SUPPORT/p
g
s/^extern \([^;]*\);.*/\1/p
@@ -153,13 +151,14 @@ cat >$ED3 <<EOF3
s/( /(/g
s/ )/)/g
s/ gen_/ /
+ s/^M_/#undef /
s/^[ ]*@[ ]*@[ ]*/ /
:done
EOF3
if test "$USE" = generated ; then
cat >$ED4 <<EOF
- s/^\(.*\) \(.*\) (\(.*\))\$/NCURSES_EXPORT(\1) (\2) (\3)/
+ s/^\(.*\) \(.*\) (\(.*\))\$/NCURSES_EXPORT(\1) \2 (\3)/
EOF
else
cat >$ED4 <<EOF
@@ -170,7 +169,6 @@ cat >$ED4 <<EOF
g
s/^\(.*\) \(.*\) (\(.*\))\$/\1 call_\2 (\3)/
}
-s/\([^_]\)NCURSES_SP_NAME___\([a-zA-Z][a-zA-Z_]*\)/\1NCURSES_SP_NAME(\2)/g
EOF
fi
@@ -200,16 +198,14 @@ $0 !~ /^P_/ {
}
}
second = first + 1;
- returnCast = "";
if ( $first == "chtype" ) {
- returnType = "Chtype";
+ returnType = "Char";
} else if ( $first == "SCREEN" ) {
returnType = "SP";
} else if ( $first == "WINDOW" ) {
returnType = "Win";
} else if ( $first == "attr_t" || $second == "attrset" || $second == "standout" || $second == "standend" || $second == "wattrset" || $second == "wstandout" || $second == "wstandend" ) {
- returnType = "IntAttr";
- returnCast = "(attr_t)";
+ returnType = "Attr";
} else if ( $first == "bool" || $first == "NCURSES_BOOL" ) {
returnType = "Bool";
} else if ( $second == "*" ) {
@@ -224,6 +220,9 @@ $0 !~ /^P_/ {
break;
}
}
+ if (using == "generated") {
+ print "M_" $myfunc
+ }
print $0;
print "{";
argcount = 1;
@@ -248,9 +247,6 @@ $0 !~ /^P_/ {
if ($myfunc ~ /ripoffline/) {
dotrace = 0;
argcount = 2;
- if ($myfunc ~ /NCURSES_SP_NAME/) {
- argcount = 3;
- }
}
if ($myfunc ~ /wunctrl/) {
dotrace = 0;
@@ -266,26 +262,24 @@ $0 !~ /^P_/ {
argtype = ""
for (i = myfunc; i <= NF; i++) {
ch = $i;
- if ( ch == "*" ) {
+ if ( ch == "*" )
pointer = 1;
- } else if ( ch == "va_list" ) {
+ else if ( ch == "va_list" )
va_list = 1;
- } else if ( ch == "..." ) {
+ else if ( ch == "..." )
varargs = 1;
- } else if ( ch == "char" ) {
+ else if ( ch == "char" )
argtype = "char";
- } else if ( ch == "int" ) {
+ else if ( ch == "int" )
argtype = "int";
- } else if ( ch == "short" ) {
+ else if ( ch == "short" )
argtype = "short";
- } else if ( ch == "chtype" ) {
+ else if ( ch == "chtype" )
argtype = "chtype";
- } else if ( ch == "attr_t" || ch == "NCURSES_ATTR_T" ) {
+ else if ( ch == "attr_t" || ch == "NCURSES_ATTR_T" )
argtype = "attr";
- }
if ( ch == "," || ch == ")" ) {
- argcast = "";
if (va_list) {
call = call "%s"
} else if (varargs) {
@@ -295,10 +289,8 @@ $0 !~ /^P_/ {
call = call "%s"
comma = comma "_nc_visbuf2(" num ","
pointer = 0;
- } else {
+ } else
call = call "%p"
- comma = comma "(const void *)"
- }
} else if (argcount != 0) {
if ( argtype == "int" || argtype == "short" ) {
call = call "%d"
@@ -306,9 +298,6 @@ $0 !~ /^P_/ {
} else if ( argtype != "" ) {
call = call "%s"
comma = comma "_trace" argtype "2(" num ","
- if (argtype == "attr") {
- argcast = "(chtype)";
- }
} else {
call = call "%#lx"
comma = comma "(long)"
@@ -322,7 +311,7 @@ $0 !~ /^P_/ {
} else if ( varargs ) {
args = args comma "\"...\""
} else {
- args = args comma argcast "z"
+ args = args comma "z"
}
}
call = call ch
@@ -333,7 +322,7 @@ $0 !~ /^P_/ {
pointer = 0;
argtype = ""
}
- if ( i == myfunc || ch == "(" )
+ if ( i == 2 || ch == "(" )
call = call ch
}
call = call "\")"
@@ -344,16 +333,12 @@ $0 !~ /^P_/ {
if (dotrace)
printf "%s", call
- if (match($0, "^void")) {
+ if (match($0, "^void"))
call = ""
- } else if (dotrace) {
+ else if (dotrace)
call = sprintf("return%s( ", returnType);
- if (returnCast != "") {
- call = call returnCast;
- }
- } else {
+ else
call = "@@return ";
- }
call = call $myfunc "(";
for (i = 1; i < argcount; i++) {
@@ -368,9 +353,8 @@ $0 !~ /^P_/ {
}
if (!match($0, "^void"))
call = call ") ";
- if (dotrace) {
+ if (dotrace)
call = call ")";
- }
print call ";"
if (match($0, "^void"))
@@ -397,17 +381,8 @@ BEGIN {
}
print " */"
print "#define NCURSES_ATTR_T int"
- print "#include <ncurses_cfg.h>"
- print ""
- print "#undef NCURSES_NOMACROS /* _this_ file uses macros */"
- print ""
print "#include <curses.priv.h>"
print ""
- print "#undef vw_scanw"
- print "#undef vwscanw"
- print ""
- print "#undef vw_printw"
- print "#undef vwprintw"
}
/^DECLARATIONS/ {start = 1; next;}
{if (start) print \$0;}
diff --git a/ncurses/base/MKunctrl.awk b/ncurses/base/MKunctrl.awk
index 2140900e8c3b..36fbeecb2e76 100644
--- a/ncurses/base/MKunctrl.awk
+++ b/ncurses/base/MKunctrl.awk
@@ -1,6 +1,6 @@
-# $Id: MKunctrl.awk,v 1.26 2009/07/04 22:05:15 Clemens.Ladisch Exp $
+# $Id: MKunctrl.awk,v 1.23 2008/10/04 21:40:24 tom Exp $
##############################################################################
-# Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
@@ -36,12 +36,19 @@ BEGIN {
print "#include <curses.priv.h>"
print "#include <ctype.h>"
print ""
+ print "#if USE_WIDEC_SUPPORT"
+ print "#if HAVE_WCTYPE_H"
+ print "#include <wctype.h>"
+ print "#endif"
+ print "#endif"
+ print ""
print "#undef unctrl"
print ""
}
END {
- print "NCURSES_EXPORT(NCURSES_CONST char *) safe_unctrl(SCREEN *sp, chtype ch)"
+ print "NCURSES_EXPORT(NCURSES_CONST char *) _nc_unctrl (SCREEN *sp, chtype ch)"
print "{"
+
blob=""
offset=0
if (bigstrings) {
@@ -151,6 +158,16 @@ END {
print "\t\t && (check < 160))"
printf "\t\t\tresult = %s_c1[check - 128];\n", stringname;
print "\t\telse"
+ print "#if USE_WIDEC_SUPPORT"
+ print "\t\tif ((check >= 160)"
+ print "\t\t && (check < 256)"
+ print "\t\t && ((sp != 0)"
+ print "\t\t && ((sp->_legacy_coding > 0)"
+ print "\t\t || (sp->_legacy_coding == 0"
+ print "\t\t && (isprint(check) || iswprint(check))))))"
+ printf "\t\t\tresult = %s_c1[check - 128];\n", stringname;
+ print "\t\telse"
+ print "#else"
print "\t\tif ((check >= 160)"
print "\t\t && (check < 256)"
print "\t\t && ((sp != 0)"
@@ -159,6 +176,7 @@ END {
print "\t\t && isprint(check)))))"
printf "\t\t\tresult = %s_c1[check - 128];\n", stringname;
print "\t\telse"
+ print "#endif /* USE_WIDEC_SUPPORT */"
print "#endif /* NCURSES_EXT_FUNCS */"
printf "\t\t\tresult = %s_table[check];\n", stringname;
print "\t} else {"
@@ -169,6 +187,6 @@ END {
print ""
print "NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype ch)"
print "{"
- print "\treturn safe_unctrl(CURRENT_SCREEN, ch);"
+ print "\treturn _nc_unctrl(SP, ch);"
print "}"
}
diff --git a/ncurses/base/define_key.c b/ncurses/base/define_key.c
index a49b094279c8..3d5815f906d6 100644
--- a/ncurses/base/define_key.c
+++ b/ncurses/base/define_key.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,40 +27,33 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1997-on *
- * and: Juergen Pfeifer 2009 *
+ * Author: Thomas E. Dickey 1997-on *
****************************************************************************/
#include <curses.priv.h>
-MODULE_ID("$Id: define_key.c,v 1.20 2009/11/28 22:53:17 tom Exp $")
+MODULE_ID("$Id: define_key.c,v 1.13 2006/12/30 23:23:31 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(define_key) (NCURSES_SP_DCLx const char *str, int keycode)
+define_key(const char *str, int keycode)
{
int code = ERR;
- T((T_CALLED("define_key(%p, %s,%d)"), (void *) SP_PARM, _nc_visbuf(str), keycode));
- if (SP_PARM == 0 || !HasTInfoTerminal(SP_PARM)) {
+ T((T_CALLED("define_key(%s,%d)"), _nc_visbuf(str), keycode));
+ if (SP == 0) {
code = ERR;
} else if (keycode > 0) {
unsigned ukey = (unsigned) keycode;
-#ifdef USE_TERM_DRIVER
-#define CallHasKey(keycode) CallDriver_1(SP_PARM, kyExist, keycode)
-#else
-#define CallHasKey(keycode) NCURSES_SP_NAME(has_key)(NCURSES_SP_ARGx keycode)
-#endif
-
if (str != 0) {
- NCURSES_SP_NAME(define_key) (NCURSES_SP_ARGx str, 0);
- } else if (CallHasKey(keycode)) {
- while (_nc_remove_key(&(SP_PARM->_keytry), ukey))
+ define_key(str, 0);
+ } else if (has_key(keycode)) {
+ while (_nc_remove_key(&(SP->_keytry), ukey))
code = OK;
}
if (str != 0) {
- if (NCURSES_SP_NAME(key_defined) (NCURSES_SP_ARGx str) == 0) {
- if (_nc_add_to_try(&(SP_PARM->_keytry), str, ukey) == OK) {
+ if (key_defined(str) == 0) {
+ if (_nc_add_to_try(&(SP->_keytry), str, ukey) == OK) {
code = OK;
} else {
code = ERR;
@@ -70,16 +63,8 @@ NCURSES_SP_NAME(define_key) (NCURSES_SP_DCLx const char *str, int keycode)
}
}
} else {
- while (_nc_remove_string(&(SP_PARM->_keytry), str))
+ while (_nc_remove_string(&(SP->_keytry), str))
code = OK;
}
returnCode(code);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-define_key(const char *str, int keycode)
-{
- return NCURSES_SP_NAME(define_key) (CURRENT_SCREEN, str, keycode);
-}
-#endif
diff --git a/ncurses/base/key_defined.c b/ncurses/base/key_defined.c
index ef987a5484d5..759ad824318d 100644
--- a/ncurses/base/key_defined.c
+++ b/ncurses/base/key_defined.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2003-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2003,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -32,7 +32,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: key_defined.c,v 1.9 2009/10/24 22:15:47 tom Exp $")
+MODULE_ID("$Id: key_defined.c,v 1.6 2006/12/30 23:22:55 tom Exp $")
static int
find_definition(TRIES * tree, const char *str)
@@ -65,22 +65,14 @@ find_definition(TRIES * tree, const char *str)
* Otherwise, return the keycode's value (neither OK/ERR).
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(key_defined) (NCURSES_SP_DCLx const char *str)
+key_defined(const char *str)
{
int code = ERR;
- T((T_CALLED("key_defined(%p, %s)"), (void *) SP_PARM, _nc_visbuf(str)));
- if (SP_PARM != 0 && str != 0) {
- code = find_definition(SP_PARM->_keytry, str);
+ T((T_CALLED("key_defined(%s)"), _nc_visbuf(str)));
+ if (SP != 0 && str != 0) {
+ code = find_definition(SP->_keytry, str);
}
returnCode(code);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-key_defined(const char *str)
-{
- return NCURSES_SP_NAME(key_defined) (CURRENT_SCREEN, str);
-}
-#endif
diff --git a/ncurses/base/keybound.c b/ncurses/base/keybound.c
index 65e6bfc63620..2995714ba936 100644
--- a/ncurses/base/keybound.c
+++ b/ncurses/base/keybound.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1999-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2005,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,34 +27,25 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1999-on *
- * and: Juergen Pfeifer 2009 *
+ * Author: Thomas E. Dickey 1999-on *
****************************************************************************/
#include <curses.priv.h>
-MODULE_ID("$Id: keybound.c,v 1.10 2009/10/24 22:15:47 tom Exp $")
+MODULE_ID("$Id: keybound.c,v 1.7 2006/06/17 18:19:24 tom Exp $")
/*
* Returns the count'th string definition which is associated with the
* given keycode. The result is malloc'd, must be freed by the caller.
*/
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(keybound) (NCURSES_SP_DCLx int code, int count)
+keybound(int code, int count)
{
char *result = 0;
- T((T_CALLED("keybound(%p, %d,%d)"), (void *) SP_PARM, code, count));
- if (SP_PARM != 0 && code >= 0) {
- result = _nc_expand_try(SP_PARM->_keytry, (unsigned) code, &count, 0);
+ T((T_CALLED("keybound(%d,%d)"), code, count));
+ if (SP != 0 && code >= 0) {
+ result = _nc_expand_try(SP->_keytry, (unsigned) code, &count, 0);
}
returnPtr(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char *)
-keybound(int code, int count)
-{
- return NCURSES_SP_NAME(keybound) (CURRENT_SCREEN, code, count);
-}
-#endif
diff --git a/ncurses/base/keyok.c b/ncurses/base/keyok.c
index 0eacf4926300..ad8988cded3b 100644
--- a/ncurses/base/keyok.c
+++ b/ncurses/base/keyok.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,13 +27,12 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1997-on *
- * and: Juergen Pfeifer 2009 *
+ * Author: Thomas E. Dickey 1997-on *
****************************************************************************/
#include <curses.priv.h>
-MODULE_ID("$Id: keyok.c,v 1.10 2009/10/24 22:15:47 tom Exp $")
+MODULE_ID("$Id: keyok.c,v 1.7 2006/12/30 16:22:33 tom Exp $")
/*
* Enable (or disable) ncurses' interpretation of a keycode by adding (or
@@ -46,33 +45,28 @@ MODULE_ID("$Id: keyok.c,v 1.10 2009/10/24 22:15:47 tom Exp $")
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(keyok) (NCURSES_SP_DCLx int c, bool flag)
+keyok(int c, bool flag)
{
int code = ERR;
+ int count = 0;
+ char *s;
- T((T_CALLED("keyok(%p, %d,%d)"), (void *) SP_PARM, c, flag));
-#ifdef USE_TERM_DRIVER
- code = CallDriver_2(sp, kyOk, c, flag);
-#else
T((T_CALLED("keyok(%d,%d)"), c, flag));
if (c >= 0) {
- int count = 0;
- char *s;
unsigned ch = (unsigned) c;
-
if (flag) {
- while ((s = _nc_expand_try(SP_PARM->_key_ok, ch, &count, 0)) != 0
- && _nc_remove_key(&(SP_PARM->_key_ok), ch)) {
- code = _nc_add_to_try(&(SP_PARM->_keytry), s, ch);
+ while ((s = _nc_expand_try(SP->_key_ok, ch, &count, 0)) != 0
+ && _nc_remove_key(&(SP->_key_ok), ch)) {
+ code = _nc_add_to_try(&(SP->_keytry), s, ch);
free(s);
count = 0;
if (code != OK)
break;
}
} else {
- while ((s = _nc_expand_try(SP_PARM->_keytry, ch, &count, 0)) != 0
- && _nc_remove_key(&(SP_PARM->_keytry), ch)) {
- code = _nc_add_to_try(&(SP_PARM->_key_ok), s, ch);
+ while ((s = _nc_expand_try(SP->_keytry, ch, &count, 0)) != 0
+ && _nc_remove_key(&(SP->_keytry), ch)) {
+ code = _nc_add_to_try(&(SP->_key_ok), s, ch);
free(s);
count = 0;
if (code != OK)
@@ -80,14 +74,5 @@ NCURSES_SP_NAME(keyok) (NCURSES_SP_DCLx int c, bool flag)
}
}
}
-#endif
returnCode(code);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-keyok(int c, bool flag)
-{
- return NCURSES_SP_NAME(keyok) (CURRENT_SCREEN, c, flag);
-}
-#endif
diff --git a/ncurses/base/legacy_coding.c b/ncurses/base/legacy_coding.c
index d8c80208c6a9..1c2f160a605d 100644
--- a/ncurses/base/legacy_coding.c
+++ b/ncurses/base/legacy_coding.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2005 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,31 +27,22 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2005 *
- * Juergen Pfeifer 2009 *
+ * Author: Thomas E. Dickey *
****************************************************************************/
#include <curses.priv.h>
-MODULE_ID("$Id: legacy_coding.c,v 1.5 2009/10/24 22:15:00 tom Exp $")
+MODULE_ID("$Id: legacy_coding.c,v 1.2 2005/12/17 23:38:17 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(use_legacy_coding) (NCURSES_SP_DCLx int level)
+use_legacy_coding(int level)
{
int result = ERR;
- T((T_CALLED("use_legacy_coding(%p,%d)"), (void *) SP_PARM, level));
- if (level >= 0 && level <= 2 && SP_PARM != 0) {
- result = SP_PARM->_legacy_coding;
- SP_PARM->_legacy_coding = level;
+ T((T_CALLED("use_legacy_coding(%d)"), level));
+ if (level >= 0 && level <= 2 && SP != 0) {
+ result = SP->_legacy_coding;
+ SP->_legacy_coding = level;
}
returnCode(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-use_legacy_coding(int level)
-{
- return NCURSES_SP_NAME(use_legacy_coding) (CURRENT_SCREEN, level);
-}
-#endif
diff --git a/ncurses/base/lib_addch.c b/ncurses/base/lib_addch.c
index 515ebaf0b8fc..20a97a01a011 100644
--- a/ncurses/base/lib_addch.c
+++ b/ncurses/base/lib_addch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -36,7 +36,7 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_addch.c,v 1.124 2010/04/24 22:41:05 tom Exp $")
+MODULE_ID("$Id: lib_addch.c,v 1.113 2008/08/16 19:20:04 tom Exp $")
static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
@@ -77,6 +77,12 @@ render_char(WINDOW *win, NCURSES_CH_T ch)
if ((pair = GET_WINDOW_PAIR(win)) == 0)
pair = GetPair(win->_nc_bkgd);
}
+#if 0
+ if (pair > 255) {
+ NCURSES_CH_T fixme = ch;
+ SetPair(fixme, pair);
+ }
+#endif
AddAttr(ch, (a & COLOR_MASK(AttrOf(ch))));
SetPair(ch, pair);
}
@@ -125,7 +131,7 @@ newline_forces_scroll(WINDOW *win, NCURSES_SIZE_T * ypos)
*ypos = win->_regbottom;
result = TRUE;
} else {
- *ypos = (NCURSES_SIZE_T) (*ypos + 1);
+ *ypos += 1;
}
return result;
}
@@ -170,8 +176,8 @@ fill_cells(WINDOW *win, int count)
if (waddch_literal(win, blank) == ERR)
break;
}
- win->_curx = (NCURSES_SIZE_T) save_x;
- win->_cury = (NCURSES_SIZE_T) save_y;
+ win->_curx = save_x;
+ win->_cury = save_y;
}
#endif
@@ -207,9 +213,9 @@ _nc_build_wch(WINDOW *win, ARG_CH_T ch)
buffer[WINDOW_EXT(win, addch_used)] = (char) CharOf(CHDEREF(ch));
WINDOW_EXT(win, addch_used) += 1;
buffer[WINDOW_EXT(win, addch_used)] = '\0';
- if ((len = (int) mbrtowc(&result,
- buffer,
- WINDOW_EXT(win, addch_used), &state)) > 0) {
+ if ((len = mbrtowc(&result,
+ buffer,
+ WINDOW_EXT(win, addch_used), &state)) > 0) {
attr_t attrs = AttrOf(CHDEREF(ch));
if_EXT_COLORS(int pair = GetPair(CHDEREF(ch)));
SetChar(CHDEREF(ch), result, attrs);
@@ -254,37 +260,20 @@ waddch_literal(WINDOW *win, NCURSES_CH_T ch)
/*
* Build up multibyte characters until we have a wide-character.
*/
-#if NCURSES_SP_FUNCS
-#define DeriveSP() SCREEN *sp = _nc_screen_of(win);
-#else
-#define DeriveSP() /*nothing */
-#endif
if_WIDEC({
- DeriveSP();
if (WINDOW_EXT(win, addch_used) != 0 || !Charable(ch)) {
int len = _nc_build_wch(win, CHREF(ch));
if (len >= -1) {
- attr_t attr = AttrOf(ch);
-
- /* handle EILSEQ (i.e., when len >= -1) */
- if (len == -1 && is8bits(CharOf(ch))) {
- int rc = OK;
- const char *s = NCURSES_SP_NAME(unctrl)
- (NCURSES_SP_ARGx (chtype) CharOf(ch));
-
- if (s[1] != '\0') {
- while (*s != '\0') {
- rc = waddch(win, UChar(*s) | attr);
- if (rc != OK)
- break;
- ++s;
- }
- return rc;
+ /* handle EILSEQ */
+ if (is8bits(CharOf(ch))) {
+ const char *s = unctrl((chtype) CharOf(ch));
+ if (s[1] != 0) {
+ return waddstr(win, s);
}
}
if (len == -1)
- return waddch(win, ' ' | attr);
+ return waddch(win, ' ');
} else {
return OK;
}
@@ -338,7 +327,6 @@ waddch_literal(WINDOW *win, NCURSES_CH_T ch)
return ERR;
x = win->_curx;
y = win->_cury;
- line = win->_line + y;
}
/*
* Check for cells which are orphaned by adding this character, set
@@ -396,7 +384,7 @@ waddch_literal(WINDOW *win, NCURSES_CH_T ch)
if (x > win->_maxx) {
return wrap_to_next_line(win);
}
- win->_curx = (NCURSES_SIZE_T) x;
+ win->_curx = x;
return OK;
}
@@ -405,12 +393,9 @@ waddch_nosync(WINDOW *win, const NCURSES_CH_T ch)
/* the workhorse function -- add a character to the given window */
{
NCURSES_SIZE_T x, y;
- chtype t = (chtype) CharOf(ch);
-#if USE_WIDEC_SUPPORT || NCURSES_SP_FUNCS || USE_REENTRANT
- SCREEN *sp = _nc_screen_of(win);
-#endif
- const char *s = NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx t);
- int tabsize = 8;
+ chtype t = CharOf(ch);
+ const char *s = unctrl(t);
+
/*
* If we are using the alternate character set, forget about locale.
* Otherwise, if unctrl() returns a single-character or the locale
@@ -419,14 +404,14 @@ waddch_nosync(WINDOW *win, const NCURSES_CH_T ch)
if ((AttrOf(ch) & A_ALTCHARSET)
|| (
#if USE_WIDEC_SUPPORT
- (sp != 0 && sp->_legacy_coding) &&
+ (SP != 0 && SP->_legacy_coding) &&
#endif
s[1] == 0
)
|| (
isprint(t)
#if USE_WIDEC_SUPPORT
- || ((sp == 0 || !sp->_legacy_coding) &&
+ || ((SP == 0 || !SP->_legacy_coding) &&
(WINDOW_EXT(win, addch_used)
|| !_nc_is_charable(CharOf(ch))))
#endif
@@ -442,12 +427,8 @@ waddch_nosync(WINDOW *win, const NCURSES_CH_T ch)
switch (t) {
case '\t':
-#if USE_REENTRANT
- tabsize = *ptrTabsize(sp);
-#else
- tabsize = TABSIZE;
-#endif
- x = (NCURSES_SIZE_T) (x + (tabsize - (x % tabsize)));
+ x += (TABSIZE - (x % TABSIZE));
+
/*
* Space-fill the tab on the bottom line so that we'll get the
* "correct" cursor position.
@@ -533,7 +514,7 @@ waddch(WINDOW *win, const chtype ch)
NCURSES_CH_T wch;
SetChar2(wch, ch);
- TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("waddch(%p, %s)"), (void *) win,
+ TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("waddch(%p, %s)"), win,
_tracechtype(ch)));
if (win && (waddch_nosync(win, wch) != ERR)) {
@@ -552,8 +533,7 @@ wechochar(WINDOW *win, const chtype ch)
NCURSES_CH_T wch;
SetChar2(wch, ch);
- TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wechochar(%p, %s)"),
- (void *) win,
+ TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wechochar(%p, %s)"), win,
_tracechtype(ch)));
if (win && (waddch_nosync(win, wch) != ERR)) {
diff --git a/ncurses/base/lib_addstr.c b/ncurses/base/lib_addstr.c
index d73ce00a4519..4e3a040cf032 100644
--- a/ncurses/base/lib_addstr.c
+++ b/ncurses/base/lib_addstr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -44,7 +44,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_addstr.c,v 1.51 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_addstr.c,v 1.48 2007/10/13 19:56:57 tom Exp $")
NCURSES_EXPORT(int)
waddnstr(WINDOW *win, const char *astr, int n)
@@ -52,7 +52,7 @@ waddnstr(WINDOW *win, const char *astr, int n)
const char *str = astr;
int code = ERR;
- T((T_CALLED("waddnstr(%p,%s,%d)"), (void *) win, _nc_visbufn(astr, n), n));
+ T((T_CALLED("waddnstr(%p,%s,%d)"), win, _nc_visbufn(astr, n), n));
if (win && (str != 0)) {
TR(TRACE_VIRTPUT | TRACE_ATTRS,
@@ -85,7 +85,7 @@ waddchnstr(WINDOW *win, const chtype *astr, int n)
int i;
struct ldat *line;
- T((T_CALLED("waddchnstr(%p,%p,%d)"), (void *) win, (const void *) astr, n));
+ T((T_CALLED("waddchnstr(%p,%p,%d)"), win, astr, n));
if (!win)
returnCode(ERR);
@@ -107,7 +107,7 @@ waddchnstr(WINDOW *win, const chtype *astr, int n)
for (i = 0; i < n && ChCharOf(astr[i]) != '\0'; ++i) {
SetChar2(line->text[i + x], astr[i]);
}
- CHANGED_RANGE(line, x, (NCURSES_SIZE_T) (x + n - 1));
+ CHANGED_RANGE(line, x, x + n - 1);
_nc_synchook(win);
returnCode(code);
@@ -135,10 +135,7 @@ wadd_wchnstr(WINDOW *win, const cchar_t *astr, int n)
struct ldat *line;
int i, j, start, len, end;
- T((T_CALLED("wadd_wchnstr(%p,%s,%d)"),
- (void *) win,
- _nc_viscbuf(astr, n),
- n));
+ T((T_CALLED("wadd_wchnstr(%p,%s,%d)"), win, _nc_viscbuf(astr, n), n));
if (!win)
returnCode(ERR);
@@ -193,7 +190,7 @@ wadd_wchnstr(WINDOW *win, const cchar_t *astr, int n)
SetWidecExt(line->text[x + j], j);
}
}
- x = (NCURSES_SIZE_T) (x + len);
+ x += len;
end += len - 1;
} else {
break;
@@ -220,7 +217,7 @@ waddnwstr(WINDOW *win, const wchar_t *str, int n)
{
int code = ERR;
- T((T_CALLED("waddnwstr(%p,%s,%d)"), (void *) win, _nc_viswbufn(str, n), n));
+ T((T_CALLED("waddnwstr(%p,%s,%d)"), win, _nc_viswbufn(str, n), n));
if (win && (str != 0)) {
TR(TRACE_VIRTPUT | TRACE_ATTRS,
diff --git a/ncurses/base/lib_beep.c b/ncurses/base/lib_beep.c
index 9d7f7fd96f01..b478f251a1bb 100644
--- a/ncurses/base/lib_beep.c
+++ b/ncurses/base/lib_beep.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -41,12 +40,9 @@
*/
#include <curses.priv.h>
+#include <term.h> /* beep, flash */
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_beep.c,v 1.15 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_beep.c,v 1.10 2005/04/09 15:20:04 tom Exp $")
/*
* beep()
@@ -57,16 +53,12 @@ MODULE_ID("$Id: lib_beep.c,v 1.15 2009/10/24 22:02:14 tom Exp $")
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(beep) (NCURSES_SP_DCL0)
+beep(void)
{
int res = ERR;
- T((T_CALLED("beep(%p)"), (void *) SP_PARM));
+ T((T_CALLED("beep()")));
-#ifdef USE_TERM_DRIVER
- if (SP_PARM != 0)
- res = CallDriver_1(SP_PARM, doBeepOrFlash, TRUE);
-#else
/* FIXME: should make sure that we are not in altchar mode */
if (cur_term == 0) {
res = ERR;
@@ -79,15 +71,6 @@ NCURSES_SP_NAME(beep) (NCURSES_SP_DCL0)
res = putp(flash_screen);
_nc_flush();
}
-#endif
returnCode(res);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-beep(void)
-{
- return NCURSES_SP_NAME(beep) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/base/lib_bkgd.c b/ncurses/base/lib_bkgd.c
index 0396ba8f47a8..c99e0c5fc3a8 100644
--- a/ncurses/base/lib_bkgd.c
+++ b/ncurses/base/lib_bkgd.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -36,7 +36,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_bkgd.c,v 1.43 2011/01/22 19:47:37 tom Exp $")
+MODULE_ID("$Id: lib_bkgd.c,v 1.36 2008/03/23 00:09:14 tom Exp $")
/*
* Set the window's background information.
@@ -48,7 +48,7 @@ static NCURSES_INLINE void
#endif
wbkgrndset(WINDOW *win, const ARG_CH_T ch)
{
- T((T_CALLED("wbkgdset(%p,%s)"), (void *) win, _tracech_t(ch)));
+ T((T_CALLED("wbkgdset(%p,%s)"), win, _tracech_t(ch)));
if (win) {
attr_t off = AttrOf(win->_nc_bkgd);
@@ -85,12 +85,12 @@ wbkgrndset(WINDOW *win, const ARG_CH_T ch)
cchar_t wch;
int tmp;
- (void) wgetbkgrnd(win, &wch);
+ wgetbkgrnd(win, &wch);
tmp = _nc_to_char((wint_t) CharOf(wch));
win->_bkgd = (((tmp == EOF) ? ' ' : (chtype) tmp)
| (AttrOf(wch) & ALL_BUT_COLOR)
- | (chtype) ColorPair(GET_WINDOW_PAIR(win)));
+ | COLOR_PAIR(GET_WINDOW_PAIR(win)));
}
#endif
}
@@ -120,14 +120,14 @@ wbkgrnd(WINDOW *win, const ARG_CH_T ch)
int x, y;
NCURSES_CH_T new_bkgd = CHDEREF(ch);
- T((T_CALLED("wbkgd(%p,%s)"), (void *) win, _tracech_t(ch)));
+ T((T_CALLED("wbkgd(%p,%s)"), win, _tracech_t(ch)));
if (win) {
NCURSES_CH_T old_bkgrnd;
wgetbkgrnd(win, &old_bkgrnd);
- (void) wbkgrndset(win, CHREF(new_bkgd));
- (void) wattrset(win, AttrOf(win->_nc_bkgd));
+ wbkgrndset(win, CHREF(new_bkgd));
+ wattrset(win, AttrOf(win->_nc_bkgd));
for (y = 0; y <= win->_maxy; y++) {
for (x = 0; x <= win->_maxx; x++) {
diff --git a/ncurses/base/lib_box.c b/ncurses/base/lib_box.c
index 6f17c97a5b07..d6cfc6cfe09c 100644
--- a/ncurses/base/lib_box.c
+++ b/ncurses/base/lib_box.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -42,7 +42,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_box.c,v 1.24 2010/04/24 23:51:57 tom Exp $")
+MODULE_ID("$Id: lib_box.c,v 1.22 2005/11/26 15:39:42 tom Exp $")
#if USE_WIDEC_SUPPORT
static NCURSES_INLINE chtype
@@ -51,9 +51,8 @@ _my_render(WINDOW *win, chtype ch)
NCURSES_CH_T wch;
SetChar2(wch, ch);
wch = _nc_render(win, wch);
- return ((attr_t) CharOf(wch)) | AttrOf(wch);
+ return CharOf(wch) | AttrOf(wch);
}
-
#define RENDER_WITH_DEFAULT(ch,def) w ## ch = _my_render(win, (ch == 0) ? def : ch)
#else
#define RENDER_WITH_DEFAULT(ch,def) w ## ch = _nc_render(win, (ch == 0) ? def : ch)
@@ -71,7 +70,7 @@ wborder(WINDOW *win,
chtype wls, wrs, wts, wbs, wtl, wtr, wbl, wbr;
T((T_CALLED("wborder(%p,%s,%s,%s,%s,%s,%s,%s,%s)"),
- (void *) win,
+ win,
_tracechtype2(1, ls),
_tracechtype2(2, rs),
_tracechtype2(3, ts),
diff --git a/ncurses/base/lib_chgat.c b/ncurses/base/lib_chgat.c
index cdddaeae995c..89eefa7e82fe 100644
--- a/ncurses/base/lib_chgat.c
+++ b/ncurses/base/lib_chgat.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -42,19 +42,19 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_chgat.c,v 1.9 2010/03/31 23:38:02 tom Exp $")
+MODULE_ID("$Id: lib_chgat.c,v 1.7 2006/07/15 22:07:11 tom Exp $")
NCURSES_EXPORT(int)
wchgat(WINDOW *win, int n, attr_t attr, short color, const void *opts GCC_UNUSED)
{
int i;
- T((T_CALLED("wchgat(%p,%d,%s,%d)"), (void *) win, n, _traceattr(attr), color));
+ T((T_CALLED("wchgat(%p,%d,%s,%d)"), win, n, _traceattr(attr), color));
if (win) {
struct ldat *line = &(win->_line[win->_cury]);
- toggle_attr_on(attr, ColorPair(color));
+ toggle_attr_on(attr, COLOR_PAIR(color));
for (i = win->_curx; i <= win->_maxx && (n == -1 || (n-- > 0)); i++) {
SetAttr(line->text[i], attr);
diff --git a/ncurses/base/lib_clear.c b/ncurses/base/lib_clear.c
index 008744ccbabb..e0b4edf9e224 100644
--- a/ncurses/base/lib_clear.c
+++ b/ncurses/base/lib_clear.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,14 +40,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_clear.c,v 1.8 2009/10/24 22:33:29 tom Exp $")
+MODULE_ID("$Id: lib_clear.c,v 1.7 2000/12/10 02:43:26 tom Exp $")
NCURSES_EXPORT(int)
wclear(WINDOW *win)
{
int code = ERR;
- T((T_CALLED("wclear(%p)"), (void *) win));
+ T((T_CALLED("wclear(%p)"), win));
if ((code = werase(win)) != ERR)
win->_clear = TRUE;
diff --git a/ncurses/base/lib_clearok.c b/ncurses/base/lib_clearok.c
index ffc7d02dc0ff..9b56bd1ec63a 100644
--- a/ncurses/base/lib_clearok.c
+++ b/ncurses/base/lib_clearok.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,12 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_clearok.c,v 1.5 2009/10/24 22:34:53 tom Exp $")
+MODULE_ID("$Id: lib_clearok.c,v 1.4 2000/12/10 02:43:26 tom Exp $")
NCURSES_EXPORT(int)
clearok(WINDOW *win, bool flag)
{
- T((T_CALLED("clearok(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("clearok(%p,%d)"), win, flag));
if (win) {
win->_clear = flag;
diff --git a/ncurses/base/lib_clrbot.c b/ncurses/base/lib_clrbot.c
index cbf2206d5581..df196e815f82 100644
--- a/ncurses/base/lib_clrbot.c
+++ b/ncurses/base/lib_clrbot.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,14 +40,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_clrbot.c,v 1.21 2009/10/24 22:33:19 tom Exp $")
+MODULE_ID("$Id: lib_clrbot.c,v 1.20 2006/10/14 20:43:31 tom Exp $")
NCURSES_EXPORT(int)
wclrtobot(WINDOW *win)
{
int code = ERR;
- T((T_CALLED("wclrtobot(%p)"), (void *) win));
+ T((T_CALLED("wclrtobot(%p)"), win));
if (win) {
NCURSES_SIZE_T y;
diff --git a/ncurses/base/lib_clreol.c b/ncurses/base/lib_clreol.c
index 7aff84b35a42..c46ebd93a332 100644
--- a/ncurses/base/lib_clreol.c
+++ b/ncurses/base/lib_clreol.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2001,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,14 +40,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_clreol.c,v 1.22 2009/10/24 22:33:06 tom Exp $")
+MODULE_ID("$Id: lib_clreol.c,v 1.21 2001/12/19 01:06:04 tom Exp $")
NCURSES_EXPORT(int)
wclrtoeol(WINDOW *win)
{
int code = ERR;
- T((T_CALLED("wclrtoeol(%p)"), (void *) win));
+ T((T_CALLED("wclrtoeol(%p)"), win));
if (win) {
NCURSES_CH_T blank;
diff --git a/ncurses/base/lib_color.c b/ncurses/base/lib_color.c
index a5c181c8b4b1..9cae495436fe 100644
--- a/ncurses/base/lib_color.c
+++ b/ncurses/base/lib_color.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/* lib_color.c
@@ -39,33 +38,12 @@
*/
#include <curses.priv.h>
-#include <tic.h>
-
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-MODULE_ID("$Id: lib_color.c,v 1.98 2010/04/24 22:57:53 tom Exp $")
+#include <term.h>
+#include <tic.h>
-#ifdef USE_TERM_DRIVER
-#define CanChange InfoOf(SP_PARM).canchange
-#define DefaultPalette InfoOf(SP_PARM).defaultPalette
-#define HasColor InfoOf(SP_PARM).hascolor
-#define InitColor InfoOf(SP_PARM).initcolor
-#define MaxColors InfoOf(SP_PARM).maxcolors
-#define MaxPairs InfoOf(SP_PARM).maxpairs
-#define UseHlsPalette (DefaultPalette == _nc_hls_palette)
-#else
-#define CanChange can_change
-#define DefaultPalette (hue_lightness_saturation ? hls_palette : cga_palette)
-#define HasColor has_color
-#define InitColor initialize_color
-#define MaxColors max_colors
-#define MaxPairs max_pairs
-#define UseHlsPalette (hue_lightness_saturation)
-#endif
+MODULE_ID("$Id: lib_color.c,v 1.85 2007/04/07 17:07:28 tom Exp $")
-#ifndef USE_TERM_DRIVER
/*
* These should be screen structure members. They need to be globals for
* historical reasons. So we assign them in start_color() and also in
@@ -86,7 +64,6 @@ NCURSES_PUBLIC_VAR(COLORS) (void)
NCURSES_EXPORT_VAR(int) COLOR_PAIRS = 0;
NCURSES_EXPORT_VAR(int) COLORS = 0;
#endif
-#endif /* !USE_TERM_DRIVER */
#define DATA(r,g,b) {r,g,b, 0,0,0, 0}
@@ -94,7 +71,7 @@ NCURSES_EXPORT_VAR(int) COLORS = 0;
#define MAX_PALETTE 8
-#define OkColorHi(n) (((n) < COLORS) && ((n) < maxcolors))
+#define OkColorHi(n) (((n) < COLORS) && ((n) < max_colors))
#define InPalette(n) ((n) >= 0 && (n) < MAX_PALETTE)
/*
@@ -129,43 +106,29 @@ static const color_t hls_palette[] =
DATA( 300, 50, 100), /* COLOR_CYAN */
DATA( 0, 50, 100), /* COLOR_WHITE */
};
-
-#ifdef USE_TERM_DRIVER
-NCURSES_EXPORT_VAR(const color_t*) _nc_cga_palette = cga_palette;
-NCURSES_EXPORT_VAR(const color_t*) _nc_hls_palette = hls_palette;
-#endif
-
/* *INDENT-ON* */
-/*
- * Ensure that we use color pairs only when colors have been started, and also
- * that the index is within the limits of the table which we allocated.
- */
-#define ValidPair(pair) \
- ((SP_PARM != 0) && (pair >= 0) && (pair < SP_PARM->_pair_limit) && SP_PARM->_coloron)
-
#if NCURSES_EXT_FUNCS
/*
* These are called from _nc_do_color(), which in turn is called from
- * vidattr - so we have to assume that sp may be null.
+ * vidattr - so we have to assume that SP may be null.
*/
static int
-default_fg(NCURSES_SP_DCL0)
+default_fg(void)
{
- return (SP_PARM != 0) ? SP_PARM->_default_fg : COLOR_WHITE;
+ return (SP != 0) ? SP->_default_fg : COLOR_WHITE;
}
static int
-default_bg(NCURSES_SP_DCL0)
+default_bg(void)
{
- return SP_PARM != 0 ? SP_PARM->_default_bg : COLOR_BLACK;
+ return SP != 0 ? SP->_default_bg : COLOR_BLACK;
}
#else
-#define default_fg(sp) COLOR_WHITE
-#define default_bg(sp) COLOR_BLACK
+#define default_fg() COLOR_WHITE
+#define default_bg() COLOR_BLACK
#endif
-#ifndef USE_TERM_DRIVER
/*
* SVr4 curses is known to interchange color codes (1,4) and (3,6), possibly
* to maintain compatibility with a pre-ANSI scheme. The same scheme is
@@ -182,70 +145,52 @@ toggled_colors(int c)
}
return c;
}
-#endif
static void
-set_background_color(NCURSES_SP_DCLx int bg, NCURSES_SP_OUTC outc)
+set_background_color(int bg, int (*outc) (int))
{
-#ifdef USE_TERM_DRIVER
- CallDriver_3(SP_PARM, color, FALSE, bg, outc);
-#else
if (set_a_background) {
TPUTS_TRACE("set_a_background");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_a_background, bg),
- 1, outc);
+ tputs(TPARM_1(set_a_background, bg), 1, outc);
} else {
TPUTS_TRACE("set_background");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_background, toggled_colors(bg)),
- 1, outc);
+ tputs(TPARM_1(set_background, toggled_colors(bg)), 1, outc);
}
-#endif
}
static void
-set_foreground_color(NCURSES_SP_DCLx int fg, NCURSES_SP_OUTC outc)
+set_foreground_color(int fg, int (*outc) (int))
{
-#ifdef USE_TERM_DRIVER
- CallDriver_3(SP_PARM, color, TRUE, fg, outc);
-#else
if (set_a_foreground) {
TPUTS_TRACE("set_a_foreground");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_a_foreground, fg),
- 1, outc);
+ tputs(TPARM_1(set_a_foreground, fg), 1, outc);
} else {
TPUTS_TRACE("set_foreground");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_foreground, toggled_colors(fg)),
- 1, outc);
+ tputs(TPARM_1(set_foreground, toggled_colors(fg)), 1, outc);
}
-#endif
}
static void
-init_color_table(NCURSES_SP_DCL0)
+init_color_table(void)
{
- const color_t *tp = DefaultPalette;
+ const color_t *tp;
int n;
- assert(tp != 0);
-
+ tp = (hue_lightness_saturation) ? hls_palette : cga_palette;
for (n = 0; n < COLORS; n++) {
if (InPalette(n)) {
- SP_PARM->_color_table[n] = tp[n];
+ SP->_color_table[n] = tp[n];
} else {
- SP_PARM->_color_table[n] = tp[n % MAX_PALETTE];
- if (UseHlsPalette) {
- SP_PARM->_color_table[n].green = 100;
+ SP->_color_table[n] = tp[n % MAX_PALETTE];
+ if (hue_lightness_saturation) {
+ SP->_color_table[n].green = 100;
} else {
- if (SP_PARM->_color_table[n].red)
- SP_PARM->_color_table[n].red = 1000;
- if (SP_PARM->_color_table[n].green)
- SP_PARM->_color_table[n].green = 1000;
- if (SP_PARM->_color_table[n].blue)
- SP_PARM->_color_table[n].blue = 1000;
+ if (SP->_color_table[n].red)
+ SP->_color_table[n].red = 1000;
+ if (SP->_color_table[n].green)
+ SP->_color_table[n].green = 1000;
+ if (SP->_color_table[n].blue)
+ SP->_color_table[n].blue = 1000;
}
}
}
@@ -255,21 +200,16 @@ init_color_table(NCURSES_SP_DCL0)
* Reset the color pair, e.g., to whatever color pair 0 is.
*/
static bool
-reset_color_pair(NCURSES_SP_DCL0)
+reset_color_pair(void)
{
-#ifdef USE_TERM_DRIVER
- return CallDriver(SP_PARM, rescol);
-#else
bool result = FALSE;
- (void) SP_PARM;
if (orig_pair != 0) {
TPUTS_TRACE("orig_pair");
putp(orig_pair);
result = TRUE;
}
return result;
-#endif
}
/*
@@ -277,93 +217,65 @@ reset_color_pair(NCURSES_SP_DCL0)
* badly-written terminal descriptions than for the relatively rare case where
* someone has changed the color definitions.
*/
-NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(_nc_reset_colors) (NCURSES_SP_DCL0)
+bool
+_nc_reset_colors(void)
{
int result = FALSE;
- T((T_CALLED("_nc_reset_colors(%p)"), (void *) SP_PARM));
- if (SP_PARM->_color_defs > 0)
- SP_PARM->_color_defs = -(SP_PARM->_color_defs);
- if (reset_color_pair(NCURSES_SP_ARG))
- result = TRUE;
+ T((T_CALLED("_nc_reset_colors()")));
+ if (SP->_color_defs > 0)
+ SP->_color_defs = -(SP->_color_defs);
-#ifdef USE_TERM_DRIVER
- result = CallDriver(SP_PARM, rescolors);
-#else
+ if (reset_color_pair())
+ result = TRUE;
if (orig_colors != 0) {
TPUTS_TRACE("orig_colors");
putp(orig_colors);
result = TRUE;
}
-#endif
returnBool(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(bool)
-_nc_reset_colors(void)
-{
- return NCURSES_SP_NAME(_nc_reset_colors) (CURRENT_SCREEN);
-}
-#endif
-
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(start_color) (NCURSES_SP_DCL0)
+start_color(void)
{
int result = ERR;
- int maxpairs = 0, maxcolors = 0;
- T((T_CALLED("start_color(%p)"), (void *) SP_PARM));
+ T((T_CALLED("start_color()")));
- if (SP_PARM == 0) {
+ if (SP == 0) {
result = ERR;
- } else if (SP_PARM->_coloron) {
+ } else if (SP->_coloron) {
result = OK;
} else {
- maxpairs = MaxPairs;
- maxcolors = MaxColors;
- if (reset_color_pair(NCURSES_SP_ARG) != TRUE) {
- set_foreground_color(NCURSES_SP_ARGx
- default_fg(NCURSES_SP_ARG),
- NCURSES_SP_NAME(_nc_outch));
- set_background_color(NCURSES_SP_ARGx
- default_bg(NCURSES_SP_ARG),
- NCURSES_SP_NAME(_nc_outch));
- }
- if (maxpairs > 0 && maxcolors > 0) {
- SP_PARM->_pair_limit = maxpairs;
+ if (reset_color_pair() != TRUE) {
+ set_foreground_color(default_fg(), _nc_outch);
+ set_background_color(default_bg(), _nc_outch);
+ }
-#if NCURSES_EXT_FUNCS
- /*
- * If using default colors, allocate extra space in table to
- * allow for default-color as a component of a color-pair.
- */
- SP_PARM->_pair_limit += (1 + (2 * maxcolors));
-#endif
- SP_PARM->_pair_count = maxpairs;
- SP_PARM->_color_count = maxcolors;
+ if (max_pairs > 0 && max_colors > 0) {
+ SP->_pair_count = max_pairs;
+ SP->_color_count = max_colors;
#if !USE_REENTRANT
- COLOR_PAIRS = maxpairs;
- COLORS = maxcolors;
+ COLOR_PAIRS = max_pairs;
+ COLORS = max_colors;
#endif
- SP_PARM->_color_pairs = TYPE_CALLOC(colorpair_t, SP_PARM->_pair_limit);
- if (SP_PARM->_color_pairs != 0) {
- SP_PARM->_color_table = TYPE_CALLOC(color_t, maxcolors);
- if (SP_PARM->_color_table != 0) {
- SP_PARM->_color_pairs[0] = PAIR_OF(default_fg(NCURSES_SP_ARG),
- default_bg(NCURSES_SP_ARG));
- init_color_table(NCURSES_SP_ARG);
+ if ((SP->_color_pairs = TYPE_CALLOC(colorpair_t,
+ max_pairs)) != 0) {
+ if ((SP->_color_table = TYPE_CALLOC(color_t,
+ max_colors)) != 0) {
+ SP->_color_pairs[0] = PAIR_OF(default_fg(), default_bg());
+ init_color_table();
T(("started color: COLORS = %d, COLOR_PAIRS = %d",
COLORS, COLOR_PAIRS));
- SP_PARM->_coloron = 1;
+ SP->_coloron = 1;
result = OK;
- } else if (SP_PARM->_color_pairs != 0) {
- FreeAndNull(SP_PARM->_color_pairs);
+ } else if (SP->_color_pairs != 0) {
+ FreeAndNull(SP->_color_pairs);
}
}
} else {
@@ -373,14 +285,6 @@ NCURSES_SP_NAME(start_color) (NCURSES_SP_DCL0)
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-start_color(void)
-{
- return NCURSES_SP_NAME(start_color) (CURRENT_SCREEN);
-}
-#endif
-
/* This function was originally written by Daniel Weaver <danw@znyx.com> */
static void
rgb2hls(short r, short g, short b, short *h, short *l, short *s)
@@ -394,7 +298,7 @@ rgb2hls(short r, short g, short b, short *h, short *l, short *s)
max = b;
/* calculate lightness */
- *l = (short) ((min + max) / 20);
+ *l = (min + max) / 20;
if (min == max) { /* black, white and all shades of gray */
*h = 0;
@@ -404,17 +308,17 @@ rgb2hls(short r, short g, short b, short *h, short *l, short *s)
/* calculate saturation */
if (*l < 50)
- *s = (short) (((max - min) * 100) / (max + min));
+ *s = ((max - min) * 100) / (max + min);
else
- *s = (short) (((max - min) * 100) / (2000 - max - min));
+ *s = ((max - min) * 100) / (2000 - max - min);
/* calculate hue */
if (r == max)
- t = (short) (120 + ((g - b) * 60) / (max - min));
+ t = 120 + ((g - b) * 60) / (max - min);
else if (g == max)
- t = (short) (240 + ((b - r) * 60) / (max - min));
+ t = 240 + ((b - r) * 60) / (max - min);
else
- t = (short) (360 + ((r - g) * 60) / (max - min));
+ t = 360 + ((r - g) * 60) / (max - min);
*h = t % 360;
}
@@ -424,75 +328,24 @@ rgb2hls(short r, short g, short b, short *h, short *l, short *s)
* values.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(init_pair) (NCURSES_SP_DCLx short pair, short f, short b)
+init_pair(short pair, short f, short b)
{
colorpair_t result;
- colorpair_t previous;
- int maxcolors;
- T((T_CALLED("init_pair(%p,%d,%d,%d)"), (void *) SP_PARM, pair, f, b));
+ T((T_CALLED("init_pair(%d,%d,%d)"), pair, f, b));
- if (!ValidPair(pair))
+ if ((pair < 0) || (pair >= COLOR_PAIRS) || SP == 0 || !SP->_coloron)
returnCode(ERR);
-
- maxcolors = MaxColors;
-
- previous = SP_PARM->_color_pairs[pair];
#if NCURSES_EXT_FUNCS
- if (SP_PARM->_default_color) {
- bool isDefault = FALSE;
- bool wasDefault = FALSE;
- int default_pairs = SP_PARM->_default_pairs;
-
- /*
- * Map caller's color number, e.g., -1, 0, 1, .., 7, etc., into
- * internal unsigned values which we will store in the _color_pairs[]
- * table.
- */
- if (isDefaultColor(f)) {
+ if (SP->_default_color) {
+ if (f < 0)
f = COLOR_DEFAULT;
- isDefault = TRUE;
- } else if (!OkColorHi(f)) {
- returnCode(ERR);
- }
-
- if (isDefaultColor(b)) {
+ if (b < 0)
b = COLOR_DEFAULT;
- isDefault = TRUE;
- } else if (!OkColorHi(b)) {
+ if (!OkColorHi(f) && !isDefaultColor(f))
returnCode(ERR);
- }
-
- /*
- * Check if the table entry that we are going to init/update used
- * default colors.
- */
- if ((FORE_OF(previous) == COLOR_DEFAULT)
- || (BACK_OF(previous) == COLOR_DEFAULT))
- wasDefault = TRUE;
-
- /*
- * Keep track of the number of entries in the color pair table which
- * used a default color.
- */
- if (isDefault && !wasDefault) {
- ++default_pairs;
- } else if (wasDefault && !isDefault) {
- --default_pairs;
- }
-
- /*
- * As an extension, ncurses allows the pair number to exceed the
- * terminal's color_pairs value for pairs using a default color.
- *
- * Note that updating a pair which used a default color with one
- * that does not will decrement the count - and possibly interfere
- * with sequentially adding new pairs.
- */
- if (pair > (SP_PARM->_pair_count + default_pairs)) {
+ if (!OkColorHi(b) && !isDefaultColor(b))
returnCode(ERR);
- }
- SP_PARM->_default_pairs = default_pairs;
} else
#endif
{
@@ -508,14 +361,14 @@ NCURSES_SP_NAME(init_pair) (NCURSES_SP_DCLx short pair, short f, short b)
* pair colors with the new ones).
*/
result = PAIR_OF(f, b);
- if (previous != 0
- && previous != result) {
+ if (SP->_color_pairs[pair] != 0
+ && SP->_color_pairs[pair] != result) {
int y, x;
- for (y = 0; y <= CurScreen(SP_PARM)->_maxy; y++) {
- struct ldat *ptr = &(CurScreen(SP_PARM)->_line[y]);
+ for (y = 0; y <= curscr->_maxy; y++) {
+ struct ldat *ptr = &(curscr->_line[y]);
bool changed = FALSE;
- for (x = 0; x <= CurScreen(SP_PARM)->_maxx; x++) {
+ for (x = 0; x <= curscr->_maxx; x++) {
if (GetPair(ptr->text[x]) == pair) {
/* Set the old cell to zero to ensure it will be
updated on the next doupdate() */
@@ -525,19 +378,15 @@ NCURSES_SP_NAME(init_pair) (NCURSES_SP_DCLx short pair, short f, short b)
}
}
if (changed)
- NCURSES_SP_NAME(_nc_make_oldhash) (NCURSES_SP_ARGx y);
+ _nc_make_oldhash(y);
}
}
+ SP->_color_pairs[pair] = result;
+ if (GET_SCREEN_PAIR(SP) == pair)
+ SET_SCREEN_PAIR(SP, (chtype) (~0)); /* force attribute update */
- SP_PARM->_color_pairs[pair] = result;
- if (GET_SCREEN_PAIR(SP_PARM) == pair)
- SET_SCREEN_PAIR(SP_PARM, (chtype) (~0)); /* force attribute update */
-
-#ifdef USE_TERM_DRIVER
- CallDriver_3(SP_PARM, initpair, pair, f, b);
-#else
if (initialize_pair && InPalette(f) && InPalette(b)) {
- const color_t *tp = DefaultPalette;
+ const color_t *tp = hue_lightness_saturation ? hls_palette : cga_palette;
TR(TRACE_ATTRS,
("initializing pair: pair = %d, fg=(%d,%d,%d), bg=(%d,%d,%d)",
@@ -551,148 +400,80 @@ NCURSES_SP_NAME(init_pair) (NCURSES_SP_DCLx short pair, short f, short b)
tp[f].red, tp[f].green, tp[f].blue,
tp[b].red, tp[b].green, tp[b].blue));
}
-#endif
returnCode(OK);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-init_pair(short pair, short f, short b)
-{
- return NCURSES_SP_NAME(init_pair) (CURRENT_SCREEN, pair, f, b);
-}
-#endif
-
#define okRGB(n) ((n) >= 0 && (n) <= 1000)
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(init_color) (NCURSES_SP_DCLx
- short color, short r, short g, short b)
+init_color(short color, short r, short g, short b)
{
int result = ERR;
- int maxcolors;
-
- T((T_CALLED("init_color(%p,%d,%d,%d,%d)"),
- (void *) SP_PARM,
- color,
- r, g, b));
- if (SP_PARM == 0)
- returnCode(result);
+ T((T_CALLED("init_color(%d,%d,%d,%d)"), color, r, g, b));
- maxcolors = MaxColors;
-
- if (InitColor
- && SP_PARM->_coloron
+ if (initialize_color != NULL
+ && SP != 0
+ && SP->_coloron
&& (color >= 0 && OkColorHi(color))
&& (okRGB(r) && okRGB(g) && okRGB(b))) {
- SP_PARM->_color_table[color].init = 1;
- SP_PARM->_color_table[color].r = r;
- SP_PARM->_color_table[color].g = g;
- SP_PARM->_color_table[color].b = b;
+ SP->_color_table[color].init = 1;
+ SP->_color_table[color].r = r;
+ SP->_color_table[color].g = g;
+ SP->_color_table[color].b = b;
- if (UseHlsPalette) {
+ if (hue_lightness_saturation) {
rgb2hls(r, g, b,
- &SP_PARM->_color_table[color].red,
- &SP_PARM->_color_table[color].green,
- &SP_PARM->_color_table[color].blue);
+ &SP->_color_table[color].red,
+ &SP->_color_table[color].green,
+ &SP->_color_table[color].blue);
} else {
- SP_PARM->_color_table[color].red = r;
- SP_PARM->_color_table[color].green = g;
- SP_PARM->_color_table[color].blue = b;
+ SP->_color_table[color].red = r;
+ SP->_color_table[color].green = g;
+ SP->_color_table[color].blue = b;
}
-#ifdef USE_TERM_DRIVER
- CallDriver_4(SP_PARM, initcolor, color, r, g, b);
-#else
TPUTS_TRACE("initialize_color");
putp(TPARM_4(initialize_color, color, r, g, b));
-#endif
- SP_PARM->_color_defs = max(color + 1, SP_PARM->_color_defs);
-
+ SP->_color_defs = max(color + 1, SP->_color_defs);
result = OK;
}
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-init_color(short color, short r, short g, short b)
-{
- return NCURSES_SP_NAME(init_color) (CURRENT_SCREEN, color, r, g, b);
-}
-#endif
-
-NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(can_change_color) (NCURSES_SP_DCL)
-{
- T((T_CALLED("can_change_color(%p)"), (void *) SP_PARM));
- returnCode((CanChange != 0) ? TRUE : FALSE);
-}
-
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(bool)
can_change_color(void)
{
- return NCURSES_SP_NAME(can_change_color) (CURRENT_SCREEN);
+ T((T_CALLED("can_change_color()")));
+ returnCode((can_change != 0) ? TRUE : FALSE);
}
-#endif
NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(has_colors) (NCURSES_SP_DCL0)
-{
- int code;
-
- (void) SP_PARM;
- T((T_CALLED("has_colors()")));
-#ifdef USE_TERM_DRIVER
- code = HasColor;
-#else
- code = ((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs)
- && (((set_foreground != NULL)
- && (set_background != NULL))
- || ((set_a_foreground != NULL)
- && (set_a_background != NULL))
- || set_color_pair)) ? TRUE : FALSE);
-#endif
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(bool)
has_colors(void)
{
- return NCURSES_SP_NAME(has_colors) (CURRENT_SCREEN);
+ T((T_CALLED("has_colors()")));
+ returnCode((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs)
+ && (((set_foreground != NULL)
+ && (set_background != NULL))
+ || ((set_a_foreground != NULL)
+ && (set_a_background != NULL))
+ || set_color_pair)) ? TRUE : FALSE);
}
-#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(color_content) (NCURSES_SP_DCLx
- short color, short *r, short *g, short *b)
+color_content(short color, short *r, short *g, short *b)
{
- int result = ERR;
- int maxcolors;
-
- T((T_CALLED("color_content(%p,%d,%p,%p,%p)"),
- (void *) SP_PARM,
- color,
- (void *) r,
- (void *) g,
- (void *) b));
-
- if (SP_PARM == 0)
- returnCode(result);
-
- maxcolors = MaxColors;
+ int result;
- if (color < 0 || !OkColorHi(color) || !SP_PARM->_coloron) {
+ T((T_CALLED("color_content(%d,%p,%p,%p)"), color, r, g, b));
+ if (color < 0 || !OkColorHi(color) || SP == 0 || !SP->_coloron) {
result = ERR;
} else {
- NCURSES_COLOR_T c_r = SP_PARM->_color_table[color].red;
- NCURSES_COLOR_T c_g = SP_PARM->_color_table[color].green;
- NCURSES_COLOR_T c_b = SP_PARM->_color_table[color].blue;
+ NCURSES_COLOR_T c_r = SP->_color_table[color].red;
+ NCURSES_COLOR_T c_g = SP->_color_table[color].green;
+ NCURSES_COLOR_T c_b = SP->_color_table[color].blue;
if (r)
*r = c_r;
@@ -708,31 +489,18 @@ NCURSES_SP_NAME(color_content) (NCURSES_SP_DCLx
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-color_content(short color, short *r, short *g, short *b)
-{
- return NCURSES_SP_NAME(color_content) (CURRENT_SCREEN, color, r, g, b);
-}
-#endif
-
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(pair_content) (NCURSES_SP_DCLx
- short pair, short *f, short *b)
+pair_content(short pair, short *f, short *b)
{
int result;
- T((T_CALLED("pair_content(%p,%d,%p,%p)"),
- (void *) SP_PARM,
- pair,
- (void *) f,
- (void *) b));
+ T((T_CALLED("pair_content(%d,%p,%p)"), pair, f, b));
- if (!ValidPair(pair)) {
+ if ((pair < 0) || (pair >= COLOR_PAIRS) || SP == 0 || !SP->_coloron) {
result = ERR;
} else {
- NCURSES_COLOR_T fg = FORE_OF(SP_PARM->_color_pairs[pair]);
- NCURSES_COLOR_T bg = BACK_OF(SP_PARM->_color_pairs[pair]);
+ NCURSES_COLOR_T fg = ((SP->_color_pairs[pair] >> C_SHIFT) & C_MASK);
+ NCURSES_COLOR_T bg = (SP->_color_pairs[pair] & C_MASK);
#if NCURSES_EXT_FUNCS
if (fg == COLOR_DEFAULT)
@@ -746,53 +514,33 @@ NCURSES_SP_NAME(pair_content) (NCURSES_SP_DCLx
if (b)
*b = bg;
- TR(TRACE_ATTRS, ("...pair_content(%p,%d,%d,%d)",
- (void *) SP_PARM,
- pair,
- fg, bg));
+ TR(TRACE_ATTRS, ("...pair_content(%d,%d,%d)", pair, fg, bg));
result = OK;
}
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-pair_content(short pair, short *f, short *b)
-{
- return NCURSES_SP_NAME(pair_content) (CURRENT_SCREEN, pair, f, b);
-}
-#endif
-
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_DCLx
- short old_pair,
- short pair,
- bool reverse,
- NCURSES_SP_OUTC outc)
+_nc_do_color(short old_pair, short pair, bool reverse, int (*outc) (int))
{
-#ifdef USE_TERM_DRIVER
- CallDriver_4(SP_PARM, docolor, old_pair, pair, reverse, outc);
-#else
NCURSES_COLOR_T fg = COLOR_DEFAULT;
NCURSES_COLOR_T bg = COLOR_DEFAULT;
NCURSES_COLOR_T old_fg, old_bg;
- if (!ValidPair(pair)) {
+ if (pair < 0 || pair >= COLOR_PAIRS) {
return;
} else if (pair != 0) {
if (set_color_pair) {
TPUTS_TRACE("set_color_pair");
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
- TPARM_1(set_color_pair, pair),
- 1, outc);
+ tputs(TPARM_1(set_color_pair, pair), 1, outc);
return;
- } else if (SP_PARM != 0) {
+ } else if (SP != 0) {
pair_content((short) pair, &fg, &bg);
}
}
if (old_pair >= 0
- && SP_PARM != 0
+ && SP != 0
&& pair_content(old_pair, &old_fg, &old_bg) != ERR) {
if ((isDefaultColor(fg) && !isDefaultColor(old_fg))
|| (isDefaultColor(bg) && !isDefaultColor(old_bg))) {
@@ -802,29 +550,29 @@ NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_DCLx
* the terminal description, treat it as screen's indicator of ECMA
* SGR 39 and SGR 49, and assume the two sequences are independent.
*/
- if (SP_PARM->_has_sgr_39_49
+ if (SP->_has_sgr_39_49
&& isDefaultColor(old_bg)
&& !isDefaultColor(old_fg)) {
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx "\033[39m", 1, outc);
- } else if (SP_PARM->_has_sgr_39_49
+ tputs("\033[39m", 1, outc);
+ } else if (SP->_has_sgr_39_49
&& isDefaultColor(old_fg)
&& !isDefaultColor(old_bg)) {
- NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx "\033[49m", 1, outc);
+ tputs("\033[49m", 1, outc);
} else
#endif
- reset_color_pair(NCURSES_SP_ARG);
+ reset_color_pair();
}
} else {
- reset_color_pair(NCURSES_SP_ARG);
+ reset_color_pair();
if (old_pair < 0)
return;
}
#if NCURSES_EXT_FUNCS
if (isDefaultColor(fg))
- fg = (short) default_fg(NCURSES_SP_ARG);
+ fg = default_fg();
if (isDefaultColor(bg))
- bg = (short) default_bg(NCURSES_SP_ARG);
+ bg = default_bg();
#endif
if (reverse) {
@@ -837,23 +585,9 @@ NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_DCLx
fg, bg));
if (!isDefaultColor(fg)) {
- set_foreground_color(NCURSES_SP_ARGx fg, outc);
+ set_foreground_color(fg, outc);
}
if (!isDefaultColor(bg)) {
- set_background_color(NCURSES_SP_ARGx bg, outc);
+ set_background_color(bg, outc);
}
-#endif
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_do_color(short old_pair, short pair, bool reverse, NCURSES_OUTC outc)
-{
- SetSafeOutcWrapper(outc);
- NCURSES_SP_NAME(_nc_do_color) (CURRENT_SCREEN,
- old_pair,
- pair,
- reverse,
- _nc_outc_wrapper);
-}
-#endif
diff --git a/ncurses/base/lib_colorset.c b/ncurses/base/lib_colorset.c
index 6210a0e8a8f9..a973c5350c8f 100644
--- a/ncurses/base/lib_colorset.c
+++ b/ncurses/base/lib_colorset.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,7 +28,7 @@
/****************************************************************************
* Author: Juergen Pfeifer, 1998 *
- * and: Thomas E. Dickey, 2005-on *
+ * and: Thomas E. Dickey, 2005 *
****************************************************************************/
/*
@@ -41,23 +41,20 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_colorset.c,v 1.13 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_colorset.c,v 1.11 2005/01/29 21:40:51 tom Exp $")
NCURSES_EXPORT(int)
wcolor_set(WINDOW *win, short color_pair_number, void *opts)
{
- int code = ERR;
-
- T((T_CALLED("wcolor_set(%p,%d)"), (void *) win, color_pair_number));
+ T((T_CALLED("wcolor_set(%p,%d)"), win, color_pair_number));
if (win
&& !opts
- && (SP != 0)
&& (color_pair_number >= 0)
- && (color_pair_number < SP->_pair_limit)) {
+ && (color_pair_number < COLOR_PAIRS)) {
TR(TRACE_ATTRS, ("... current %ld", (long) GET_WINDOW_PAIR(win)));
SET_WINDOW_PAIR(win, color_pair_number);
if_EXT_COLORS(win->_color = color_pair_number);
- code = OK;
- }
- returnCode(code);
+ returnCode(OK);
+ } else
+ returnCode(ERR);
}
diff --git a/ncurses/base/lib_delch.c b/ncurses/base/lib_delch.c
index 64c9da73edf8..0c30f2d93c1b 100644
--- a/ncurses/base/lib_delch.c
+++ b/ncurses/base/lib_delch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2001,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,14 +40,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_delch.c,v 1.13 2009/10/24 22:32:47 tom Exp $")
+MODULE_ID("$Id: lib_delch.c,v 1.12 2001/12/19 01:06:09 tom Exp $")
NCURSES_EXPORT(int)
wdelch(WINDOW *win)
{
int code = ERR;
- T((T_CALLED("wdelch(%p)"), (void *) win));
+ T((T_CALLED("wdelch(%p)"), win));
if (win) {
NCURSES_CH_T blank = win->_nc_bkgd;
diff --git a/ncurses/base/lib_delwin.c b/ncurses/base/lib_delwin.c
index 4bb536ca86ad..b92c40335958 100644
--- a/ncurses/base/lib_delwin.c
+++ b/ncurses/base/lib_delwin.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2008 *
****************************************************************************/
/*
@@ -42,18 +40,15 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_delwin.c,v 1.20 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_delwin.c,v 1.17 2008/06/07 14:10:56 tom Exp $")
static bool
cannot_delete(WINDOW *win)
{
WINDOWLIST *p;
bool result = TRUE;
-#ifdef USE_SP_WINDOWLIST
- SCREEN *sp = _nc_screen_of(win);
-#endif
- for (each_window(SP_PARM, p)) {
+ for (each_window(p)) {
if (&(p->win) == win) {
result = FALSE;
} else if ((p->win._flags & _SUBWIN) != 0
@@ -70,20 +65,18 @@ delwin(WINDOW *win)
{
int result = ERR;
- T((T_CALLED("delwin(%p)"), (void *) win));
+ T((T_CALLED("delwin(%p)"), win));
if (_nc_try_global(curses) == 0) {
if (win == 0
|| cannot_delete(win)) {
result = ERR;
} else {
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(win);
-#endif
+
if (win->_flags & _SUBWIN)
touchwin(win->_parent);
- else if (CurScreen(SP_PARM) != 0)
- touchwin(CurScreen(SP_PARM));
+ else if (curscr != 0)
+ touchwin(curscr);
result = _nc_freewin(win);
}
diff --git a/ncurses/base/lib_dft_fgbg.c b/ncurses/base/lib_dft_fgbg.c
index 4bb9fc2774a9..8953c148b09e 100644
--- a/ncurses/base/lib_dft_fgbg.c
+++ b/ncurses/base/lib_dft_fgbg.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,73 +27,49 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1998-on *
- * Juergen Pfeifer 2009 *
+ * Author: Thomas E. Dickey *
****************************************************************************/
#include <curses.priv.h>
+#include <term.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_dft_fgbg.c,v 1.25 2009/10/24 22:15:00 tom Exp $")
+MODULE_ID("$Id: lib_dft_fgbg.c,v 1.18 2005/11/26 20:03:38 tom Exp $")
/*
* Modify the behavior of color-pair 0 so that the library doesn't assume that
* it is white on black. This is an extension to XSI curses.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(use_default_colors) (NCURSES_SP_DCL0)
-{
- T((T_CALLED("use_default_colors(%p)"), (void *) SP_PARM));
- returnCode(NCURSES_SP_NAME(assume_default_colors) (NCURSES_SP_ARGx -1, -1));
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
use_default_colors(void)
{
- return NCURSES_SP_NAME(use_default_colors) (CURRENT_SCREEN);
+ T((T_CALLED("use_default_colors()")));
+ returnCode(assume_default_colors(-1, -1));
}
-#endif
/*
* Modify the behavior of color-pair 0 so that the library assumes that it
* is something specific, possibly not white on black.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(assume_default_colors) (NCURSES_SP_DCLx int fg, int bg)
+assume_default_colors(int fg, int bg)
{
- int code = ERR;
+ T((T_CALLED("assume_default_colors(%d,%d)"), fg, bg));
- T((T_CALLED("assume_default_colors(%p,%d,%d)"), (void *) SP_PARM, fg, bg));
-#ifdef USE_TERM_DRIVER
- if (sp != 0)
- code = CallDriver_2(sp, defaultcolors, fg, bg);
-#else
- if ((orig_pair || orig_colors) && !initialize_pair) {
+ if (!orig_pair && !orig_colors)
+ returnCode(ERR);
- SP_PARM->_default_color = isDefaultColor(fg) || isDefaultColor(bg);
- SP_PARM->_has_sgr_39_49 = (tigetflag("AX") == TRUE);
- SP_PARM->_default_fg = isDefaultColor(fg) ? COLOR_DEFAULT : (fg & C_MASK);
- SP_PARM->_default_bg = isDefaultColor(bg) ? COLOR_DEFAULT : (bg & C_MASK);
- if (SP_PARM->_color_pairs != 0) {
- bool save = SP_PARM->_default_color;
- SP_PARM->_default_color = TRUE;
- init_pair(0, (short) fg, (short) bg);
- SP_PARM->_default_color = save;
- }
- code = OK;
- }
-#endif
- returnCode(code);
-}
+ if (initialize_pair) /* don't know how to handle this */
+ returnCode(ERR);
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-assume_default_colors(int fg, int bg)
-{
- return NCURSES_SP_NAME(assume_default_colors) (CURRENT_SCREEN, fg, bg);
+ SP->_default_color = isDefaultColor(fg) || isDefaultColor(bg);
+ SP->_has_sgr_39_49 = (tigetflag("AX") == TRUE);
+ SP->_default_fg = isDefaultColor(fg) ? COLOR_DEFAULT : (fg & C_MASK);
+ SP->_default_bg = isDefaultColor(bg) ? COLOR_DEFAULT : (bg & C_MASK);
+ if (SP->_color_pairs != 0) {
+ bool save = SP->_default_color;
+ SP->_default_color = TRUE;
+ init_pair(0, (short) fg, (short) bg);
+ SP->_default_color = save;
+ }
+ returnCode(OK);
}
-#endif
diff --git a/ncurses/base/lib_driver.c b/ncurses/base/lib_driver.c
deleted file mode 100644
index 40487609be4d..000000000000
--- a/ncurses/base/lib_driver.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining a *
- * copy of this software and associated documentation files (the *
- * "Software"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************/
-
-/****************************************************************************
- * Author: Juergen Pfeifer *
- * *
- ****************************************************************************/
-
-#include <curses.priv.h>
-
-MODULE_ID("$Id: lib_driver.c,v 1.3 2010/12/20 00:29:17 tom Exp $")
-
-typedef struct DriverEntry {
- const char *name;
- TERM_DRIVER *driver;
-} DRIVER_ENTRY;
-
-static DRIVER_ENTRY DriverTable[] =
-{
-#ifdef __MINGW32__
- {"win", &_nc_WIN_DRIVER},
-#endif
- {"tinfo", &_nc_TINFO_DRIVER}
-};
-
-NCURSES_EXPORT(int)
-_nc_get_driver(TERMINAL_CONTROL_BLOCK * TCB, const char *name, int *errret)
-{
- int code = ERR;
- size_t i;
- TERM_DRIVER *res = (TERM_DRIVER *) 0;
- TERM_DRIVER *use = 0;
-
- T((T_CALLED("_nc_get_driver(%p, %s, %p)"),
- (void *) TCB, NonNull(name), (void *) errret));
-
- assert(TCB != 0);
-
- for (i = 0; i < SIZEOF(DriverTable); i++) {
- res = DriverTable[i].driver;
- if (res->CanHandle(TCB, name, errret)) {
- use = res;
- break;
- }
- }
- if (use != 0) {
- TCB->drv = use;
- code = OK;
- }
- returnCode(code);
-}
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(has_key) (SCREEN *sp, int keycode)
-{
- T((T_CALLED("has_key(%p, %d)"), (void *) sp, keycode));
- returnCode(IsValidTIScreen(sp) ? CallDriver_1(sp, kyExist, keycode) : FALSE);
-}
-
-NCURSES_EXPORT(int)
-has_key(int keycode)
-{
- return NCURSES_SP_NAME(has_key) (CURRENT_SCREEN, keycode);
-}
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_mcprint) (SCREEN *sp, char *data, int len)
-{
- int code = ERR;
-
- if (0 != TerminalOf(sp))
- code = CallDriver_2(sp, print, data, len);
- return (code);
-}
-
-NCURSES_EXPORT(int)
-mcprint(char *data, int len)
-{
- return NCURSES_SP_NAME(_nc_mcprint) (CURRENT_SCREEN, data, len);
-}
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(doupdate) (SCREEN *sp)
-{
- int code = ERR;
-
- T((T_CALLED("doupdate(%p)"), (void *) sp));
-
- if (IsValidScreen(sp))
- code = CallDriver(sp, update);
-
- returnCode(code);
-}
-
-NCURSES_EXPORT(int)
-doupdate(void)
-{
- return NCURSES_SP_NAME(doupdate) (CURRENT_SCREEN);
-}
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(mvcur) (SCREEN *sp, int yold, int xold, int ynew, int xnew)
-{
- int code = ERR;
- TR(TRACE_CALLS | TRACE_MOVE, (T_CALLED("mvcur(%p,%d,%d,%d,%d)"),
- (void *) sp, yold, xold, ynew, xnew));
- if (HasTerminal(sp)) {
- code = CallDriver_4(sp, hwcur, yold, xold, ynew, xnew);
- }
- returnCode(code);
-}
-
-NCURSES_EXPORT(int)
-mvcur(int yold, int xold, int ynew, int xnew)
-/* optimized cursor move from (yold, xold) to (ynew, xnew) */
-{
- return NCURSES_SP_NAME(mvcur) (CURRENT_SCREEN, yold, xold, ynew, xnew);
-}
diff --git a/ncurses/base/lib_echo.c b/ncurses/base/lib_echo.c
index 9e1d3c265741..df44713d1a11 100644
--- a/ncurses/base/lib_echo.c
+++ b/ncurses/base/lib_echo.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -44,40 +42,20 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_echo.c,v 1.8 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_echo.c,v 1.5 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(echo) (NCURSES_SP_DCL0)
-{
- T((T_CALLED("echo(%p)"), (void *) SP_PARM));
- if (0 == SP_PARM)
- returnCode(ERR);
- SP_PARM->_echo = TRUE;
- returnCode(OK);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
echo(void)
{
- return NCURSES_SP_NAME(echo) (CURRENT_SCREEN);
-}
-#endif
-
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(noecho) (NCURSES_SP_DCL0)
-{
- T((T_CALLED("noecho(%p)"), (void *) SP_PARM));
- if (0 == SP_PARM)
- returnCode(ERR);
- SP_PARM->_echo = FALSE;
+ T((T_CALLED("echo()")));
+ SP->_echo = TRUE;
returnCode(OK);
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
noecho(void)
{
- return NCURSES_SP_NAME(noecho) (CURRENT_SCREEN);
+ T((T_CALLED("noecho()")));
+ SP->_echo = FALSE;
+ returnCode(OK);
}
-#endif
diff --git a/ncurses/base/lib_endwin.c b/ncurses/base/lib_endwin.c
index 4596d0749633..66662871962b 100644
--- a/ncurses/base/lib_endwin.c
+++ b/ncurses/base/lib_endwin.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -41,39 +39,22 @@
*/
#include <curses.priv.h>
+#include <term.h>
-MODULE_ID("$Id: lib_endwin.c,v 1.22 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_endwin.c,v 1.19 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(endwin) (NCURSES_SP_DCL0)
+endwin(void)
{
- int code = ERR;
-
- T((T_CALLED("endwin(%p)"), (void *) SP_PARM));
+ T((T_CALLED("endwin()")));
- if (SP_PARM) {
-#ifdef USE_TERM_DRIVER
- TERMINAL_CONTROL_BLOCK *TCB = TCBOf(SP_PARM);
-
- SP_PARM->_endwin = TRUE;
- if (TCB && TCB->drv && TCB->drv->scexit)
- TCB->drv->scexit(SP_PARM);
-#else
- SP_PARM->_endwin = TRUE;
- SP_PARM->_mouse_wrap(SP_PARM);
+ if (SP) {
+ SP->_endwin = TRUE;
+ SP->_mouse_wrap(SP);
_nc_screen_wrap();
_nc_mvcur_wrap(); /* wrap up cursor addressing */
-#endif
- code = NCURSES_SP_NAME(reset_shell_mode) (NCURSES_SP_ARG);
+ returnCode(reset_shell_mode());
}
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-endwin(void)
-{
- return NCURSES_SP_NAME(endwin) (CURRENT_SCREEN);
+ returnCode(ERR);
}
-#endif
diff --git a/ncurses/base/lib_erase.c b/ncurses/base/lib_erase.c
index bbf10ef81b92..2566e8b39820 100644
--- a/ncurses/base/lib_erase.c
+++ b/ncurses/base/lib_erase.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -41,7 +41,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_erase.c,v 1.17 2009/10/24 22:32:29 tom Exp $")
+MODULE_ID("$Id: lib_erase.c,v 1.16 2005/10/30 00:36:36 tom Exp $")
NCURSES_EXPORT(int)
werase(WINDOW *win)
@@ -51,7 +51,7 @@ werase(WINDOW *win)
NCURSES_CH_T blank;
NCURSES_CH_T *sp, *end, *start;
- T((T_CALLED("werase(%p)"), (void *) win));
+ T((T_CALLED("werase(%p)"), win));
if (win) {
blank = win->_nc_bkgd;
diff --git a/ncurses/base/lib_flash.c b/ncurses/base/lib_flash.c
index 03f11d923b6d..a6b022a8e816 100644
--- a/ncurses/base/lib_flash.c
+++ b/ncurses/base/lib_flash.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -41,12 +39,9 @@
*/
#include <curses.priv.h>
+#include <term.h> /* beep, flash */
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_flash.c,v 1.11 2009/10/24 22:02:14 tom Exp $")
+MODULE_ID("$Id: lib_flash.c,v 1.6 2000/12/10 02:43:27 tom Exp $")
/*
* flash()
@@ -57,15 +52,12 @@ MODULE_ID("$Id: lib_flash.c,v 1.11 2009/10/24 22:02:14 tom Exp $")
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(flash) (NCURSES_SP_DCL0)
+flash(void)
{
int res = ERR;
- T((T_CALLED("flash(%p)"), (void *) SP_PARM));
-#ifdef USE_TERM_DRIVER
- if (SP_PARM != 0)
- res = CallDriver_1(SP_PARM, doBeepOrFlash, FALSE);
-#else
+ T((T_CALLED("flash()")));
+
/* FIXME: should make sure that we are not in altchar mode */
if (flash_screen) {
TPUTS_TRACE("flash_screen");
@@ -76,14 +68,6 @@ NCURSES_SP_NAME(flash) (NCURSES_SP_DCL0)
res = putp(bell);
_nc_flush();
}
-#endif
- returnCode(res);
-}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-flash(void)
-{
- return NCURSES_SP_NAME(flash) (CURRENT_SCREEN);
+ returnCode(res);
}
-#endif
diff --git a/ncurses/base/lib_freeall.c b/ncurses/base/lib_freeall.c
index 5bcc974bc257..564026582911 100644
--- a/ncurses/base/lib_freeall.c
+++ b/ncurses/base/lib_freeall.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -31,6 +31,7 @@
****************************************************************************/
#include <curses.priv.h>
+#include <term_entry.h>
#include <tic.h>
#if HAVE_NC_FREEALL
@@ -39,40 +40,40 @@
extern int malloc_errfd; /* FIXME */
#endif
-MODULE_ID("$Id: lib_freeall.c,v 1.59 2010/01/23 17:57:43 tom Exp $")
+MODULE_ID("$Id: lib_freeall.c,v 1.54 2008/09/27 13:09:57 tom Exp $")
/*
* Free all ncurses data. This is used for testing only (there's no practical
* use for it as an extension).
*/
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_DCL0)
+_nc_freeall(void)
{
WINDOWLIST *p, *q;
static va_list empty_va;
T((T_CALLED("_nc_freeall()")));
#if NO_LEAKS
- if (SP_PARM != 0) {
- if (SP_PARM->_oldnum_list != 0) {
- FreeAndNull(SP_PARM->_oldnum_list);
+ if (SP != 0) {
+ if (SP->_oldnum_list != 0) {
+ FreeAndNull(SP->_oldnum_list);
}
- if (SP_PARM->_panelHook.destroy != 0) {
- SP_PARM->_panelHook.destroy(SP_PARM->_panelHook.stdscr_pseudo_panel);
+ if (SP->_panelHook.destroy != 0) {
+ SP->_panelHook.destroy(SP->_panelHook.stdscr_pseudo_panel);
}
}
#endif
- if (SP_PARM != 0) {
+ if (SP != 0) {
_nc_lock_global(curses);
- while (WindowList(SP_PARM) != 0) {
+ while (_nc_windows != 0) {
bool deleted = FALSE;
/* Delete only windows that're not a parent */
- for (each_window(SP_PARM, p)) {
+ for (each_window(p)) {
bool found = FALSE;
- for (each_window(SP_PARM, q)) {
+ for (each_window(q)) {
if ((p != q)
&& (q->win._flags & _SUBWIN)
&& (&(p->win) == q->win._parent)) {
@@ -94,9 +95,11 @@ NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_DCL0)
if (!deleted)
break;
}
- delscreen(SP_PARM);
+ delscreen(SP);
_nc_unlock_global(curses);
}
+ if (cur_term != 0)
+ del_curterm(cur_term);
(void) _nc_printf_string(0, empty_va);
#ifdef TRACE
@@ -118,20 +121,12 @@ NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_DCL0)
returnVoid;
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
-_nc_freeall(void)
-{
- NCURSES_SP_NAME(_nc_freeall) (CURRENT_SCREEN);
-}
-#endif
-
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_free_and_exit) (NCURSES_SP_DCLx int code)
+_nc_free_and_exit(int code)
{
- char *last_setbuf = (SP_PARM != 0) ? SP_PARM->_setbuf : 0;
+ char *last_setbuf = (SP != 0) ? SP->_setbuf : 0;
- NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_ARG);
+ _nc_freeall();
#ifdef TRACE
trace(0); /* close trace file, freeing its setbuf */
{
@@ -151,21 +146,12 @@ _nc_freeall(void)
}
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(_nc_free_and_exit) (NCURSES_SP_DCLx int code)
-{
- if (SP_PARM) {
- delscreen(SP_PARM);
- if (SP_PARM->_term)
- NCURSES_SP_NAME(del_curterm) (NCURSES_SP_ARGx SP_PARM->_term);
- }
- exit(code);
-}
-#endif
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
_nc_free_and_exit(int code)
{
- NCURSES_SP_NAME(_nc_free_and_exit) (CURRENT_SCREEN, code);
+ if (SP)
+ delscreen(SP);
+ if (cur_term != 0)
+ del_curterm(cur_term);
+ exit(code);
}
#endif
diff --git a/ncurses/base/lib_getch.c b/ncurses/base/lib_getch.c
index 130c502431b3..e7ba0b210e34 100644
--- a/ncurses/base/lib_getch.c
+++ b/ncurses/base/lib_getch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,80 +41,40 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_getch.c,v 1.121 2010/12/25 23:24:04 tom Exp $")
+MODULE_ID("$Id: lib_getch.c,v 1.99 2008/09/20 19:46:13 tom Exp $")
#include <fifo_defs.h>
#if USE_REENTRANT
-#define GetEscdelay(sp) *_nc_ptr_Escdelay(sp)
+#define GetEscdelay(sp) (sp)->_ESCDELAY
NCURSES_EXPORT(int)
NCURSES_PUBLIC_VAR(ESCDELAY) (void)
{
- return *(_nc_ptr_Escdelay(CURRENT_SCREEN));
-}
-
-NCURSES_EXPORT(int *)
-_nc_ptr_Escdelay(SCREEN *sp)
-{
- return ptrEscdelay(sp);
+ return SP ? GetEscdelay(SP) : 1000;
}
#else
#define GetEscdelay(sp) ESCDELAY
-NCURSES_EXPORT_VAR(int) ESCDELAY = 1000;
+NCURSES_EXPORT_VAR(int)
+ESCDELAY = 1000; /* max interval betw. chars in funkeys, in millisecs */
#endif
#if NCURSES_EXT_FUNCS
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(set_escdelay) (NCURSES_SP_DCLx int value)
+set_escdelay(int value)
{
int code = OK;
#if USE_REENTRANT
- if (SP_PARM) {
- SET_ESCDELAY(value);
+ if (SP) {
+ SP->_ESCDELAY = value;
} else {
code = ERR;
}
#else
- (void) SP_PARM;
ESCDELAY = value;
#endif
return code;
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-set_escdelay(int value)
-{
- int code;
-#if USE_REENTRANT
- code = NCURSES_SP_NAME(set_escdelay) (CURRENT_SCREEN, value);
-#else
- ESCDELAY = value;
- code = OK;
-#endif
- return code;
-}
-#endif
-#endif /* NCURSES_EXT_FUNCS */
-
-#if NCURSES_EXT_FUNCS
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(get_escdelay) (NCURSES_SP_DCL0)
-{
-#if !USE_REENTRANT
- (void) SP_PARM;
-#endif
- return GetEscdelay(SP_PARM);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-get_escdelay(void)
-{
- return NCURSES_SP_NAME(get_escdelay) (CURRENT_SCREEN);
-}
#endif
-#endif /* NCURSES_EXT_FUNCS */
static int
_nc_use_meta(WINDOW *win)
@@ -124,6 +83,12 @@ _nc_use_meta(WINDOW *win)
return (sp ? sp->_use_meta : 0);
}
+#ifdef NCURSES_WGETCH_EVENTS
+#define TWAIT_MASK 7
+#else
+#define TWAIT_MASK 3
+#endif
+
/*
* Check for mouse activity, returning nonzero if we find any.
*/
@@ -132,29 +97,19 @@ check_mouse_activity(SCREEN *sp, int delay EVENTLIST_2nd(_nc_eventlist * evl))
{
int rc;
-#ifdef USE_TERM_DRIVER
- rc = TCBOf(sp)->drv->testmouse(TCBOf(sp), delay);
-#else
#if USE_SYSMOUSE
if ((sp->_mouse_type == M_SYSMOUSE)
&& (sp->_sysmouse_head < sp->_sysmouse_tail)) {
- rc = TW_MOUSE;
- } else
+ return 2;
+ }
#endif
- {
- rc = _nc_timed_wait(sp,
- TWAIT_MASK,
- delay,
- (int *) 0
- EVENTLIST_2nd(evl));
+ rc = _nc_timed_wait(sp, TWAIT_MASK, delay, (int *) 0 EVENTLIST_2nd(evl));
#if USE_SYSMOUSE
- if ((sp->_mouse_type == M_SYSMOUSE)
- && (sp->_sysmouse_head < sp->_sysmouse_tail)
- && (rc == 0)
- && (errno == EINTR)) {
- rc |= TW_MOUSE;
- }
-#endif
+ if ((sp->_mouse_type == M_SYSMOUSE)
+ && (sp->_sysmouse_head < sp->_sysmouse_tail)
+ && (rc == 0)
+ && (errno == EINTR)) {
+ rc |= 2;
}
#endif
return rc;
@@ -218,9 +173,9 @@ fifo_push(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
} else
mask = 0;
- if (mask & TW_EVENT) {
+ if (mask & 4) {
T(("fifo_push: ungetch KEY_EVENT"));
- safe_ungetch(sp, KEY_EVENT);
+ _nc_ungetch(sp, KEY_EVENT);
return KEY_EVENT;
}
#elif USE_GPM_SUPPORT || USE_EMX_MOUSE || USE_SYSMOUSE
@@ -230,7 +185,7 @@ fifo_push(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
#endif
#if USE_GPM_SUPPORT || USE_EMX_MOUSE
- if ((sp->_mouse_fd >= 0) && (mask & TW_MOUSE)) {
+ if ((sp->_mouse_fd >= 0) && (mask & 2)) {
sp->_mouse_event(sp);
ch = KEY_MOUSE;
n = 1;
@@ -249,33 +204,10 @@ fifo_push(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
n = 1;
} else
#endif
-#ifdef USE_TERM_DRIVER
- if ((sp->_mouse_type == M_TERM_DRIVER)
- && (sp->_drv_mouse_head < sp->_drv_mouse_tail)) {
- sp->_mouse_event(sp);
- ch = KEY_MOUSE;
- n = 1;
- } else
-#endif
{ /* Can block... */
-#ifdef USE_TERM_DRIVER
- int buf;
- n = CallDriver_1(sp, read, &buf);
- ch = buf;
-#else
unsigned char c2 = 0;
-# if USE_PTHREADS_EINTR
-# if USE_WEAK_SYMBOLS
- if ((pthread_self) && (pthread_kill) && (pthread_equal))
-# endif
- _nc_globals.read_thread = pthread_self();
-# endif
- n = (int) read(sp->_ifd, &c2, 1);
-#if USE_PTHREADS_EINTR
- _nc_globals.read_thread = 0;
-#endif
+ n = read(sp->_ifd, &c2, 1);
ch = c2;
-#endif
}
#ifdef HIDE_EINTR
@@ -288,11 +220,7 @@ fifo_push(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
* We don't want this difference to show. This piece of code
* tries to make it look like we always have restarting signals.
*/
- if (n <= 0 && errno == EINTR
-# if USE_PTHREADS_EINTR
- && (_nc_globals.have_sigwinch == 0)
-# endif
- )
+ if (n <= 0 && errno == EINTR)
goto again;
#endif
@@ -332,12 +260,12 @@ recur_wrefresh(WINDOW *win)
{
#ifdef USE_PTHREADS
SCREEN *sp = _nc_screen_of(win);
- if (_nc_use_pthreads && sp != CURRENT_SCREEN) {
+ if (_nc_use_pthreads && sp != SP) {
SCREEN *save_SP;
/* temporarily switch to the window's screen to check/refresh */
_nc_lock_global(curses);
- save_SP = CURRENT_SCREEN;
+ save_SP = SP;
_nc_set_screen(sp);
recur_wrefresh(win);
_nc_set_screen(save_SP);
@@ -358,12 +286,12 @@ recur_wgetnstr(WINDOW *win, char *buf)
if (sp != 0) {
#ifdef USE_PTHREADS
- if (_nc_use_pthreads && sp != CURRENT_SCREEN) {
+ if (_nc_use_pthreads && sp != SP) {
SCREEN *save_SP;
/* temporarily switch to the window's screen to get cooked input */
_nc_lock_global(curses);
- save_SP = CURRENT_SCREEN;
+ save_SP = SP;
_nc_set_screen(sp);
rc = recur_wgetnstr(win, buf);
_nc_set_screen(save_SP);
@@ -383,18 +311,17 @@ recur_wgetnstr(WINDOW *win, char *buf)
NCURSES_EXPORT(int)
_nc_wgetch(WINDOW *win,
- int *result,
+ unsigned long *result,
int use_meta
EVENTLIST_2nd(_nc_eventlist * evl))
{
SCREEN *sp;
int ch;
- int rc = 0;
#ifdef NCURSES_WGETCH_EVENTS
long event_delay = -1;
#endif
- T((T_CALLED("_nc_wgetch(%p)"), (void *) win));
+ T((T_CALLED("_nc_wgetch(%p)"), win));
*result = 0;
@@ -425,20 +352,19 @@ _nc_wgetch(WINDOW *win,
!sp->_cbreak &&
!sp->_called_wgetch) {
char buf[MAXCOLUMNS], *bufp;
+ int rc;
TR(TRACE_IEVENT, ("filling queue in cooked mode"));
+ rc = recur_wgetnstr(win, buf);
+
/* ungetch in reverse order */
#ifdef NCURSES_WGETCH_EVENTS
- rc = recur_wgetnstr(win, buf);
if (rc != KEY_EVENT)
- safe_ungetch(sp, '\n');
-#else
- (void) recur_wgetnstr(win, buf);
- safe_ungetch(sp, '\n');
#endif
+ _nc_ungetch(sp, '\n');
for (bufp = buf + strlen(buf); bufp > buf; bufp--)
- safe_ungetch(sp, bufp[-1]);
+ _nc_ungetch(sp, bufp[-1]);
#ifdef NCURSES_WGETCH_EVENTS
/* Return it first */
@@ -458,6 +384,7 @@ _nc_wgetch(WINDOW *win,
if (win->_notimeout || (win->_delay >= 0) || (sp->_cbreak > 1)) {
if (head == -1) { /* fifo is empty */
int delay;
+ int rc;
TR(TRACE_IEVENT, ("timed delay in wgetch()"));
if (sp->_cbreak > 1)
@@ -475,13 +402,13 @@ _nc_wgetch(WINDOW *win,
rc = check_mouse_activity(sp, delay EVENTLIST_2nd(evl));
#ifdef NCURSES_WGETCH_EVENTS
- if (rc & TW_EVENT) {
+ if (rc & 4) {
*result = KEY_EVENT;
returnCode(KEY_CODE_YES);
}
#endif
if (!rc) {
- goto check_sigwinch;
+ returnCode(ERR);
}
}
/* else go on to read data available */
@@ -500,6 +427,7 @@ _nc_wgetch(WINDOW *win,
* increase the wait with mouseinterval().
*/
int runcount = 0;
+ int rc;
do {
ch = kgetch(sp EVENTLIST_2nd(evl));
@@ -514,11 +442,11 @@ _nc_wgetch(WINDOW *win,
(ch == KEY_MOUSE
&& (((rc = check_mouse_activity(sp, sp->_maxclick
EVENTLIST_2nd(evl))) != 0
- && !(rc & TW_EVENT))
+ && !(rc & 4))
|| !sp->_mouse_parse(sp, runcount)));
#ifdef NCURSES_WGETCH_EVENTS
- if ((rc & TW_EVENT) && !(ch == KEY_EVENT)) {
- safe_ungetch(sp, ch);
+ if ((rc & 4) && !ch == KEY_EVENT) {
+ _nc_ungetch(sp, ch);
ch = KEY_EVENT;
}
#endif
@@ -526,12 +454,12 @@ _nc_wgetch(WINDOW *win,
#ifdef NCURSES_WGETCH_EVENTS
/* mouse event sequence ended by an event, report event */
if (ch == KEY_EVENT) {
- safe_ungetch(sp, KEY_MOUSE); /* FIXME This interrupts a gesture... */
+ _nc_ungetch(sp, KEY_MOUSE); /* FIXME This interrupts a gesture... */
} else
#endif
{
/* mouse event sequence ended by keystroke, store keystroke */
- safe_ungetch(sp, ch);
+ _nc_ungetch(sp, ch);
ch = KEY_MOUSE;
}
}
@@ -542,7 +470,6 @@ _nc_wgetch(WINDOW *win,
}
if (ch == ERR) {
- check_sigwinch:
#if USE_SIZECHANGE
if (_nc_handle_sigwinch(sp)) {
_nc_update_screensize(sp);
@@ -581,7 +508,7 @@ _nc_wgetch(WINDOW *win,
* cursor to the left.
*/
if (sp->_echo && !(win->_flags & _ISPAD)) {
- chtype backup = (chtype) ((ch == KEY_BACKSPACE) ? '\b' : ch);
+ chtype backup = (ch == KEY_BACKSPACE) ? '\b' : ch;
if (backup < KEY_MIN)
wechochar(win, backup);
}
@@ -612,7 +539,7 @@ NCURSES_EXPORT(int)
wgetch_events(WINDOW *win, _nc_eventlist * evl)
{
int code;
- int value;
+ unsigned long value;
T((T_CALLED("wgetch_events(%p,%p)"), win, evl));
code = _nc_wgetch(win,
@@ -629,9 +556,9 @@ NCURSES_EXPORT(int)
wgetch(WINDOW *win)
{
int code;
- int value;
+ unsigned long value;
- T((T_CALLED("wgetch(%p)"), (void *) win));
+ T((T_CALLED("wgetch(%p)"), win));
code = _nc_wgetch(win,
&value,
_nc_use_meta(win)
@@ -705,7 +632,7 @@ kgetch(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
break;
}
TR(TRACE_IEVENT, ("ptr=%p, ch=%d, value=%d",
- (void *) ptr, ptr->ch, ptr->value));
+ ptr, ptr->ch, ptr->value));
if (ptr->value != 0) { /* sequence terminated */
TR(TRACE_IEVENT, ("end of sequence"));
@@ -724,7 +651,7 @@ kgetch(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
TR(TRACE_IEVENT, ("waiting for rest of sequence"));
rc = check_mouse_activity(sp, timeleft EVENTLIST_2nd(evl));
#ifdef NCURSES_WGETCH_EVENTS
- if (rc & TW_EVENT) {
+ if (rc & 4) {
TR(TRACE_IEVENT, ("interrupted by a user event"));
/* FIXME Should have preserved remainder timeleft for reuse... */
peek = head; /* Restart interpreting later */
diff --git a/ncurses/base/lib_getstr.c b/ncurses/base/lib_getstr.c
index 21d8baa05c8b..b17df03d2a41 100644
--- a/ncurses/base/lib_getstr.c
+++ b/ncurses/base/lib_getstr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -39,8 +39,9 @@
*/
#include <curses.priv.h>
+#include <term.h>
-MODULE_ID("$Id: lib_getstr.c,v 1.29 2009/10/24 21:59:02 tom Exp $")
+MODULE_ID("$Id: lib_getstr.c,v 1.27 2008/08/16 19:20:04 tom Exp $")
/*
* This wipes out the last character, no matter whether it was a tab, control
@@ -83,24 +84,24 @@ wgetnstr_events(WINDOW *win,
int ch;
int y, x;
- T((T_CALLED("wgetnstr(%p,%p,%d)"), (void *) win, (void *) str, maxlen));
+ T((T_CALLED("wgetnstr(%p,%p, %d)"), win, str, maxlen));
if (!win)
returnCode(ERR);
- NCURSES_SP_NAME(_nc_get_tty_mode) (NCURSES_SP_ARGx &buf);
+ _nc_get_tty_mode(&buf);
oldnl = sp->_nl;
oldecho = sp->_echo;
oldraw = sp->_raw;
oldcbreak = sp->_cbreak;
- NCURSES_SP_NAME(nl) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(noecho) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(noraw) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(cbreak) (NCURSES_SP_ARG);
+ nl();
+ noecho();
+ noraw();
+ cbreak();
- erasec = NCURSES_SP_NAME(erasechar) (NCURSES_SP_ARG);
- killc = NCURSES_SP_NAME(killchar) (NCURSES_SP_ARG);
+ erasec = erasechar();
+ killc = killchar();
oldstr = str;
getyx(win, y, x);
@@ -143,7 +144,7 @@ wgetnstr_events(WINDOW *win,
}
} else if (ch >= KEY_MIN
|| (maxlen >= 0 && str - oldstr >= maxlen)) {
- NCURSES_SP_NAME(beep) (NCURSES_SP_ARG);
+ beep();
} else {
*str++ = (char) ch;
if (oldecho == TRUE) {
@@ -192,7 +193,7 @@ wgetnstr_events(WINDOW *win,
sp->_raw = oldraw;
sp->_cbreak = oldcbreak;
- NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
+ _nc_set_tty_mode(&buf);
*str = '\0';
if (ch == ERR)
diff --git a/ncurses/base/lib_hline.c b/ncurses/base/lib_hline.c
index 1f0380830ddc..2ef2cc585e10 100644
--- a/ncurses/base/lib_hline.c
+++ b/ncurses/base/lib_hline.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,16 +40,16 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_hline.c,v 1.13 2010/12/19 01:48:39 tom Exp $")
+MODULE_ID("$Id: lib_hline.c,v 1.11 2006/03/11 21:52:27 tom Exp $")
NCURSES_EXPORT(int)
whline(WINDOW *win, chtype ch, int n)
{
int code = ERR;
- int start;
- int end;
+ NCURSES_SIZE_T start;
+ NCURSES_SIZE_T end;
- T((T_CALLED("whline(%p,%s,%d)"), (void *) win, _tracechtype(ch), n));
+ T((T_CALLED("whline(%p,%s,%d)"), win, _tracechtype(ch), n));
if (win) {
struct ldat *line = &(win->_line[win->_cury]);
diff --git a/ncurses/base/lib_immedok.c b/ncurses/base/lib_immedok.c
index d51b60a30857..87988b66f1a3 100644
--- a/ncurses/base/lib_immedok.c
+++ b/ncurses/base/lib_immedok.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,12 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_immedok.c,v 1.5 2009/10/24 22:32:11 tom Exp $")
+MODULE_ID("$Id: lib_immedok.c,v 1.4 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(void)
immedok(WINDOW *win, bool flag)
{
- T((T_CALLED("immedok(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("immedok(%p,%d)"), win, flag));
if (win)
win->_immed = flag;
diff --git a/ncurses/base/lib_inchstr.c b/ncurses/base/lib_inchstr.c
index aebb6d625d5c..6ff01687826e 100644
--- a/ncurses/base/lib_inchstr.c
+++ b/ncurses/base/lib_inchstr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,7 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
****************************************************************************/
/*
@@ -41,14 +40,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_inchstr.c,v 1.12 2010/12/20 01:37:41 tom Exp $")
+MODULE_ID("$Id: lib_inchstr.c,v 1.10 2001/06/02 23:37:58 skimo Exp $")
NCURSES_EXPORT(int)
-winchnstr(WINDOW *win, chtype *str, int n)
+winchnstr(WINDOW *win, chtype * str, int n)
{
int i = 0;
- T((T_CALLED("winchnstr(%p,%p,%d)"), (void *) win, (void *) str, n));
+ T((T_CALLED("winchnstr(%p,%p,%d)"), win, str, n));
if (!str)
returnCode(0);
@@ -56,7 +55,7 @@ winchnstr(WINDOW *win, chtype *str, int n)
if (win) {
for (; (n < 0 || (i < n)) && (win->_curx + i <= win->_maxx); i++)
str[i] =
- (chtype) CharOf(win->_line[win->_cury].text[win->_curx + i]) |
+ CharOf(win->_line[win->_cury].text[win->_curx + i]) |
AttrOf(win->_line[win->_cury].text[win->_curx + i]);
}
str[i] = (chtype) 0;
diff --git a/ncurses/base/lib_initscr.c b/ncurses/base/lib_initscr.c
index 334682fab71d..b2fef0c1d085 100644
--- a/ncurses/base/lib_initscr.c
+++ b/ncurses/base/lib_initscr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -45,7 +45,7 @@
#include <sys/termio.h> /* needed for ISC */
#endif
-MODULE_ID("$Id: lib_initscr.c,v 1.39 2009/02/14 20:55:49 tom Exp $")
+MODULE_ID("$Id: lib_initscr.c,v 1.38 2008/08/16 21:20:48 Werner.Fink Exp $")
NCURSES_EXPORT(WINDOW *)
initscr(void)
@@ -90,11 +90,7 @@ initscr(void)
}
/* def_shell_mode - done in newterm/_nc_setupscreen */
-#if NCURSES_SP_FUNCS
- NCURSES_SP_NAME(def_prog_mode) (CURRENT_SCREEN);
-#else
def_prog_mode();
-#endif
}
result = stdscr;
_nc_unlock_global(curses);
diff --git a/ncurses/base/lib_insch.c b/ncurses/base/lib_insch.c
index e21ec02bc84f..9166ea5240e7 100644
--- a/ncurses/base/lib_insch.c
+++ b/ncurses/base/lib_insch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -43,31 +43,24 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_insch.c,v 1.32 2009/10/24 22:04:35 tom Exp $")
+MODULE_ID("$Id: lib_insch.c,v 1.25 2008/02/03 00:14:37 tom Exp $")
/*
* Insert the given character, updating the current location to simplify
* inserting a string.
*/
NCURSES_EXPORT(int)
-_nc_insert_ch(SCREEN *sp, WINDOW *win, chtype ch)
+_nc_insert_ch(WINDOW *win, chtype ch)
{
int code = OK;
NCURSES_CH_T wch;
int count;
NCURSES_CONST char *s;
- int tabsize = (
-#if USE_REENTRANT
- sp->_TABSIZE
-#else
- TABSIZE
-#endif
- );
switch (ch) {
case '\t':
- for (count = (tabsize - (win->_curx % tabsize)); count > 0; count--) {
- if ((code = _nc_insert_ch(sp, win, ' ')) != OK)
+ for (count = (TABSIZE - (win->_curx % TABSIZE)); count > 0; count--) {
+ if ((code = _nc_insert_ch(win, ' ')) != OK)
break;
}
break;
@@ -83,9 +76,7 @@ _nc_insert_ch(SCREEN *sp, WINDOW *win, chtype ch)
WINDOW_EXT(win, addch_used) == 0 &&
#endif
is8bits(ChCharOf(ch)) &&
- (isprint(ChCharOf(ch)) ||
- (ChAttrOf(ch) & A_ALTCHARSET) ||
- (sp != 0 && sp->_legacy_coding && !iscntrl(ChCharOf(ch))))) {
+ isprint(ChCharOf(ch))) {
if (win->_curx <= win->_maxx) {
struct ldat *line = &(win->_line[win->_cury]);
NCURSES_CH_T *end = &(line->text[win->_curx]);
@@ -102,9 +93,9 @@ _nc_insert_ch(SCREEN *sp, WINDOW *win, chtype ch)
win->_curx++;
}
} else if (is8bits(ChCharOf(ch)) && iscntrl(ChCharOf(ch))) {
- s = NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx ChCharOf(ch));
+ s = unctrl(ChCharOf(ch));
while (*s != '\0') {
- code = _nc_insert_ch(sp, win, ChAttrOf(ch) | UChar(*s));
+ code = _nc_insert_ch(win, ChAttrOf(ch) | UChar(*s));
if (code != OK)
break;
++s;
@@ -119,21 +110,16 @@ _nc_insert_ch(SCREEN *sp, WINDOW *win, chtype ch)
wch = _nc_render(win, wch);
count = _nc_build_wch(win, &wch);
if (count > 0) {
- code = _nc_insert_wch(win, &wch);
+ code = wins_wch(win, &wch);
} else if (count == -1) {
/* handle EILSEQ */
if (is8bits(ch)) {
- s = NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx ChCharOf(ch));
- if (strlen(s) > 1) {
- while (*s != '\0') {
- code = _nc_insert_ch(sp, win,
- ChAttrOf(ch) | UChar(*s));
- if (code != OK)
- break;
- ++s;
- }
- } else {
- code = ERR;
+ s = unctrl(ChCharOf(ch));
+ while (*s != '\0') {
+ code = _nc_insert_ch(win, ChAttrOf(ch) | UChar(*s));
+ if (code != OK)
+ break;
+ ++s;
}
} else {
code = ERR;
@@ -153,13 +139,13 @@ winsch(WINDOW *win, chtype c)
NCURSES_SIZE_T ox;
int code = ERR;
- T((T_CALLED("winsch(%p, %s)"), (void *) win, _tracechtype(c)));
+ T((T_CALLED("winsch(%p, %s)"), win, _tracechtype(c)));
if (win != 0) {
oy = win->_cury;
ox = win->_curx;
- code = _nc_insert_ch(_nc_screen_of(win), win, c);
+ code = _nc_insert_ch(win, c);
win->_curx = ox;
win->_cury = oy;
diff --git a/ncurses/base/lib_insdel.c b/ncurses/base/lib_insdel.c
index 8f51bbed4844..342c6541f95f 100644
--- a/ncurses/base/lib_insdel.c
+++ b/ncurses/base/lib_insdel.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -42,14 +42,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_insdel.c,v 1.13 2009/10/24 22:34:41 tom Exp $")
+MODULE_ID("$Id: lib_insdel.c,v 1.12 2003/07/26 22:40:06 tom Exp $")
NCURSES_EXPORT(int)
winsdelln(WINDOW *win, int n)
{
int code = ERR;
- T((T_CALLED("winsdelln(%p,%d)"), (void *) win, n));
+ T((T_CALLED("winsdelln(%p,%d)"), win, n));
if (win) {
if (n != 0) {
diff --git a/ncurses/base/lib_insnstr.c b/ncurses/base/lib_insnstr.c
index ce03e64be002..b6ddfde3c52b 100644
--- a/ncurses/base/lib_insnstr.c
+++ b/ncurses/base/lib_insnstr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2004,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2004 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,7 +40,7 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_insnstr.c,v 1.3 2009/10/24 22:04:35 tom Exp $")
+MODULE_ID("$Id: lib_insnstr.c,v 1.1 2004/02/28 23:44:56 tom Exp $")
NCURSES_EXPORT(int)
winsnstr(WINDOW *win, const char *s, int n)
@@ -51,15 +51,13 @@ winsnstr(WINDOW *win, const char *s, int n)
const unsigned char *str = (const unsigned char *) s;
const unsigned char *cp;
- T((T_CALLED("winsnstr(%p,%s,%d)"), (void *) win, _nc_visbufn(s, n), n));
+ T((T_CALLED("winsnstr(%p,%s,%d)"), win, _nc_visbufn(s, n), n));
if (win != 0 && str != 0) {
- SCREEN *sp = _nc_screen_of(win);
-
oy = win->_cury;
ox = win->_curx;
for (cp = str; *cp && (n <= 0 || (cp - str) < n); cp++) {
- _nc_insert_ch(sp, win, (chtype) UChar(*cp));
+ _nc_insert_ch(win, (chtype) UChar(*cp));
}
win->_curx = ox;
win->_cury = oy;
diff --git a/ncurses/base/lib_instr.c b/ncurses/base/lib_instr.c
index e6d1a739c94f..3fb29490ad06 100644
--- a/ncurses/base/lib_instr.c
+++ b/ncurses/base/lib_instr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -41,14 +41,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_instr.c,v 1.17 2009/10/24 22:55:45 tom Exp $")
+MODULE_ID("$Id: lib_instr.c,v 1.16 2007/07/21 20:18:10 tom Exp $")
NCURSES_EXPORT(int)
winnstr(WINDOW *win, char *str, int n)
{
int i = 0, row, col;
- T((T_CALLED("winnstr(%p,%p,%d)"), (void *) win, str, n));
+ T((T_CALLED("winnstr(%p,%p,%d)"), win, str, n));
if (!str)
returnCode(0);
@@ -79,18 +79,18 @@ winnstr(WINDOW *win, char *str, int n)
init_mb(state);
n3 = wcstombs(0, wch, 0);
- if (!isEILSEQ(n3) && (n3 != 0)) {
- if (((int) n3 + i) > n) {
- done = TRUE;
- } else if ((tmp = typeCalloc(char, n3 + 10)) == 0) {
- done = TRUE;
- } else {
- init_mb(state);
- wcstombs(tmp, wch, n3);
- for (i3 = 0; i3 < n3; ++i3)
- str[i++] = tmp[i3];
- free(tmp);
- }
+ if (isEILSEQ(n3) || (n3 == 0)) {
+ ;
+ } else if ((int) (n3 + i) > n) {
+ done = TRUE;
+ } else if ((tmp = typeCalloc(char, n3 + 10)) == 0) {
+ done = TRUE;
+ } else {
+ init_mb(state);
+ wcstombs(tmp, wch, n3);
+ for (i3 = 0; i3 < n3; ++i3)
+ str[i++] = tmp[i3];
+ free(tmp);
}
}
free(wch);
diff --git a/ncurses/base/lib_isendwin.c b/ncurses/base/lib_isendwin.c
index 923e35bf122f..b337d97a94c3 100644
--- a/ncurses/base/lib_isendwin.c
+++ b/ncurses/base/lib_isendwin.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,20 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_isendwin.c,v 1.7 2009/02/15 00:36:24 tom Exp $")
+MODULE_ID("$Id: lib_isendwin.c,v 1.6 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(isendwin) (NCURSES_SP_DCL0)
-{
- if (SP_PARM == NULL)
- return FALSE;
- return SP_PARM->_endwin;
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(bool)
isendwin(void)
{
- return NCURSES_SP_NAME(isendwin) (CURRENT_SCREEN);
+ if (SP == NULL)
+ return FALSE;
+ return SP->_endwin;
}
-#endif
diff --git a/ncurses/base/lib_leaveok.c b/ncurses/base/lib_leaveok.c
index e6995f85cb4d..17d095d0f8c8 100644
--- a/ncurses/base/lib_leaveok.c
+++ b/ncurses/base/lib_leaveok.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,12 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_leaveok.c,v 1.6 2009/10/24 22:34:23 tom Exp $")
+MODULE_ID("$Id: lib_leaveok.c,v 1.5 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
leaveok(WINDOW *win, bool flag)
{
- T((T_CALLED("leaveok(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("leaveok(%p,%d)"), win, flag));
if (win) {
win->_leaveok = flag;
diff --git a/ncurses/base/lib_mouse.c b/ncurses/base/lib_mouse.c
index dac039551165..95f29aa69111 100644
--- a/ncurses/base/lib_mouse.c
+++ b/ncurses/base/lib_mouse.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2008 *
****************************************************************************/
/*
@@ -80,12 +79,9 @@
#include <curses.priv.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_mouse.c,v 1.121 2011/01/22 19:47:47 tom Exp $")
+MODULE_ID("$Id: lib_mouse.c,v 1.102 2008/10/18 21:48:55 tom Exp $")
+#include <term.h>
#include <tic.h>
#if USE_GPM_SUPPORT
@@ -122,12 +118,12 @@ make an error
#define MY_TRACE TRACE_ICALLS|TRACE_IEVENT
-#define MASK_RELEASE(x) (mmask_t) NCURSES_MOUSE_MASK(x, 001)
-#define MASK_PRESS(x) (mmask_t) NCURSES_MOUSE_MASK(x, 002)
-#define MASK_CLICK(x) (mmask_t) NCURSES_MOUSE_MASK(x, 004)
-#define MASK_DOUBLE_CLICK(x) (mmask_t) NCURSES_MOUSE_MASK(x, 010)
-#define MASK_TRIPLE_CLICK(x) (mmask_t) NCURSES_MOUSE_MASK(x, 020)
-#define MASK_RESERVED_EVENT(x) (mmask_t) NCURSES_MOUSE_MASK(x, 040)
+#define MASK_RELEASE(x) NCURSES_MOUSE_MASK(x, 001)
+#define MASK_PRESS(x) NCURSES_MOUSE_MASK(x, 002)
+#define MASK_CLICK(x) NCURSES_MOUSE_MASK(x, 004)
+#define MASK_DOUBLE_CLICK(x) NCURSES_MOUSE_MASK(x, 010)
+#define MASK_TRIPLE_CLICK(x) NCURSES_MOUSE_MASK(x, 020)
+#define MASK_RESERVED_EVENT(x) NCURSES_MOUSE_MASK(x, 040)
#if NCURSES_MOUSE_VERSION == 1
#define BUTTON_CLICKED (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED | BUTTON4_CLICKED)
@@ -154,7 +150,7 @@ make an error
#define LIBGPM_SONAME "libgpm.so"
#endif
-#define GET_DLSYM(name) (my_##name = (TYPE_##name) dlsym(sp->_dlopen_gpm, #name))
+#define GET_DLSYM(name) (my_##name = (TYPE_##name) dlsym(SP->_dlopen_gpm, #name))
#endif /* USE_GPM_SUPPORT */
@@ -168,13 +164,13 @@ static void _nc_mouse_wrap(SCREEN *);
#define LastEV(sp) ((sp)->_mouse_events + EV_MAX - 1)
#undef NEXT
-#define NEXT(ep) ((ep >= LastEV(SP_PARM)) \
- ? FirstEV(SP_PARM) \
+#define NEXT(ep) ((ep >= LastEV(sp)) \
+ ? FirstEV(sp) \
: ep + 1)
#undef PREV
-#define PREV(ep) ((ep <= FirstEV(SP_PARM)) \
- ? LastEV(SP_PARM) \
+#define PREV(ep) ((ep <= FirstEV(sp)) \
+ ? LastEV(sp) \
: ep - 1)
#define IndexEV(sp, ep) (ep - FirstEV(sp))
@@ -189,7 +185,7 @@ _trace_slot(SCREEN *sp, const char *tag)
{
MEVENT *ep;
- _tracef("%s", tag);
+ _tracef(tag);
for (ep = FirstEV(sp); ep <= LastEV(sp); ep++)
_tracef("mouse event queue slot %ld = %s",
@@ -344,13 +340,10 @@ sysmouse_server(SCREEN *sp)
static void
handle_sysmouse(int sig GCC_UNUSED)
{
- sysmouse_server(CURRENT_SCREEN);
+ sysmouse_server(SP);
}
#endif /* USE_SYSMOUSE */
-#ifndef USE_TERM_DRIVER
-#define xterm_kmous "\033[M"
-
static void
init_xterm_mouse(SCREEN *sp)
{
@@ -359,7 +352,6 @@ init_xterm_mouse(SCREEN *sp)
if (!VALID_STRING(sp->_mouse_xtermcap))
sp->_mouse_xtermcap = "\033[?1000%?%p1%{1}%=%th%el%;";
}
-#endif
static void
enable_xterm_mouse(SCREEN *sp, int enable)
@@ -367,9 +359,7 @@ enable_xterm_mouse(SCREEN *sp, int enable)
#if USE_EMX_MOUSE
sp->_emxmouse_activated = enable;
#else
- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
- "xterm-mouse",
- TPARM_1(sp->_mouse_xtermcap, enable));
+ putp(TPARM_1(sp->_mouse_xtermcap, enable));
#endif
sp->_mouse_active = enable;
}
@@ -408,7 +398,7 @@ allow_gpm_mouse(void)
static void
unload_gpm_library(SCREEN *sp)
{
- if (sp->_dlopen_gpm != 0) {
+ if (SP->_dlopen_gpm != 0) {
T(("unload GPM library"));
sp->_mouse_gpm_loaded = FALSE;
sp->_mouse_fd = -1;
@@ -450,8 +440,6 @@ enable_gpm_mouse(SCREEN *sp, bool enable)
}
#endif
if (sp->_mouse_gpm_loaded) {
- int code;
-
/* GPM: initialize connection to gpm server */
sp->_mouse_gpm_connect.eventMask = GPM_DOWN | GPM_UP;
sp->_mouse_gpm_connect.defaultMask =
@@ -466,16 +454,7 @@ enable_gpm_mouse(SCREEN *sp, bool enable)
* The former is recognized by wscons (SunOS), and the latter by
* xterm. Those will not show up in ncurses' traces.
*/
- code = my_Gpm_Open(&sp->_mouse_gpm_connect, 0);
- result = (code >= 0);
-
- /*
- * GPM can return a -2 if it is trying to do something with xterm.
- * Ignore that, since it conflicts with our use of stdin.
- */
- if (code == -2) {
- my_Gpm_Close();
- }
+ result = (my_Gpm_Open(&sp->_mouse_gpm_connect, 0) >= 0);
} else {
result = FALSE;
}
@@ -499,6 +478,8 @@ enable_gpm_mouse(SCREEN *sp, bool enable)
}
#endif /* USE_GPM_SUPPORT */
+#define xterm_kmous "\033[M"
+
static void
initialize_mousetype(SCREEN *sp)
{
@@ -533,7 +514,7 @@ initialize_mousetype(SCREEN *sp)
/* OS/2 VIO */
#if USE_EMX_MOUSE
if (!sp->_emxmouse_thread
- && strstr(TerminalOf(sp)->type.term_names, "xterm") == 0
+ && strstr(cur_term->type.term_names, "xterm") == 0
&& key_mouse) {
int handles[2];
@@ -640,21 +621,16 @@ initialize_mousetype(SCREEN *sp)
}
#endif /* USE_SYSMOUSE */
-#ifdef USE_TERM_DRIVER
- CallDriver(sp, initmouse);
-#else
/* we know how to recognize mouse events under "xterm" */
if (key_mouse != 0) {
if (!strcmp(key_mouse, xterm_kmous)
- || strstr(TerminalOf(sp)->type.term_names, "xterm") != 0) {
+ || strstr(cur_term->type.term_names, "xterm") != 0) {
init_xterm_mouse(sp);
}
- } else if (strstr(TerminalOf(sp)->type.term_names, "xterm") != 0) {
+ } else if (strstr(cur_term->type.term_names, "xterm") != 0) {
if (_nc_add_to_try(&(sp->_keytry), xterm_kmous, KEY_MOUSE) == OK)
init_xterm_mouse(sp);
}
-#endif
-
returnVoid;
}
@@ -689,7 +665,7 @@ _nc_mouse_init(SCREEN *sp)
* fifo_push() in lib_getch.c
*/
static bool
-_nc_mouse_event(SCREEN *sp)
+_nc_mouse_event(SCREEN *sp GCC_UNUSED)
{
MEVENT *eventp = sp->_mouse_eventp;
bool result = FALSE;
@@ -718,16 +694,11 @@ _nc_mouse_event(SCREEN *sp)
#if USE_GPM_SUPPORT
case M_GPM:
- if (sp->_mouse_fd >= 0) {
+ {
/* query server for event, return TRUE if we find one */
Gpm_Event ev;
- switch (my_Gpm_GetEvent(&ev)) {
- case 0:
- /* Connection closed, drop the mouse. */
- sp->_mouse_fd = -1;
- break;
- case 1:
+ if (my_Gpm_GetEvent(&ev) == 1) {
/* there's only one mouse... */
eventp->id = NORMAL_EVENT;
@@ -758,9 +729,8 @@ _nc_mouse_event(SCREEN *sp)
eventp->z = 0;
/* bump the next-free pointer into the circular list */
- sp->_mouse_eventp = NEXT(eventp);
+ sp->_mouse_eventp = eventp = NEXT(eventp);
result = TRUE;
- break;
}
}
break;
@@ -789,28 +759,6 @@ _nc_mouse_event(SCREEN *sp)
break;
#endif /* USE_SYSMOUSE */
-#ifdef USE_TERM_DRIVER
- case M_TERM_DRIVER:
- while (sp->_drv_mouse_head < sp->_drv_mouse_tail) {
- *eventp = sp->_drv_mouse_fifo[sp->_drv_mouse_head];
-
- /*
- * Point the fifo-head to the next possible location. If there
- * are none, reset the indices.
- */
- sp->_drv_mouse_head += 1;
- if (sp->_drv_mouse_head == sp->_drv_mouse_tail) {
- sp->_drv_mouse_tail = 0;
- sp->_drv_mouse_head = 0;
- }
-
- /* bump the next-free pointer into the circular list */
- sp->_mouse_eventp = eventp = NEXT(eventp);
- result = TRUE;
- }
- break;
-#endif
-
case M_NONE:
break;
}
@@ -866,26 +814,17 @@ _nc_mouse_inline(SCREEN *sp)
* Wheel mice may return buttons 4 and 5 when the wheel is turned.
* We encode those as button presses.
*/
-# if USE_PTHREADS_EINTR
-# if USE_WEAK_SYMBOLS
- if ((pthread_self) && (pthread_kill) && (pthread_equal))
-# endif
- _nc_globals.read_thread = pthread_self();
-# endif
for (grabbed = 0; grabbed < 3; grabbed += (size_t) res) {
/* For VIO mouse we add extra bit 64 to disambiguate button-up. */
#if USE_EMX_MOUSE
- res = (int) read(M_FD(sp) >= 0 ? M_FD(sp) : sp->_ifd, &kbuf, 3);
+ res = read(M_FD(sp) >= 0 ? M_FD(sp) : sp->_ifd, &kbuf, 3);
#else
- res = (int) read(sp->_ifd, kbuf + grabbed, 3 - grabbed);
+ res = read(sp->_ifd, kbuf + grabbed, 3 - grabbed);
#endif
if (res == -1)
break;
}
-#if USE_PTHREADS_EINTR
- _nc_globals.read_thread = 0;
-#endif
kbuf[3] = '\0';
TR(TRACE_IEVENT,
@@ -998,7 +937,7 @@ mouse_activate(SCREEN *sp, bool on)
switch (sp->_mouse_type) {
case M_XTERM:
#if NCURSES_EXT_FUNCS
- NCURSES_SP_NAME(keyok) (NCURSES_SP_ARGx KEY_MOUSE, on);
+ keyok(KEY_MOUSE, on);
#endif
TPUTS_TRACE("xterm mouse initialization");
enable_xterm_mouse(sp, 1);
@@ -1017,11 +956,6 @@ mouse_activate(SCREEN *sp, bool on)
sp->_mouse_active = TRUE;
break;
#endif
-#ifdef USE_TERM_DRIVER
- case M_TERM_DRIVER:
- sp->_mouse_active = TRUE;
- break;
-#endif
case M_NONE:
return;
}
@@ -1051,16 +985,11 @@ mouse_activate(SCREEN *sp, bool on)
sp->_mouse_active = FALSE;
break;
#endif
-#ifdef USE_TERM_DRIVER
- case M_TERM_DRIVER:
- sp->_mouse_active = FALSE;
- break;
-#endif
case M_NONE:
return;
}
}
- NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ _nc_flush();
}
/**************************************************************************
@@ -1293,11 +1222,6 @@ _nc_mouse_wrap(SCREEN *sp)
mouse_activate(sp, FALSE);
break;
#endif
-#ifdef USE_TERM_DRIVER
- case M_TERM_DRIVER:
- mouse_activate(sp, FALSE);
- break;
-#endif
case M_NONE:
break;
}
@@ -1329,13 +1253,6 @@ _nc_mouse_resume(SCREEN *sp)
mouse_activate(sp, TRUE);
break;
#endif
-
-#ifdef USE_TERM_DRIVER
- case M_TERM_DRIVER:
- mouse_activate(sp, TRUE);
- break;
-#endif
-
case M_NONE:
break;
}
@@ -1347,92 +1264,80 @@ _nc_mouse_resume(SCREEN *sp)
*
**************************************************************************/
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(getmouse) (NCURSES_SP_DCLx MEVENT * aevent)
+static int
+_nc_getmouse(SCREEN *sp, MEVENT * aevent)
{
- int result = ERR;
+ T((T_CALLED("getmouse(%p)"), aevent));
- T((T_CALLED("getmouse(%p,%p)"), (void *) SP_PARM, (void *) aevent));
-
- if ((aevent != 0) && (SP_PARM != 0) && (SP_PARM->_mouse_type != M_NONE)) {
- MEVENT *eventp = SP_PARM->_mouse_eventp;
+ if ((aevent != 0) && (sp != 0) && (sp->_mouse_type != M_NONE)) {
+ MEVENT *eventp = sp->_mouse_eventp;
/* compute the current-event pointer */
MEVENT *prev = PREV(eventp);
- if (prev->id != INVALID_EVENT) {
- /* copy the event we find there */
- *aevent = *prev;
+ /* copy the event we find there */
+ *aevent = *prev;
- TR(TRACE_IEVENT, ("getmouse: returning event %s from slot %ld",
- _nc_tracemouse(SP_PARM, prev),
- (long) IndexEV(SP_PARM, prev)));
+ TR(TRACE_IEVENT, ("getmouse: returning event %s from slot %ld",
+ _nc_tracemouse(sp, prev),
+ (long) IndexEV(sp, prev)));
- prev->id = INVALID_EVENT; /* so the queue slot becomes free */
- SP_PARM->_mouse_eventp = PREV(prev);
- result = OK;
- }
+ prev->id = INVALID_EVENT; /* so the queue slot becomes free */
+ returnCode(OK);
}
- returnCode(result);
+ returnCode(ERR);
}
-#if NCURSES_SP_FUNCS
/* grab a copy of the current mouse event */
NCURSES_EXPORT(int)
getmouse(MEVENT * aevent)
{
- return NCURSES_SP_NAME(getmouse) (CURRENT_SCREEN, aevent);
+ return _nc_getmouse(SP, aevent);
}
-#endif
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(ungetmouse) (NCURSES_SP_DCLx MEVENT * aevent)
+static int
+_nc_ungetmouse(SCREEN *sp, MEVENT * aevent)
{
int result = ERR;
- T((T_CALLED("ungetmouse(%p,%p)"), (void *) SP_PARM, (void *) aevent));
+ T((T_CALLED("ungetmouse(%p)"), aevent));
- if (aevent != 0 && SP_PARM != 0) {
- MEVENT *eventp = SP_PARM->_mouse_eventp;
+ if (aevent != 0 && sp != 0) {
+ MEVENT *eventp = sp->_mouse_eventp;
/* stick the given event in the next-free slot */
*eventp = *aevent;
/* bump the next-free pointer into the circular list */
- SP_PARM->_mouse_eventp = NEXT(eventp);
+ sp->_mouse_eventp = NEXT(eventp);
/* push back the notification event on the keyboard queue */
- result = NCURSES_SP_NAME(ungetch) (NCURSES_SP_ARGx KEY_MOUSE);
+ result = _nc_ungetch(sp, KEY_MOUSE);
}
returnCode(result);
}
-#if NCURSES_SP_FUNCS
/* enqueue a synthesized mouse event to be seen by the next wgetch() */
NCURSES_EXPORT(int)
ungetmouse(MEVENT * aevent)
{
- return NCURSES_SP_NAME(ungetmouse) (CURRENT_SCREEN, aevent);
+ return _nc_ungetmouse(SP, aevent);
}
-#endif
NCURSES_EXPORT(mmask_t)
-NCURSES_SP_NAME(mousemask) (NCURSES_SP_DCLx mmask_t newmask, mmask_t * oldmask)
+mousemask(mmask_t newmask, mmask_t * oldmask)
/* set the mouse event mask */
{
mmask_t result = 0;
- T((T_CALLED("mousemask(%p,%#lx,%p)"),
- (void *) SP_PARM,
- (unsigned long) newmask,
- (void *) oldmask));
+ T((T_CALLED("mousemask(%#lx,%p)"), (unsigned long) newmask, oldmask));
- if (SP_PARM != 0) {
+ if (SP != 0) {
if (oldmask)
- *oldmask = SP_PARM->_mouse_mask;
+ *oldmask = SP->_mouse_mask;
- if (newmask || SP_PARM->_mouse_initialized) {
- _nc_mouse_init(SP_PARM);
- if (SP_PARM->_mouse_type != M_NONE) {
+ if (newmask || SP->_mouse_initialized) {
+ _nc_mouse_init(SP);
+ if (SP->_mouse_type != M_NONE) {
result = newmask &
(REPORT_MOUSE_POSITION
| BUTTON_ALT
@@ -1444,22 +1349,14 @@ NCURSES_SP_NAME(mousemask) (NCURSES_SP_DCLx mmask_t newmask, mmask_t * oldmask)
| BUTTON_DOUBLE_CLICKED
| BUTTON_TRIPLE_CLICKED);
- mouse_activate(SP_PARM, (bool) (result != 0));
+ mouse_activate(SP, (bool) (result != 0));
- SP_PARM->_mouse_mask = result;
+ SP->_mouse_mask = result;
}
}
}
- returnMMask(result);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(mmask_t)
-mousemask(mmask_t newmask, mmask_t * oldmask)
-{
- return NCURSES_SP_NAME(mousemask) (CURRENT_SCREEN, newmask, oldmask);
+ returnBits(result);
}
-#endif
NCURSES_EXPORT(bool)
wenclose(const WINDOW *win, int y, int x)
@@ -1467,7 +1364,7 @@ wenclose(const WINDOW *win, int y, int x)
{
bool result = FALSE;
- T((T_CALLED("wenclose(%p,%d,%d)"), (const void *) win, y, x));
+ T((T_CALLED("wenclose(%p,%d,%d)"), win, y, x));
if (win != 0) {
y -= win->_yoffset;
@@ -1480,17 +1377,17 @@ wenclose(const WINDOW *win, int y, int x)
}
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(mouseinterval) (NCURSES_SP_DCLx int maxclick)
+mouseinterval(int maxclick)
/* set the maximum mouse interval within which to recognize a click */
{
int oldval;
- T((T_CALLED("mouseinterval(%p,%d)"), (void *) SP_PARM, maxclick));
+ T((T_CALLED("mouseinterval(%d)"), maxclick));
- if (SP_PARM != 0) {
- oldval = SP_PARM->_maxclick;
+ if (SP != 0) {
+ oldval = SP->_maxclick;
if (maxclick >= 0)
- SP_PARM->_maxclick = maxclick;
+ SP->_maxclick = maxclick;
} else {
oldval = DEFAULT_MAXCLICK;
}
@@ -1498,46 +1395,20 @@ NCURSES_SP_NAME(mouseinterval) (NCURSES_SP_DCLx int maxclick)
returnCode(oldval);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-mouseinterval(int maxclick)
-{
- return NCURSES_SP_NAME(mouseinterval) (CURRENT_SCREEN, maxclick);
-}
-#endif
-
/* This may be used by other routines to ask for the existence of mouse
support */
-NCURSES_EXPORT(bool)
-_nc_has_mouse(SCREEN *sp)
-{
- return (((0 == sp) || (sp->_mouse_type == M_NONE)) ? FALSE : TRUE);
-}
-
-NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(has_mouse) (NCURSES_SP_DCL0)
-{
- return _nc_has_mouse(SP_PARM);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(bool)
-has_mouse(void)
+NCURSES_EXPORT(int)
+_nc_has_mouse(void)
{
- return _nc_has_mouse(CURRENT_SCREEN);
+ return (SP->_mouse_type == M_NONE ? 0 : 1);
}
-#endif
NCURSES_EXPORT(bool)
wmouse_trafo(const WINDOW *win, int *pY, int *pX, bool to_screen)
{
bool result = FALSE;
- T((T_CALLED("wmouse_trafo(%p,%p,%p,%d)"),
- (const void *) win,
- (void *) pY,
- (void *) pX,
- to_screen));
+ T((T_CALLED("wmouse_trafo(%p,%p,%p,%d)"), win, pY, pX, to_screen));
if (win && pY && pX) {
int y = *pY;
diff --git a/ncurses/base/lib_move.c b/ncurses/base/lib_move.c
index 488b195d15a3..652c44d7b718 100644
--- a/ncurses/base/lib_move.c
+++ b/ncurses/base/lib_move.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2004,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2004 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -41,12 +41,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_move.c,v 1.13 2009/10/24 22:34:07 tom Exp $")
+MODULE_ID("$Id: lib_move.c,v 1.12 2004/12/04 21:50:07 tom Exp $")
NCURSES_EXPORT(int)
wmove(WINDOW *win, int y, int x)
{
- T((T_CALLED("wmove(%p,%d,%d)"), (void *) win, y, x));
+ T((T_CALLED("wmove(%p,%d,%d)"), win, y, x));
if (LEGALYX(win, y, x)) {
win->_curx = (NCURSES_SIZE_T) x;
diff --git a/ncurses/base/lib_mvwin.c b/ncurses/base/lib_mvwin.c
index 18d31c13319b..e4dad4a746f0 100644
--- a/ncurses/base/lib_mvwin.c
+++ b/ncurses/base/lib_mvwin.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer *
****************************************************************************/
/*
@@ -42,16 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_mvwin.c,v 1.18 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_mvwin.c,v 1.14 2006/02/25 22:53:46 tom Exp $")
NCURSES_EXPORT(int)
mvwin(WINDOW *win, int by, int bx)
{
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(win);
-#endif
-
- T((T_CALLED("mvwin(%p,%d,%d)"), (void *) win, by, bx));
+ T((T_CALLED("mvwin(%p,%d,%d)"), win, by, bx));
if (!win || (win->_flags & _ISPAD))
returnCode(ERR);
@@ -102,8 +96,8 @@ mvwin(WINDOW *win, int by, int bx)
}
#endif
- if (by + win->_maxy > screen_lines(SP_PARM) - 1
- || bx + win->_maxx > screen_columns(SP_PARM) - 1
+ if (by + win->_maxy > screen_lines - 1
+ || bx + win->_maxx > screen_columns - 1
|| by < 0
|| bx < 0)
returnCode(ERR);
@@ -114,7 +108,7 @@ mvwin(WINDOW *win, int by, int bx)
* new location. This ensures that if the caller has refreshed another
* window at the same location, that this one will be displayed.
*/
- win->_begy = (NCURSES_SIZE_T) by;
- win->_begx = (NCURSES_SIZE_T) bx;
+ win->_begy = by;
+ win->_begx = bx;
returnCode(touchwin(win));
}
diff --git a/ncurses/base/lib_newterm.c b/ncurses/base/lib_newterm.c
index e12208b7d02d..05982b84cee4 100644
--- a/ncurses/base/lib_newterm.c
+++ b/ncurses/base/lib_newterm.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -46,19 +45,10 @@
#define _POSIX_SOURCE
#endif
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
+#include <term.h> /* clear_screen, cup & friends, cur_term */
#include <tic.h>
-MODULE_ID("$Id: lib_newterm.c,v 1.86 2010/05/20 23:25:18 tom Exp $")
-
-#ifdef USE_TERM_DRIVER
-#define NumLabels InfoOf(SP_PARM).numlabels
-#else
-#define NumLabels num_labels
-#endif
+MODULE_ID("$Id: lib_newterm.c,v 1.73 2008/08/16 21:20:48 Werner.Fink Exp $")
#ifndef ONLCR /* Allows compilation under the QNX 4.2 OS */
#define ONLCR 0
@@ -73,29 +63,27 @@ MODULE_ID("$Id: lib_newterm.c,v 1.86 2010/05/20 23:25:18 tom Exp $")
* is supposed to behave as if it calls newterm, we do it here.
*/
static NCURSES_INLINE int
-_nc_initscr(NCURSES_SP_DCL0)
+_nc_initscr(void)
{
int result = ERR;
- TERMINAL *term = TerminalOf(SP_PARM);
/* for extended XPG4 conformance requires cbreak() at this point */
/* (SVr4 curses does this anyway) */
- if (NCURSES_SP_NAME(cbreak) (NCURSES_SP_ARG) == OK) {
+ if (cbreak() == OK) {
TTY buf;
- buf = term->Nttyb;
+ buf = cur_term->Nttyb;
#ifdef TERMIOS
- buf.c_lflag &= (unsigned) ~(ECHO | ECHONL);
- buf.c_iflag &= (unsigned) ~(ICRNL | INLCR | IGNCR);
- buf.c_oflag &= (unsigned) ~(ONLCR);
+ buf.c_lflag &= ~(ECHO | ECHONL);
+ buf.c_iflag &= ~(ICRNL | INLCR | IGNCR);
+ buf.c_oflag &= ~(ONLCR);
#elif HAVE_SGTTY_H
buf.sg_flags &= ~(ECHO | CRMOD);
#else
memset(&buf, 0, sizeof(buf));
#endif
- result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
- if (result == OK)
- term->Nttyb = buf;
+ if ((result = _nc_set_tty_mode(&buf)) == OK)
+ cur_term->Nttyb = buf;
}
return result;
}
@@ -107,30 +95,13 @@ _nc_initscr(NCURSES_SP_DCL0)
* initialized.
*/
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(filter) (NCURSES_SP_DCL0)
-{
- START_TRACE();
- T((T_CALLED("filter(%p)"), (void *) SP_PARM));
-#if NCURSES_SP_FUNCS
- if (IsPreScreen(SP_PARM)) {
- SP_PARM->_filtered = TRUE;
- }
-#else
- _nc_prescreen.filter_mode = TRUE;
-#endif
- returnVoid;
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
filter(void)
{
START_TRACE();
- T((T_CALLED("filter()")));
+ T((T_CALLED("filter")));
_nc_prescreen.filter_mode = TRUE;
returnVoid;
}
-#endif
#if NCURSES_EXT_FUNCS
/*
@@ -138,125 +109,62 @@ filter(void)
* requiring it to also be filtered.
*/
NCURSES_EXPORT(void)
-NCURSES_SP_NAME(nofilter) (NCURSES_SP_DCL0)
-{
- START_TRACE();
- T((T_CALLED("nofilter(%p)"), (void *) SP_PARM));
-#if NCURSES_SP_FUNCS
- if (IsPreScreen(SP_PARM)) {
- SP_PARM->_filtered = FALSE;
- }
-#else
- _nc_prescreen.filter_mode = FALSE;
-#endif
- returnVoid;
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(void)
nofilter(void)
{
START_TRACE();
- T((T_CALLED("nofilter()")));
+ T((T_CALLED("nofilter")));
_nc_prescreen.filter_mode = FALSE;
returnVoid;
}
#endif
-#endif /* NCURSES_EXT_FUNCS */
NCURSES_EXPORT(SCREEN *)
-NCURSES_SP_NAME(newterm) (NCURSES_SP_DCLx
- NCURSES_CONST char *name,
- FILE *ofp,
- FILE *ifp)
+newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp)
{
int value;
int errret;
- SCREEN *result = 0;
SCREEN *current;
+ SCREEN *result = 0;
TERMINAL *its_term;
- FILE *_ofp = ofp ? ofp : stdout;
- FILE *_ifp = ifp ? ifp : stdin;
- int cols;
- int slk_format;
- int filter_mode;
- TERMINAL *new_term = 0;
START_TRACE();
- T((T_CALLED("newterm(%p, \"%s\", %p,%p)"),
- (void *) SP_PARM,
- name,
- (void *) ofp,
- (void *) ifp));
-
-#if NCURSES_SP_FUNCS
- assert(SP_PARM != 0);
- if (SP_PARM == 0)
- returnSP(SP_PARM);
-#endif
+ T((T_CALLED("newterm(\"%s\",%p,%p)"), name, ofp, ifp));
_nc_init_pthreads();
_nc_lock_global(curses);
- current = CURRENT_SCREEN;
- its_term = (current ? current->_term : 0);
+ current = SP;
+ its_term = (SP ? SP->_term : 0);
- INIT_TERM_DRIVER();
/* this loads the capability entry, then sets LINES and COLS */
- if (
-#if NCURSES_SP_FUNCS
- SP_PARM->_prescreen &&
-#endif
- TINFO_SETUP_TERM(&new_term, name,
- fileno(_ofp), &errret, FALSE) != ERR) {
-
- _nc_set_screen(0);
-#ifdef USE_TERM_DRIVER
- assert(new_term != 0);
-#endif
-
-#if NCURSES_SP_FUNCS
- slk_format = SP_PARM->slk_format;
- filter_mode = SP_PARM->_filtered;
-#else
- slk_format = _nc_globals.slk_format;
- filter_mode = _nc_prescreen.filter_mode;
-#endif
+ if (setupterm(name, fileno(ofp), &errret) != ERR) {
+ int slk_format = _nc_globals.slk_format;
/*
* This actually allocates the screen structure, and saves the original
* terminal settings.
*/
- if (NCURSES_SP_NAME(_nc_setupscreen) (
-#if NCURSES_SP_FUNCS
- &SP_PARM,
-#endif
- *(ptrLines(SP_PARM)),
- *(ptrCols(SP_PARM)),
- _ofp,
- filter_mode,
- slk_format) == ERR) {
+ _nc_set_screen(0);
+
+ /* allow user to set maximum escape delay from the environment */
+ if ((value = _nc_getenv_num("ESCDELAY")) >= 0) {
+ set_escdelay(value);
+ }
+
+ if (_nc_setupscreen(LINES,
+ COLS,
+ ofp,
+ _nc_prescreen.filter_mode,
+ slk_format) == ERR) {
_nc_set_screen(current);
result = 0;
} else {
-#ifdef USE_TERM_DRIVER
- TERMINAL_CONTROL_BLOCK *TCB;
-#elif !NCURSES_SP_FUNCS
- _nc_set_screen(CURRENT_SCREEN);
-#endif
- assert(SP_PARM != 0);
- cols = *(ptrCols(SP_PARM));
-#ifdef USE_TERM_DRIVER
- _nc_set_screen(SP_PARM);
- TCB = (TERMINAL_CONTROL_BLOCK *) new_term;
- TCB->csp = SP_PARM;
-#endif
+ assert(SP != 0);
/*
* In setupterm() we did a set_curterm(), but it was before we set
- * CURRENT_SCREEN. So the "current" screen's terminal pointer was
- * overwritten with a different terminal. Later, in
- * _nc_setupscreen(), we set CURRENT_SCREEN and the terminal
- * pointer in the new screen.
+ * SP. So the "current" screen's terminal pointer was overwritten
+ * with a different terminal. Later, in _nc_setupscreen(), we set
+ * SP and the terminal pointer in the new screen.
*
* Restore the terminal-pointer for the pre-existing screen, if
* any.
@@ -264,53 +172,37 @@ NCURSES_SP_NAME(newterm) (NCURSES_SP_DCLx
if (current)
current->_term = its_term;
-#ifdef USE_TERM_DRIVER
- SP_PARM->_term = new_term;
-#else
- new_term = SP_PARM->_term;
-#endif
-
- /* allow user to set maximum escape delay from the environment */
- if ((value = _nc_getenv_num("ESCDELAY")) >= 0) {
- NCURSES_SP_NAME(set_escdelay) (NCURSES_SP_ARGx value);
- }
-
/* if the terminal type has real soft labels, set those up */
- if (slk_format && NumLabels > 0 && SLK_STDFMT(slk_format))
- _nc_slk_initialize(StdScreen(SP_PARM), cols);
+ if (slk_format && num_labels > 0 && SLK_STDFMT(slk_format))
+ _nc_slk_initialize(stdscr, COLS);
- SP_PARM->_ifd = fileno(_ifp);
- NCURSES_SP_NAME(typeahead) (NCURSES_SP_ARGx fileno(_ifp));
+ SP->_ifd = fileno(ifp);
+ typeahead(fileno(ifp));
#ifdef TERMIOS
- SP_PARM->_use_meta = ((new_term->Ottyb.c_cflag & CSIZE) == CS8 &&
- !(new_term->Ottyb.c_iflag & ISTRIP));
+ SP->_use_meta = ((cur_term->Ottyb.c_cflag & CSIZE) == CS8 &&
+ !(cur_term->Ottyb.c_iflag & ISTRIP));
#else
- SP_PARM->_use_meta = FALSE;
+ SP->_use_meta = FALSE;
#endif
- SP_PARM->_endwin = FALSE;
-#ifndef USE_TERM_DRIVER
+ SP->_endwin = FALSE;
+
/*
* Check whether we can optimize scrolling under dumb terminals in
* case we do not have any of these capabilities, scrolling
* optimization will be useless.
*/
- SP_PARM->_scrolling = ((scroll_forward && scroll_reverse) ||
- ((parm_rindex ||
- parm_insert_line ||
- insert_line) &&
- (parm_index ||
- parm_delete_line ||
- delete_line)));
-#endif
+ SP->_scrolling = ((scroll_forward && scroll_reverse) ||
+ ((parm_rindex ||
+ parm_insert_line ||
+ insert_line) &&
+ (parm_index ||
+ parm_delete_line ||
+ delete_line)));
- NCURSES_SP_NAME(baudrate) (NCURSES_SP_ARG); /* sets a field in the screen structure */
+ baudrate(); /* sets a field in the SP structure */
- SP_PARM->_keytry = 0;
+ SP->_keytry = 0;
- /* compute movement costs so we can do better move optimization */
-#ifdef USE_TERM_DRIVER
- TCBOf(SP_PARM)->drv->scinit(SP_PARM);
-#else
/*
* Check for mismatched graphic-rendition capabilities. Most SVr4
* terminfo trees contain entries that have rmul or rmso equated to
@@ -321,31 +213,23 @@ NCURSES_SP_NAME(newterm) (NCURSES_SP_DCLx
* shouldn't be looking at this detail.
*/
#define SGR0_TEST(mode) (mode != 0) && (exit_attribute_mode == 0 || strcmp(mode, exit_attribute_mode))
- SP_PARM->_use_rmso = SGR0_TEST(exit_standout_mode);
- SP_PARM->_use_rmul = SGR0_TEST(exit_underline_mode);
+ SP->_use_rmso = SGR0_TEST(exit_standout_mode);
+ SP->_use_rmul = SGR0_TEST(exit_underline_mode);
/* compute movement costs so we can do better move optimization */
_nc_mvcur_init();
/* initialize terminal to a sane state */
_nc_screen_init();
-#endif
/* Initialize the terminal line settings. */
- _nc_initscr(NCURSES_SP_ARG);
+ _nc_initscr();
_nc_signal_handler(TRUE);
- result = SP_PARM;
+
+ result = SP;
}
}
_nc_unlock_global(curses);
returnSP(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(SCREEN *)
-newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp)
-{
- return NCURSES_SP_NAME(newterm) (CURRENT_SCREEN_PRE, name, ofp, ifp);
-}
-#endif
diff --git a/ncurses/base/lib_newwin.c b/ncurses/base/lib_newwin.c
index 72d8af84b703..587e83a92009 100644
--- a/ncurses/base/lib_newwin.c
+++ b/ncurses/base/lib_newwin.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -43,7 +42,7 @@
#include <curses.priv.h>
#include <stddef.h>
-MODULE_ID("$Id: lib_newwin.c,v 1.69 2011/03/07 21:58:17 tom Exp $")
+MODULE_ID("$Id: lib_newwin.c,v 1.52 2008/06/07 13:58:09 tom Exp $")
#define window_is(name) ((sp)->_##name == win)
@@ -62,17 +61,6 @@ remove_window_from_screen(WINDOW *win)
{
SCREEN *sp;
-#ifdef USE_SP_WINDOWLIST
- if ((sp = _nc_screen_of(win)) != 0) {
- if (window_is(curscr)) {
- remove_window(curscr);
- } else if (window_is(stdscr)) {
- remove_window(stdscr);
- } else if (window_is(newscr)) {
- remove_window(newscr);
- }
- }
-#else
for (each_screen(sp)) {
if (window_is(curscr)) {
remove_window(curscr);
@@ -85,7 +73,6 @@ remove_window_from_screen(WINDOW *win)
break;
}
}
-#endif
}
NCURSES_EXPORT(int)
@@ -94,20 +81,17 @@ _nc_freewin(WINDOW *win)
WINDOWLIST *p, *q;
int i;
int result = ERR;
-#ifdef USE_SP_WINDOWLIST
- SCREEN *sp = _nc_screen_of(win); /* pretend this is parameter */
-#endif
- T((T_CALLED("_nc_freewin(%p)"), (void *) win));
+ T((T_CALLED("_nc_freewin(%p)"), win));
if (win != 0) {
- if (_nc_nonsp_try_global(curses) == 0) {
+ if (_nc_try_global(curses) == 0) {
q = 0;
- for (each_window(SP_PARM, p)) {
+ for (each_window(p)) {
if (&(p->win) == win) {
remove_window_from_screen(win);
if (q == 0)
- WindowList(SP_PARM) = p->next;
+ _nc_windows = p->next;
else
q->next = p->next;
@@ -119,39 +103,35 @@ _nc_freewin(WINDOW *win)
free(p);
result = OK;
- T(("...deleted win=%p", (void *) win));
+ T(("...deleted win=%p", win));
break;
}
q = p;
}
- _nc_nonsp_unlock_global(curses);
+ _nc_unlock_global(curses);
}
}
returnCode(result);
}
NCURSES_EXPORT(WINDOW *)
-NCURSES_SP_NAME(newwin) (NCURSES_SP_DCLx
- int num_lines, int num_columns, int begy, int begx)
+newwin(int num_lines, int num_columns, int begy, int begx)
{
WINDOW *win;
NCURSES_CH_T *ptr;
int i;
- T((T_CALLED("newwin(%p, %d,%d,%d,%d)"), (void *) SP_PARM, num_lines, num_columns,
- begy, begx));
+ T((T_CALLED("newwin(%d,%d,%d,%d)"), num_lines, num_columns, begy, begx));
if (begy < 0 || begx < 0 || num_lines < 0 || num_columns < 0)
returnWin(0);
if (num_lines == 0)
- num_lines = SP_PARM->_lines_avail - begy;
+ num_lines = SP->_lines_avail - begy;
if (num_columns == 0)
- num_columns = screen_columns(SP_PARM) - begx;
+ num_columns = screen_columns - begx;
- win = NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_ARGx
- num_lines, num_columns, begy, begx, 0);
- if (win == 0)
+ if ((win = _nc_makenew(num_lines, num_columns, begy, begx, 0)) == 0)
returnWin(0);
for (i = 0; i < num_lines; i++) {
@@ -169,30 +149,14 @@ NCURSES_SP_NAME(newwin) (NCURSES_SP_DCLx
returnWin(win);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(WINDOW *)
-newwin(int num_lines, int num_columns, int begy, int begx)
-{
- WINDOW *win;
- _nc_sp_lock_global(curses);
- win = NCURSES_SP_NAME(newwin) (CURRENT_SCREEN,
- num_lines, num_columns, begy, begx);
- _nc_sp_unlock_global(curses);
- return (win);
-}
-#endif
-
NCURSES_EXPORT(WINDOW *)
derwin(WINDOW *orig, int num_lines, int num_columns, int begy, int begx)
{
WINDOW *win;
int i;
int flags = _SUBWIN;
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(orig);
-#endif
- T((T_CALLED("derwin(%p,%d,%d,%d,%d)"), (void *) orig, num_lines, num_columns,
+ T((T_CALLED("derwin(%p,%d,%d,%d,%d)"), orig, num_lines, num_columns,
begy, begx));
/*
@@ -213,10 +177,8 @@ derwin(WINDOW *orig, int num_lines, int num_columns, int begy, int begx)
if (orig->_flags & _ISPAD)
flags |= _ISPAD;
- win = NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_ARGx num_lines, num_columns,
- orig->_begy + begy,
- orig->_begx + begx, flags);
- if (win == 0)
+ if ((win = _nc_makenew(num_lines, num_columns, orig->_begy + begy,
+ orig->_begx + begx, flags)) == 0)
returnWin(0);
win->_pary = begy;
@@ -235,7 +197,7 @@ derwin(WINDOW *orig, int num_lines, int num_columns, int begy, int begx)
NCURSES_EXPORT(WINDOW *)
subwin(WINDOW *w, int l, int c, int y, int x)
{
- T((T_CALLED("subwin(%p, %d, %d, %d, %d)"), (void *) w, l, c, y, x));
+ T((T_CALLED("subwin(%p, %d, %d, %d, %d)"), w, l, c, y, x));
T(("parent has begy = %ld, begx = %ld", (long) w->_begy, (long) w->_begx));
returnWin(derwin(w, l, c, y - w->_begy, x - w->_begx));
@@ -244,27 +206,21 @@ subwin(WINDOW *w, int l, int c, int y, int x)
static bool
dimension_limit(int value)
{
- NCURSES_SIZE_T test = (NCURSES_SIZE_T) value;
+ NCURSES_SIZE_T test = value;
return (test == value && value > 0);
}
NCURSES_EXPORT(WINDOW *)
-NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_DCLx
- int num_lines,
- int num_columns,
- int begy,
- int begx,
- int flags)
+_nc_makenew(int num_lines, int num_columns, int begy, int begx, int flags)
{
int i;
WINDOWLIST *wp;
WINDOW *win;
- bool is_padwin = (flags & _ISPAD);
+ bool is_pad = (flags & _ISPAD);
- T((T_CALLED("_nc_makenew(%p,%d,%d,%d,%d)"),
- (void *) SP_PARM, num_lines, num_columns, begy, begx));
+ T((T_CALLED("_nc_makenew(%d,%d,%d,%d)"), num_lines, num_columns, begy, begx));
- if (SP_PARM == 0)
+ if (SP == 0)
returnWin(0);
if (!dimension_limit(num_lines) || !dimension_limit(num_columns))
@@ -276,28 +232,26 @@ NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_DCLx
win = &(wp->win);
if ((win->_line = typeCalloc(struct ldat, ((unsigned) num_lines))) == 0) {
- free(wp);
+ free(win);
returnWin(0);
}
- _nc_nonsp_lock_global(curses);
+ _nc_lock_global(curses);
win->_curx = 0;
win->_cury = 0;
- win->_maxy = (NCURSES_SIZE_T) (num_lines - 1);
- win->_maxx = (NCURSES_SIZE_T) (num_columns - 1);
- win->_begy = (NCURSES_SIZE_T) begy;
- win->_begx = (NCURSES_SIZE_T) begx;
- win->_yoffset = SP_PARM->_topstolen;
+ win->_maxy = num_lines - 1;
+ win->_maxx = num_columns - 1;
+ win->_begy = begy;
+ win->_begx = begx;
+ win->_yoffset = SP->_topstolen;
- win->_flags = (short) flags;
+ win->_flags = flags;
WINDOW_ATTRS(win) = A_NORMAL;
SetChar(win->_nc_bkgd, BLANK_TEXT, BLANK_ATTR);
- win->_clear = (is_padwin
- ? FALSE
- : (num_lines == screen_lines(SP_PARM)
- && num_columns == screen_columns(SP_PARM)));
+ win->_clear = is_pad ? FALSE : (num_lines == screen_lines
+ && num_columns == screen_columns);
win->_idlok = FALSE;
win->_idcok = TRUE;
win->_scroll = FALSE;
@@ -311,7 +265,7 @@ NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_DCLx
win->_parent = 0;
win->_regtop = 0;
- win->_regbottom = (NCURSES_SIZE_T) (num_lines - 1);
+ win->_regbottom = num_lines - 1;
win->_pad._pad_y = -1;
win->_pad._pad_x = -1;
@@ -341,28 +295,28 @@ NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_DCLx
* So that's how we want ncurses to behave.
*/
win->_line[i].firstchar = 0;
- win->_line[i].lastchar = (NCURSES_SIZE_T) (num_columns - 1);
+ win->_line[i].lastchar = num_columns - 1;
if_USE_SCROLL_HINTS(win->_line[i].oldindex = i);
}
- if (!is_padwin && (begx + num_columns == screen_columns(SP_PARM))) {
+ if (!is_pad && (begx + num_columns == screen_columns)) {
win->_flags |= _ENDLINE;
- if (begx == 0 && num_lines == screen_lines(SP_PARM) && begy == 0)
+ if (begx == 0 && num_lines == screen_lines && begy == 0)
win->_flags |= _FULLWIN;
- if (begy + num_lines == screen_lines(SP_PARM))
+ if (begy + num_lines == screen_lines)
win->_flags |= _SCROLLWIN;
}
- wp->next = WindowList(SP_PARM);
- wp->screen = SP_PARM;
- WindowList(SP_PARM) = wp;
+ wp->next = _nc_windows;
+ wp->screen = SP;
+ _nc_windows = wp;
- T((T_CREATE("window %p"), (void *) win));
+ T((T_CREATE("window %p"), win));
- _nc_nonsp_unlock_global(curses);
+ _nc_unlock_global(curses);
returnWin(win);
}
@@ -371,22 +325,14 @@ NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_DCLx
* internally, and it is useful to allow those to be invoked without switching
* SCREEN's, e.g., for multi-threaded applications.
*/
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(WINDOW *)
-_nc_curscr_of(SCREEN *sp)
-{
- return sp == 0 ? 0 : CurScreen(sp);
-}
-
-NCURSES_EXPORT(WINDOW *)
-_nc_newscr_of(SCREEN *sp)
+NCURSES_EXPORT(SCREEN *)
+_nc_screen_of(WINDOW *win)
{
- return sp == 0 ? 0 : NewScreen(sp);
-}
+ SCREEN *sp = 0;
-NCURSES_EXPORT(WINDOW *)
-_nc_stdscr_of(SCREEN *sp)
-{
- return sp == 0 ? 0 : StdScreen(sp);
+ if (win != 0) {
+ WINDOWLIST *wp = (WINDOWLIST *) win;
+ sp = wp->screen;
+ }
+ return (sp);
}
-#endif
diff --git a/ncurses/base/lib_nl.c b/ncurses/base/lib_nl.c
index 34254871c985..32515da0be81 100644
--- a/ncurses/base/lib_nl.c
+++ b/ncurses/base/lib_nl.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -44,52 +42,38 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_nl.c,v 1.12 2009/10/24 22:05:55 tom Exp $")
+MODULE_ID("$Id: lib_nl.c,v 1.8 2000/12/10 02:43:27 tom Exp $")
#ifdef __EMX__
#include <io.h>
#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(nl) (NCURSES_SP_DCL0)
+nl(void)
{
- T((T_CALLED("nl(%p)"), (void *) SP_PARM));
- if (0 == SP_PARM)
- returnCode(ERR);
- SP_PARM->_nl = TRUE;
+ T((T_CALLED("nl()")));
+
+ SP->_nl = TRUE;
+
#ifdef __EMX__
_nc_flush();
- _fsetmode(NC_OUTPUT(SP_PARM), "t");
+ _fsetmode(NC_OUTPUT, "t");
#endif
+
returnCode(OK);
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-nl(void)
+nonl(void)
{
- return NCURSES_SP_NAME(nl) (CURRENT_SCREEN);
-}
-#endif
+ T((T_CALLED("nonl()")));
+
+ SP->_nl = FALSE;
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(nonl) (NCURSES_SP_DCL0)
-{
- T((T_CALLED("nonl(%p)"), (void *) SP_PARM));
- if (0 == SP_PARM)
- returnCode(ERR);
- SP_PARM->_nl = FALSE;
#ifdef __EMX__
_nc_flush();
- _fsetmode(NC_OUTPUT(SP_PARM), "b");
+ _fsetmode(NC_OUTPUT, "b");
#endif
- returnCode(OK);
-}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-nonl(void)
-{
- return NCURSES_SP_NAME(nonl) (CURRENT_SCREEN);
+ returnCode(OK);
}
-#endif
diff --git a/ncurses/base/lib_overlay.c b/ncurses/base/lib_overlay.c
index bfb817bc3108..669e8e72c07f 100644
--- a/ncurses/base/lib_overlay.c
+++ b/ncurses/base/lib_overlay.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,7 +40,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_overlay.c,v 1.29 2009/10/24 23:21:31 tom Exp $")
+MODULE_ID("$Id: lib_overlay.c,v 1.27 2008/06/07 23:30:34 tom Exp $")
static int
overlap(const WINDOW *const src, WINDOW *const dst, int const flag)
@@ -52,7 +52,7 @@ overlap(const WINDOW *const src, WINDOW *const dst, int const flag)
int dminrow, dmincol;
int dmaxrow, dmaxcol;
- T((T_CALLED("overlap(%p,%p,%d)"), (const void *) src, (void *) dst, flag));
+ T((T_CALLED("overlap(%p,%p,%d)"), src, dst, flag));
if (src != 0 && dst != 0) {
_nc_lock_global(curses);
@@ -110,7 +110,7 @@ overlap(const WINDOW *const src, WINDOW *const dst, int const flag)
NCURSES_EXPORT(int)
overlay(const WINDOW *win1, WINDOW *win2)
{
- T((T_CALLED("overlay(%p,%p)"), (const void *) win1, (void *) win2));
+ T((T_CALLED("overlay(%p,%p)"), win1, win2));
returnCode(overlap(win1, win2, TRUE));
}
@@ -127,7 +127,7 @@ overlay(const WINDOW *win1, WINDOW *win2)
NCURSES_EXPORT(int)
overwrite(const WINDOW *win1, WINDOW *win2)
{
- T((T_CALLED("overwrite(%p,%p)"), (const void *) win1, (void *) win2));
+ T((T_CALLED("overwrite(%p,%p)"), win1, win2));
returnCode(overlap(win1, win2, FALSE));
}
@@ -145,11 +145,7 @@ copywin(const WINDOW *src, WINDOW *dst,
attr_t mask;
T((T_CALLED("copywin(%p, %p, %d, %d, %d, %d, %d, %d, %d)"),
- (const void *) src,
- (void *) dst,
- sminrow, smincol,
- dminrow, dmincol,
- dmaxrow, dmaxcol, over));
+ src, dst, sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol, over));
if (src && dst) {
_nc_lock_global(curses);
diff --git a/ncurses/base/lib_pad.c b/ncurses/base/lib_pad.c
index b87498b500cd..6cad9c54b064 100644
--- a/ncurses/base/lib_pad.c
+++ b/ncurses/base/lib_pad.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,22 +40,21 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_pad.c,v 1.46 2010/04/24 23:50:45 tom Exp $")
+MODULE_ID("$Id: lib_pad.c,v 1.41 2006/10/14 20:47:13 tom Exp $")
NCURSES_EXPORT(WINDOW *)
-NCURSES_SP_NAME(newpad) (NCURSES_SP_DCLx int l, int c)
+newpad(int l, int c)
{
WINDOW *win;
NCURSES_CH_T *ptr;
int i;
- T((T_CALLED("newpad(%p,%d, %d)"), (void *) SP_PARM, l, c));
+ T((T_CALLED("newpad(%d, %d)"), l, c));
if (l <= 0 || c <= 0)
returnWin(0);
- win = NCURSES_SP_NAME(_nc_makenew) (NCURSES_SP_ARGx l, c, 0, 0, _ISPAD);
- if (win == NULL)
+ if ((win = _nc_makenew(l, c, 0, 0, _ISPAD)) == NULL)
returnWin(0);
for (i = 0; i < l; i++) {
@@ -73,14 +70,6 @@ NCURSES_SP_NAME(newpad) (NCURSES_SP_DCLx int l, int c)
returnWin(win);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(WINDOW *)
-newpad(int l, int c)
-{
- return NCURSES_SP_NAME(newpad) (CURRENT_SCREEN, l, c);
-}
-#endif
-
NCURSES_EXPORT(WINDOW *)
subpad(WINDOW *orig, int l, int c, int begy, int begx)
{
@@ -105,14 +94,10 @@ prefresh(WINDOW *win,
int smaxrow,
int smaxcol)
{
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(win);
-#endif
-
T((T_CALLED("prefresh()")));
if (pnoutrefresh(win, pminrow, pmincol, sminrow, smincol, smaxrow,
smaxcol) != ERR
- && NCURSES_SP_NAME(doupdate) (NCURSES_SP_ARG) != ERR) {
+ && doupdate() != ERR) {
returnCode(OK);
}
returnCode(ERR);
@@ -127,11 +112,10 @@ pnoutrefresh(WINDOW *win,
int smaxrow,
int smaxcol)
{
- int i, j;
- int m, n;
- int pmaxrow;
- int pmaxcol;
- SCREEN *sp;
+ NCURSES_SIZE_T i, j;
+ NCURSES_SIZE_T m, n;
+ NCURSES_SIZE_T pmaxrow;
+ NCURSES_SIZE_T pmaxcol;
#if USE_SCROLL_HINTS
const int my_len = 2; /* parameterize the threshold for hardscroll */
@@ -140,7 +124,7 @@ pnoutrefresh(WINDOW *win,
#endif
T((T_CALLED("pnoutrefresh(%p, %d, %d, %d, %d, %d, %d)"),
- (void *) win, pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol));
+ win, pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol));
if (win == 0)
returnCode(ERR);
@@ -148,8 +132,6 @@ pnoutrefresh(WINDOW *win,
if (!(win->_flags & _ISPAD))
returnCode(ERR);
- sp = _nc_screen_of(win);
-
/* negative values are interpreted as zero */
if (pminrow < 0)
pminrow = 0;
@@ -180,8 +162,8 @@ pnoutrefresh(WINDOW *win,
pmaxcol = pmincol + smaxcol - smincol;
}
- if (smaxrow >= screen_lines(sp)
- || smaxcol >= screen_columns(sp)
+ if (smaxrow >= screen_lines
+ || smaxcol >= screen_columns
|| sminrow > smaxrow
|| smincol > smaxcol)
returnCode(ERR);
@@ -212,13 +194,13 @@ pnoutrefresh(WINDOW *win,
* merely change the costs of various update cases.
*/
#if USE_SCROLL_HINTS
- wide = (smincol < my_len && smaxcol > (NewScreen(sp)->_maxx - my_len));
+ wide = (smincol < my_len && smaxcol > (newscr->_maxx - my_len));
#endif
for (i = pminrow, m = sminrow + win->_yoffset;
- i <= pmaxrow && m <= NewScreen(sp)->_maxy;
+ i <= pmaxrow && m <= newscr->_maxy;
i++, m++) {
- register struct ldat *nline = &NewScreen(sp)->_line[m];
+ register struct ldat *nline = &newscr->_line[m];
register struct ldat *oline = &win->_line[i];
for (j = pmincol, n = smincol; j <= pmaxcol; j++, n++) {
NCURSES_CH_T ch = oline->text[j];
@@ -247,9 +229,9 @@ pnoutrefresh(WINDOW *win,
|| nind > smaxrow) {
nind = _NEWINDEX;
} else if (displaced) {
- register struct ldat *pline = &CurScreen(sp)->_line[nind];
+ register struct ldat *pline = &curscr->_line[nind];
for (j = 0; j <= my_len; j++) {
- int k = NewScreen(sp)->_maxx - j;
+ int k = newscr->_maxx - j;
if (pline->text[j] != nline->text[j]
|| pline->text[k] != nline->text[k]) {
nind = _NEWINDEX;
@@ -279,12 +261,12 @@ pnoutrefresh(WINDOW *win,
win->_line[i].oldindex = _NEWINDEX;
#endif
- win->_begx = (NCURSES_SIZE_T) smincol;
- win->_begy = (NCURSES_SIZE_T) sminrow;
+ win->_begx = smincol;
+ win->_begy = sminrow;
if (win->_clear) {
win->_clear = FALSE;
- NewScreen(sp)->_clear = TRUE;
+ newscr->_clear = TRUE;
}
/*
@@ -296,12 +278,10 @@ pnoutrefresh(WINDOW *win,
&& win->_curx >= pmincol
&& win->_cury <= pmaxrow
&& win->_curx <= pmaxcol) {
- NewScreen(sp)->_cury = (NCURSES_SIZE_T) (win->_cury - pminrow
- + win->_begy + win->_yoffset);
- NewScreen(sp)->_curx = (NCURSES_SIZE_T) (win->_curx - pmincol
- + win->_begx);
+ newscr->_cury = win->_cury - pminrow + win->_begy + win->_yoffset;
+ newscr->_curx = win->_curx - pmincol + win->_begx;
}
- NewScreen(sp)->_leaveok = win->_leaveok;
+ newscr->_leaveok = win->_leaveok;
win->_flags &= ~_HASMOVED;
/*
@@ -309,12 +289,12 @@ pnoutrefresh(WINDOW *win,
* We will use this on subsequent calls to this function to derive
* values to stuff into 'oldindex[]' -- for scrolling optimization.
*/
- win->_pad._pad_y = (NCURSES_SIZE_T) pminrow;
- win->_pad._pad_x = (NCURSES_SIZE_T) pmincol;
- win->_pad._pad_top = (NCURSES_SIZE_T) sminrow;
- win->_pad._pad_left = (NCURSES_SIZE_T) smincol;
- win->_pad._pad_bottom = (NCURSES_SIZE_T) smaxrow;
- win->_pad._pad_right = (NCURSES_SIZE_T) smaxcol;
+ win->_pad._pad_y = pminrow;
+ win->_pad._pad_x = pmincol;
+ win->_pad._pad_top = sminrow;
+ win->_pad._pad_left = smincol;
+ win->_pad._pad_bottom = smaxrow;
+ win->_pad._pad_right = smaxcol;
returnCode(OK);
}
@@ -322,7 +302,7 @@ pnoutrefresh(WINDOW *win,
NCURSES_EXPORT(int)
pechochar(WINDOW *pad, const chtype ch)
{
- T((T_CALLED("pechochar(%p, %s)"), (void *) pad, _tracechtype(ch)));
+ T((T_CALLED("pechochar(%p, %s)"), pad, _tracechtype(ch)));
if (pad == 0)
returnCode(ERR);
diff --git a/ncurses/base/lib_printw.c b/ncurses/base/lib_printw.c
index 963181d9a494..62ae921e650d 100644
--- a/ncurses/base/lib_printw.c
+++ b/ncurses/base/lib_printw.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -39,7 +39,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_printw.c,v 1.20 2009/10/24 22:07:03 tom Exp $")
+MODULE_ID("$Id: lib_printw.c,v 1.18 2006/12/17 19:21:39 tom Exp $")
NCURSES_EXPORT(int)
printw(const char *fmt,...)
@@ -70,7 +70,7 @@ wprintw(WINDOW *win, const char *fmt,...)
#ifdef TRACE
va_start(argp, fmt);
T((T_CALLED("wprintw(%p,%s%s)"),
- (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+ win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
va_end(argp);
#endif
@@ -111,7 +111,7 @@ mvwprintw(WINDOW *win, int y, int x, const char *fmt,...)
#ifdef TRACE
va_start(argp, fmt);
T((T_CALLED("mvwprintw(%d,%d,%p,%s%s)"),
- y, x, (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+ y, x, win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
va_end(argp);
#endif
@@ -128,14 +128,10 @@ vwprintw(WINDOW *win, const char *fmt, va_list argp)
{
char *buf;
int code = ERR;
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(win);
-#endif
- T((T_CALLED("vwprintw(%p,%s,va_list)"), (void *) win, _nc_visbuf(fmt)));
+ T((T_CALLED("vwprintw(%p,%s,va_list)"), win, _nc_visbuf(fmt)));
- buf = NCURSES_SP_NAME(_nc_printf_string) (NCURSES_SP_ARGx fmt, argp);
- if (buf != 0) {
+ if ((buf = _nc_printf_string(fmt, argp)) != 0) {
code = waddstr(win, buf);
}
returnCode(code);
diff --git a/ncurses/base/lib_redrawln.c b/ncurses/base/lib_redrawln.c
index 72905f84d656..6b0905f07d67 100644
--- a/ncurses/base/lib_redrawln.c
+++ b/ncurses/base/lib_redrawln.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -39,7 +39,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_redrawln.c,v 1.17 2010/12/19 00:03:23 tom Exp $")
+MODULE_ID("$Id: lib_redrawln.c,v 1.12 2007/10/13 20:08:56 tom Exp $")
NCURSES_EXPORT(int)
wredrawln(WINDOW *win, int beg, int num)
@@ -47,40 +47,37 @@ wredrawln(WINDOW *win, int beg, int num)
int i;
int end;
size_t len;
- SCREEN *sp;
- T((T_CALLED("wredrawln(%p,%d,%d)"), (void *) win, beg, num));
+ T((T_CALLED("wredrawln(%p,%d,%d)"), win, beg, num));
if (win == 0)
returnCode(ERR);
- sp = _nc_screen_of(win);
-
if (beg < 0)
beg = 0;
if (touchline(win, beg, num) == ERR)
returnCode(ERR);
- if (touchline(CurScreen(sp), beg + win->_begy, num) == ERR)
+ if (touchline(curscr, beg + win->_begy, num) == ERR)
returnCode(ERR);
end = beg + num;
- if (end > CurScreen(sp)->_maxy + 1 - win->_begy)
- end = CurScreen(sp)->_maxy + 1 - win->_begy;
+ if (end > curscr->_maxy + 1)
+ end = curscr->_maxy + 1;
if (end > win->_maxy + 1)
end = win->_maxy + 1;
- len = (size_t) (win->_maxx + 1);
- if (len > (size_t) (CurScreen(sp)->_maxx + 1 - win->_begx))
- len = (size_t) (CurScreen(sp)->_maxx + 1 - win->_begx);
- len *= sizeof(CurScreen(sp)->_line[0].text[0]);
+ len = (win->_maxx + 1);
+ if (len > (size_t) (curscr->_maxx + 1))
+ len = (size_t) (curscr->_maxx + 1);
+ len *= sizeof(curscr->_line[0].text[0]);
for (i = beg; i < end; i++) {
int crow = i + win->_begy;
- memset(CurScreen(sp)->_line[crow].text + win->_begx, 0, len);
- NCURSES_SP_NAME(_nc_make_oldhash) (NCURSES_SP_ARGx crow);
+ memset(curscr->_line[crow].text + win->_begx, 0, len);
+ _nc_make_oldhash(crow);
}
returnCode(OK);
diff --git a/ncurses/base/lib_refresh.c b/ncurses/base/lib_refresh.c
index 8c02086a707d..2a9cafb7b0ad 100644
--- a/ncurses/base/lib_refresh.c
+++ b/ncurses/base/lib_refresh.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer *
****************************************************************************/
/*
@@ -42,27 +41,24 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_refresh.c,v 1.44 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_refresh.c,v 1.41 2007/09/29 20:39:34 tom Exp $")
NCURSES_EXPORT(int)
wrefresh(WINDOW *win)
{
int code;
-#if NCURSES_SP_FUNCS
- SCREEN *SP_PARM = _nc_screen_of(win);
-#endif
- T((T_CALLED("wrefresh(%p)"), (void *) win));
+ T((T_CALLED("wrefresh(%p)"), win));
if (win == 0) {
code = ERR;
- } else if (win == CurScreen(SP_PARM)) {
- CurScreen(SP_PARM)->_clear = TRUE;
- code = NCURSES_SP_NAME(doupdate) (NCURSES_SP_ARG);
+ } else if (win == curscr) {
+ curscr->_clear = TRUE;
+ code = doupdate();
} else if ((code = wnoutrefresh(win)) == OK) {
if (win->_clear)
- NewScreen(SP_PARM)->_clear = TRUE;
- code = NCURSES_SP_NAME(doupdate) (NCURSES_SP_ARG);
+ newscr->_clear = TRUE;
+ code = doupdate();
/*
* Reset the clearok() flag in case it was set for the special
* case in hardscroll.c (if we don't reset it here, we'll get 2
@@ -77,19 +73,16 @@ wrefresh(WINDOW *win)
NCURSES_EXPORT(int)
wnoutrefresh(WINDOW *win)
{
- int limit_x;
- int src_row, src_col;
- int begx;
- int begy;
- int dst_row, dst_col;
+ NCURSES_SIZE_T limit_x;
+ NCURSES_SIZE_T src_row, src_col;
+ NCURSES_SIZE_T begx;
+ NCURSES_SIZE_T begy;
+ NCURSES_SIZE_T dst_row, dst_col;
#if USE_SCROLL_HINTS
bool wide;
#endif
-#if NCURSES_SP_FUNCS
- SCREEN *SP_PARM = _nc_screen_of(win);
-#endif
- T((T_CALLED("wnoutrefresh(%p)"), (void *) win));
+ T((T_CALLED("wnoutrefresh(%p)"), win));
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE)) {
_tracedump("...win", win);
@@ -108,8 +101,8 @@ wnoutrefresh(WINDOW *win)
begx = win->_begx;
begy = win->_begy;
- NewScreen(SP_PARM)->_nc_bkgd = win->_nc_bkgd;
- WINDOW_ATTRS(NewScreen(SP_PARM)) = WINDOW_ATTRS(win);
+ newscr->_nc_bkgd = win->_nc_bkgd;
+ WINDOW_ATTRS(newscr) = WINDOW_ATTRS(win);
/* merge in change information from all subwindows of this window */
wsyncdown(win);
@@ -129,7 +122,7 @@ wnoutrefresh(WINDOW *win)
* windows). Note that changing this formula will not break any code,
* merely change the costs of various update cases.
*/
- wide = (begx <= 1 && win->_maxx >= (NewScreen(SP_PARM)->_maxx - 1));
+ wide = (begx <= 1 && win->_maxx >= (newscr->_maxx - 1));
#endif
win->_flags &= ~_HASMOVED;
@@ -144,14 +137,14 @@ wnoutrefresh(WINDOW *win)
/* limit(dst_col) */
limit_x = win->_maxx;
/* limit(src_col) */
- if (limit_x > NewScreen(SP_PARM)->_maxx - begx)
- limit_x = NewScreen(SP_PARM)->_maxx - begx;
+ if (limit_x > newscr->_maxx - begx)
+ limit_x = newscr->_maxx - begx;
for (src_row = 0, dst_row = begy + win->_yoffset;
- src_row <= win->_maxy && dst_row <= NewScreen(SP_PARM)->_maxy;
+ src_row <= win->_maxy && dst_row <= newscr->_maxy;
src_row++, dst_row++) {
- struct ldat *nline = &(NewScreen(SP_PARM)->_line[dst_row]);
- struct ldat *oline = &win->_line[src_row];
+ register struct ldat *nline = &newscr->_line[dst_row];
+ register struct ldat *oline = &win->_line[src_row];
if (oline->firstchar != _NOCHANGE) {
int last_src = oline->lastchar;
@@ -163,7 +156,7 @@ wnoutrefresh(WINDOW *win)
dst_col = src_col + begx;
if_WIDEC({
- int j;
+ register int j;
/*
* Ensure that we will copy complete multi-column characters
@@ -204,7 +197,7 @@ wnoutrefresh(WINDOW *win)
: win->_maxx);
int fix_left = dst_col;
int fix_right = last_dst;
- int j;
+ register int j;
/*
* Check for boundary cases where we may overwrite part of a
@@ -232,8 +225,7 @@ wnoutrefresh(WINDOW *win)
* this character. Find the end of the character.
*/
++j;
- while (j <= NewScreen(SP_PARM)->_maxx &&
- isWidecExt(nline->text[j])) {
+ while (j <= newscr->_maxx && isWidecExt(nline->text[j])) {
fix_right = j++;
}
}
@@ -277,19 +269,18 @@ wnoutrefresh(WINDOW *win)
if (win->_clear) {
win->_clear = FALSE;
- NewScreen(SP_PARM)->_clear = TRUE;
+ newscr->_clear = TRUE;
}
if (!win->_leaveok) {
- NewScreen(SP_PARM)->_cury = (NCURSES_SIZE_T) (win->_cury +
- win->_begy + win->_yoffset);
- NewScreen(SP_PARM)->_curx = (NCURSES_SIZE_T) (win->_curx + win->_begx);
+ newscr->_cury = win->_cury + win->_begy + win->_yoffset;
+ newscr->_curx = win->_curx + win->_begx;
}
- NewScreen(SP_PARM)->_leaveok = win->_leaveok;
+ newscr->_leaveok = win->_leaveok;
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE)) {
- _tracedump("newscr", NewScreen(SP_PARM));
+ _tracedump("newscr", newscr);
_nc_unlock_global(tracef);
}
#endif /* TRACE */
diff --git a/ncurses/base/lib_restart.c b/ncurses/base/lib_restart.c
index b28cfd1f2ffd..da770d4e7c92 100644
--- a/ncurses/base/lib_restart.c
+++ b/ncurses/base/lib_restart.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2008 *
****************************************************************************/
/*
@@ -45,62 +44,49 @@
#define _POSIX_SOURCE
#endif
-MODULE_ID("$Id: lib_restart.c,v 1.13 2009/10/24 22:47:43 tom Exp $")
+#include <term.h> /* lines, columns, cur_term */
+
+MODULE_ID("$Id: lib_restart.c,v 1.10 2008/06/21 17:31:22 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(restartterm) (NCURSES_SP_DCLx
- NCURSES_CONST char *termp,
- int filenum,
- int *errret)
+restartterm(NCURSES_CONST char *termp, int filenum, int *errret)
{
int result;
-#ifdef USE_TERM_DRIVER
- TERMINAL *new_term;
-#endif
- T((T_CALLED("restartterm(%p,%s,%d,%p)"),
- (void *) SP_PARM,
- termp,
- filenum,
- (void *) errret));
+ T((T_CALLED("restartterm(%s,%d,%p)"), termp, filenum, errret));
- if (TINFO_SETUP_TERM(&new_term, termp, filenum, errret, FALSE) != OK) {
+ if (setupterm(termp, filenum, errret) != OK) {
result = ERR;
- } else if (SP_PARM != 0) {
- int saveecho = SP_PARM->_echo;
- int savecbreak = SP_PARM->_cbreak;
- int saveraw = SP_PARM->_raw;
- int savenl = SP_PARM->_nl;
+ } else if (SP != 0) {
+ int saveecho = SP->_echo;
+ int savecbreak = SP->_cbreak;
+ int saveraw = SP->_raw;
+ int savenl = SP->_nl;
-#ifdef USE_TERM_DRIVER
- SP_PARM->_term = new_term;
-#endif
- if (saveecho) {
- NCURSES_SP_NAME(echo) (NCURSES_SP_ARG);
- } else {
- NCURSES_SP_NAME(noecho) (NCURSES_SP_ARG);
- }
+ if (saveecho)
+ echo();
+ else
+ noecho();
if (savecbreak) {
- NCURSES_SP_NAME(cbreak) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(noraw) (NCURSES_SP_ARG);
+ cbreak();
+ noraw();
} else if (saveraw) {
- NCURSES_SP_NAME(nocbreak) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(raw) (NCURSES_SP_ARG);
- } else {
- NCURSES_SP_NAME(nocbreak) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(noraw) (NCURSES_SP_ARG);
- }
- if (savenl) {
- NCURSES_SP_NAME(nl) (NCURSES_SP_ARG);
+ nocbreak();
+ raw();
} else {
- NCURSES_SP_NAME(nonl) (NCURSES_SP_ARG);
+ nocbreak();
+ noraw();
}
+ if (savenl)
+ nl();
+ else
+ nonl();
- NCURSES_SP_NAME(reset_prog_mode) (NCURSES_SP_ARG);
+ reset_prog_mode();
#if USE_SIZECHANGE
- _nc_update_screensize(SP_PARM);
+ _nc_update_screensize(SP);
#endif
result = OK;
@@ -109,11 +95,3 @@ NCURSES_SP_NAME(restartterm) (NCURSES_SP_DCLx
}
returnCode(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-restartterm(NCURSES_CONST char *termp, int filenum, int *errret)
-{
- return NCURSES_SP_NAME(restartterm) (CURRENT_SCREEN, termp, filenum, errret);
-}
-#endif
diff --git a/ncurses/base/lib_scanw.c b/ncurses/base/lib_scanw.c
index a8621e63e172..b8a5a227a1a9 100644
--- a/ncurses/base/lib_scanw.c
+++ b/ncurses/base/lib_scanw.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2001,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,7 +40,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_scanw.c,v 1.12 2009/10/24 22:35:14 tom Exp $")
+MODULE_ID("$Id: lib_scanw.c,v 1.11 2001/06/30 23:39:41 tom Exp $")
NCURSES_EXPORT(int)
vwscanw(WINDOW *win, NCURSES_CONST char *fmt, va_list argp)
@@ -73,7 +73,7 @@ wscanw(WINDOW *win, NCURSES_CONST char *fmt,...)
int code;
va_list ap;
- T(("wscanw(%p,\"%s\",...) called", (void *) win, fmt));
+ T(("wscanw(%p,\"%s\",...) called", win, fmt));
va_start(ap, fmt);
code = vwscanw(win, fmt, ap);
diff --git a/ncurses/base/lib_screen.c b/ncurses/base/lib_screen.c
index 27212b790611..4aa58ea2a19c 100644
--- a/ncurses/base/lib_screen.c
+++ b/ncurses/base/lib_screen.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,45 +30,35 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996 on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
#include <curses.priv.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_screen.c,v 1.38 2009/10/24 22:08:55 tom Exp $")
+MODULE_ID("$Id: lib_screen.c,v 1.31 2008/08/16 19:05:37 tom Exp $")
#define MAX_SIZE 0x3fff /* 16k is big enough for a window or pad */
NCURSES_EXPORT(WINDOW *)
-NCURSES_SP_NAME(getwin) (NCURSES_SP_DCLx FILE *filep)
+getwin(FILE *filep)
{
WINDOW tmp, *nwin;
int n;
- T((T_CALLED("getwin(%p)"), (void *) filep));
+ T((T_CALLED("getwin(%p)"), filep));
clearerr(filep);
- if (fread(&tmp, 1, sizeof(WINDOW), filep) < sizeof(WINDOW)
- || ferror(filep)
+ (void) fread(&tmp, sizeof(WINDOW), 1, filep);
+ if (ferror(filep)
|| tmp._maxy == 0
|| tmp._maxy > MAX_SIZE
|| tmp._maxx == 0
- || tmp._maxx > MAX_SIZE) {
+ || tmp._maxx > MAX_SIZE)
returnWin(0);
- }
if (tmp._flags & _ISPAD) {
- nwin = NCURSES_SP_NAME(newpad) (NCURSES_SP_ARGx
- tmp._maxy + 1,
- tmp._maxx + 1);
+ nwin = newpad(tmp._maxy + 1, tmp._maxx + 1);
} else {
- nwin = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx
- tmp._maxy + 1,
- tmp._maxx + 1, 0, 0);
+ nwin = newwin(tmp._maxy + 1, tmp._maxx + 1, 0, 0);
}
/*
@@ -77,8 +67,6 @@ NCURSES_SP_NAME(getwin) (NCURSES_SP_DCLx FILE *filep)
* made sense is probably gone.
*/
if (nwin != 0) {
- size_t linesize = sizeof(NCURSES_CH_T) * (size_t) (tmp._maxx + 1);
-
nwin->_curx = tmp._curx;
nwin->_cury = tmp._cury;
nwin->_maxy = tmp._maxy;
@@ -110,8 +98,11 @@ NCURSES_SP_NAME(getwin) (NCURSES_SP_DCLx FILE *filep)
for (n = 0; n <= nwin->_maxy; n++) {
clearerr(filep);
- if (fread(nwin->_line[n].text, 1, linesize, filep) < linesize
- || ferror(filep)) {
+ (void) fread(nwin->_line[n].text,
+ sizeof(NCURSES_CH_T),
+ (size_t) (nwin->_maxx + 1),
+ filep);
+ if (ferror(filep)) {
delwin(nwin);
returnWin(0);
}
@@ -121,21 +112,13 @@ NCURSES_SP_NAME(getwin) (NCURSES_SP_DCLx FILE *filep)
returnWin(nwin);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(WINDOW *)
-getwin(FILE *filep)
-{
- return NCURSES_SP_NAME(getwin) (CURRENT_SCREEN, filep);
-}
-#endif
-
NCURSES_EXPORT(int)
putwin(WINDOW *win, FILE *filep)
{
int code = ERR;
int n;
- T((T_CALLED("putwin(%p,%p)"), (void *) win, (void *) filep));
+ T((T_CALLED("putwin(%p,%p)"), win, filep));
if (win != 0) {
size_t len = (size_t) (win->_maxx + 1);
@@ -158,34 +141,26 @@ putwin(WINDOW *win, FILE *filep)
}
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(scr_restore) (NCURSES_SP_DCLx const char *file)
+scr_restore(const char *file)
{
FILE *fp = 0;
- T((T_CALLED("scr_restore(%p,%s)"), (void *) SP_PARM, _nc_visbuf(file)));
+ T((T_CALLED("scr_restore(%s)"), _nc_visbuf(file)));
if (_nc_access(file, R_OK) < 0
|| (fp = fopen(file, "rb")) == 0) {
returnCode(ERR);
} else {
- delwin(NewScreen(SP_PARM));
- NewScreen(SP_PARM) = getwin(fp);
+ delwin(newscr);
+ SP->_newscr = getwin(fp);
#if !USE_REENTRANT
- newscr = NewScreen(SP_PARM);
+ newscr = SP->_newscr;
#endif
(void) fclose(fp);
returnCode(OK);
}
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-scr_restore(const char *file)
-{
- return NCURSES_SP_NAME(scr_restore) (CURRENT_SCREEN, file);
-}
-#endif
-
NCURSES_EXPORT(int)
scr_dump(const char *file)
{
@@ -204,63 +179,42 @@ scr_dump(const char *file)
}
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(scr_init) (NCURSES_SP_DCLx const char *file)
+scr_init(const char *file)
{
FILE *fp = 0;
- int code = ERR;
- T((T_CALLED("scr_init(%p,%s)"), (void *) SP_PARM, _nc_visbuf(file)));
+ T((T_CALLED("scr_init(%s)"), _nc_visbuf(file)));
- if (SP_PARM != 0 &&
-#ifdef USE_TERM_DRIVER
- InfoOf(SP_PARM).caninit
-#else
- !(exit_ca_mode && non_rev_rmcup)
-#endif
- ) {
- if (_nc_access(file, R_OK) >= 0
- && (fp = fopen(file, "rb")) != 0) {
- delwin(CurScreen(SP_PARM));
- CurScreen(SP_PARM) = getwin(fp);
+ if (exit_ca_mode && non_rev_rmcup)
+ returnCode(ERR);
+
+ if (_nc_access(file, R_OK) < 0
+ || (fp = fopen(file, "rb")) == 0) {
+ returnCode(ERR);
+ } else {
+ delwin(curscr);
+ SP->_curscr = getwin(fp);
#if !USE_REENTRANT
- curscr = CurScreen(SP_PARM);
+ curscr = SP->_curscr;
#endif
- (void) fclose(fp);
- code = OK;
- }
+ (void) fclose(fp);
+ returnCode(OK);
}
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-scr_init(const char *file)
-{
- return NCURSES_SP_NAME(scr_init) (CURRENT_SCREEN, file);
}
-#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(scr_set) (NCURSES_SP_DCLx const char *file)
+scr_set(const char *file)
{
- T((T_CALLED("scr_set(%p,%s)"), (void *) SP_PARM, _nc_visbuf(file)));
+ T((T_CALLED("scr_set(%s)"), _nc_visbuf(file)));
- if (NCURSES_SP_NAME(scr_init) (NCURSES_SP_ARGx file) == ERR) {
+ if (scr_init(file) == ERR) {
returnCode(ERR);
} else {
- delwin(NewScreen(SP_PARM));
- NewScreen(SP_PARM) = dupwin(curscr);
+ delwin(newscr);
+ SP->_newscr = dupwin(curscr);
#if !USE_REENTRANT
- newscr = NewScreen(SP_PARM);
+ newscr = SP->_newscr;
#endif
returnCode(OK);
}
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-scr_set(const char *file)
-{
- return NCURSES_SP_NAME(scr_set) (CURRENT_SCREEN, file);
-}
-#endif
diff --git a/ncurses/base/lib_scroll.c b/ncurses/base/lib_scroll.c
index fe4e80804dae..ac85bd55ea1d 100644
--- a/ncurses/base/lib_scroll.c
+++ b/ncurses/base/lib_scroll.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -43,7 +43,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_scroll.c,v 1.28 2010/12/19 01:48:09 tom Exp $")
+MODULE_ID("$Id: lib_scroll.c,v 1.26 2006/10/14 20:46:08 tom Exp $")
NCURSES_EXPORT(void)
_nc_scroll_window(WINDOW *win,
@@ -55,10 +55,10 @@ _nc_scroll_window(WINDOW *win,
int limit;
int line;
int j;
- size_t to_copy = (sizeof(NCURSES_CH_T) * (size_t) (win->_maxx + 1));
+ size_t to_copy = (size_t) (sizeof(NCURSES_CH_T) * (win->_maxx + 1));
TR(TRACE_MOVE, ("_nc_scroll_window(%p, %d, %ld, %ld)",
- (void *) win, n, (long) top, (long) bottom));
+ win, n, (long) top, (long) bottom));
if (top < 0
|| bottom < top
@@ -135,7 +135,7 @@ _nc_scroll_window(WINDOW *win,
NCURSES_EXPORT(int)
wscrl(WINDOW *win, int n)
{
- T((T_CALLED("wscrl(%p,%d)"), (void *) win, n));
+ T((T_CALLED("wscrl(%p,%d)"), win, n));
if (!win || !win->_scroll) {
TR(TRACE_MOVE, ("...scrollok is false"));
diff --git a/ncurses/base/lib_scrollok.c b/ncurses/base/lib_scrollok.c
index 6a698a368da2..f6b30259be73 100644
--- a/ncurses/base/lib_scrollok.c
+++ b/ncurses/base/lib_scrollok.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,12 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_scrollok.c,v 1.5 2009/10/24 22:35:38 tom Exp $")
+MODULE_ID("$Id: lib_scrollok.c,v 1.4 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
scrollok(WINDOW *win, bool flag)
{
- T((T_CALLED("scrollok(%p,%d)"), (void *) win, flag));
+ T((T_CALLED("scrollok(%p,%d)"), win, flag));
if (win) {
win->_scroll = flag;
diff --git a/ncurses/base/lib_scrreg.c b/ncurses/base/lib_scrreg.c
index 546fbc183a3c..c85d60f1164d 100644
--- a/ncurses/base/lib_scrreg.c
+++ b/ncurses/base/lib_scrreg.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,12 +40,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_scrreg.c,v 1.11 2009/10/24 22:35:28 tom Exp $")
+MODULE_ID("$Id: lib_scrreg.c,v 1.10 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
wsetscrreg(WINDOW *win, int top, int bottom)
{
- T((T_CALLED("wsetscrreg(%p,%d,%d)"), (void *) win, top, bottom));
+ T((T_CALLED("wsetscrreg(%p,%d,%d)"), win, top, bottom));
if (win &&
top >= 0 && top <= win->_maxy &&
diff --git a/ncurses/base/lib_set_term.c b/ncurses/base/lib_set_term.c
index df0a276aef8a..aff432bb9fd1 100644
--- a/ncurses/base/lib_set_term.c
+++ b/ncurses/base/lib_set_term.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -41,21 +40,11 @@
*/
#include <curses.priv.h>
-#include <tic.h>
-
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-MODULE_ID("$Id: lib_set_term.c,v 1.138 2010/12/20 00:42:20 tom Exp $")
+#include <term.h> /* cur_term */
+#include <tic.h>
-#ifdef USE_TERM_DRIVER
-#define MaxColors InfoOf(sp).maxcolors
-#define NumLabels InfoOf(sp).numlabels
-#else
-#define MaxColors max_colors
-#define NumLabels num_labels
-#endif
+MODULE_ID("$Id: lib_set_term.c,v 1.117 2008/08/04 18:11:12 tom Exp $")
NCURSES_EXPORT(SCREEN *)
set_term(SCREEN *screenp)
@@ -63,25 +52,25 @@ set_term(SCREEN *screenp)
SCREEN *oldSP;
SCREEN *newSP;
- T((T_CALLED("set_term(%p)"), (void *) screenp));
+ T((T_CALLED("set_term(%p)"), screenp));
_nc_lock_global(curses);
- oldSP = CURRENT_SCREEN;
+ oldSP = SP;
_nc_set_screen(screenp);
- newSP = screenp;
+ newSP = SP;
if (newSP != 0) {
- TINFO_SET_CURTERM(newSP, newSP->_term);
+ set_curterm(newSP->_term);
#if !USE_REENTRANT
- curscr = CurScreen(newSP);
- newscr = NewScreen(newSP);
- stdscr = StdScreen(newSP);
+ curscr = newSP->_curscr;
+ newscr = newSP->_newscr;
+ stdscr = newSP->_stdscr;
COLORS = newSP->_color_count;
COLOR_PAIRS = newSP->_pair_count;
#endif
} else {
- TINFO_SET_CURTERM(oldSP, 0);
+ set_curterm(0);
#if !USE_REENTRANT
curscr = 0;
newscr = 0;
@@ -93,7 +82,7 @@ set_term(SCREEN *screenp)
_nc_unlock_global(curses);
- T((T_RETURN("%p"), (void *) oldSP));
+ T((T_RETURN("%p"), oldSP));
return (oldSP);
}
@@ -117,7 +106,7 @@ delink_screen(SCREEN *sp)
for (each_screen(temp)) {
if (temp == sp) {
if (last)
- last->_next_screen = sp->_next_screen;
+ last = sp->_next_screen;
else
_nc_screen_chain = sp->_next_screen;
result = TRUE;
@@ -136,27 +125,14 @@ delscreen(SCREEN *sp)
{
int i;
- T((T_CALLED("delscreen(%p)"), (void *) sp));
+ T((T_CALLED("delscreen(%p)"), sp));
_nc_lock_global(curses);
if (delink_screen(sp)) {
-#ifdef USE_SP_RIPOFF
- ripoff_t *rop;
- if (safe_ripoff_sp && safe_ripoff_sp != safe_ripoff_stack) {
- for (rop = safe_ripoff_stack;
- rop != safe_ripoff_sp && (rop - safe_ripoff_stack) < N_RIPS;
- rop++) {
- if (rop->win) {
- (void) delwin(rop->win);
- rop->win = 0;
- }
- }
- }
-#endif
- (void) _nc_freewin(CurScreen(sp));
- (void) _nc_freewin(NewScreen(sp));
- (void) _nc_freewin(StdScreen(sp));
+ (void) _nc_freewin(sp->_curscr);
+ (void) _nc_freewin(sp->_newscr);
+ (void) _nc_freewin(sp->_stdscr);
if (sp->_slk != 0) {
if (sp->_slk->ent != 0) {
@@ -200,7 +176,7 @@ delscreen(SCREEN *sp)
free(sp->_setbuf);
}
- NCURSES_SP_NAME(del_curterm) (NCURSES_SP_ARGx sp->_term);
+ del_curterm(sp->_term);
free(sp);
/*
@@ -208,7 +184,7 @@ delscreen(SCREEN *sp)
* application might try to use (except cur_term, which may have
* multiple references in different screens).
*/
- if (sp == CURRENT_SCREEN) {
+ if (sp == SP) {
#if !USE_REENTRANT
curscr = 0;
newscr = 0;
@@ -272,98 +248,50 @@ extract_fgbg(char *src, int *result)
}
#endif
-#define ReturnScreenError() _nc_set_screen(0); \
- returnCode(ERR)
-
/* OS-independent screen initializations */
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_setupscreen) (
-#if NCURSES_SP_FUNCS
- SCREEN **spp,
-#endif
- int slines,
- int scolumns,
- FILE *output,
- bool filtered,
- int slk_format)
+_nc_setupscreen(int slines GCC_UNUSED,
+ int scolumns GCC_UNUSED,
+ FILE *output,
+ bool filtered,
+ int slk_format)
{
char *env;
int bottom_stolen = 0;
- ripoff_t *rop;
- SCREEN *sp;
-#ifndef USE_TERM_DRIVER
bool support_cookies = USE_XMC_SUPPORT;
-#endif
+ ripoff_t *rop;
T((T_CALLED("_nc_setupscreen(%d, %d, %p, %d, %d)"),
- slines, scolumns, (void *) output, filtered, slk_format));
-
- assert(CURRENT_SCREEN == 0); /* has been reset in newterm() ! */
-
-#if NCURSES_SP_FUNCS
- assert(spp != 0);
- sp = *spp;
+ slines, scolumns, output, filtered, slk_format));
- if (!sp) {
- sp = _nc_alloc_screen_sp();
- *spp = sp;
- }
- if (!sp
- || ((sp->_acs_map = typeCalloc(chtype, ACS_LEN)) == 0)
- || ((sp->_screen_acs_map = typeCalloc(bool, ACS_LEN)) == 0)) {
- ReturnScreenError();
- }
-
- T(("created SP %p", (void *) sp));
- sp->_next_screen = _nc_screen_chain;
- _nc_screen_chain = sp;
-
- if ((sp->_current_attr = typeCalloc(NCURSES_CH_T, 1)) == 0) {
- ReturnScreenError();
- }
-#else
+ assert(SP == 0); /* has been reset in newterm() ! */
if (!_nc_alloc_screen()
|| ((SP->_acs_map = typeCalloc(chtype, ACS_LEN)) == 0)
|| ((SP->_screen_acs_map = typeCalloc(bool, ACS_LEN)) == 0)) {
returnCode(ERR);
}
- T(("created SP %p", (void *) SP));
+ T(("created SP %p", SP));
+ SP->_next_screen = _nc_screen_chain;
+ _nc_screen_chain = SP;
- sp = SP; /* fixup so SET_LINES and SET_COLS works */
- sp->_next_screen = _nc_screen_chain;
- _nc_screen_chain = sp;
-
- if ((sp->_current_attr = typeCalloc(NCURSES_CH_T, 1)) == 0)
+ if ((SP->_current_attr = typeCalloc(NCURSES_CH_T, 1)) == 0)
returnCode(ERR);
-#endif
/*
* We should always check the screensize, just in case.
*/
- _nc_set_screen(sp);
- sp->_term = cur_term;
-#ifdef USE_TERM_DRIVER
- TCBOf(sp)->csp = sp;
- _nc_get_screensize(sp, sp->_term, &slines, &scolumns);
-#else
- _nc_get_screensize(sp, &slines, &scolumns);
-#endif
+ _nc_get_screensize(SP, &slines, &scolumns);
SET_LINES(slines);
SET_COLS(scolumns);
+ T((T_CREATE("screen %s %dx%d"), termname(), LINES, COLS));
- T((T_CREATE("screen %s %dx%d"),
- NCURSES_SP_NAME(termname) (NCURSES_SP_ARG), slines, scolumns));
-
- sp->_filtered = filtered;
+ SP->_filtered = filtered;
/* implement filter mode */
if (filtered) {
slines = 1;
SET_LINES(slines);
-#ifdef USE_TERM_DRIVER
- CallDriver(sp, setfilter);
-#else
clear_screen = 0;
cursor_down = parm_down_cursor = 0;
cursor_address = 0;
@@ -371,25 +299,34 @@ NCURSES_SP_NAME(_nc_setupscreen) (
row_address = 0;
cursor_home = carriage_return;
-#endif
- T(("filter screensize %dx%d", slines, scolumns));
+ T(("filter screensize %dx%d", LINES, COLS));
}
#ifdef __DJGPP__
T(("setting output mode to binary"));
fflush(output);
setmode(output, O_BINARY);
#endif
- NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_ARGx output, TRUE);
- sp->_lines = (NCURSES_SIZE_T) slines;
- sp->_lines_avail = (NCURSES_SIZE_T) slines;
- sp->_columns = (NCURSES_SIZE_T) scolumns;
- sp->_ofp = output;
- SP_PRE_INIT(sp);
- SetNoPadding(sp);
+ _nc_set_buffer(output, TRUE);
+ SP->_term = cur_term;
+ SP->_lines = slines;
+ SP->_lines_avail = slines;
+ SP->_columns = scolumns;
+ SP->_cursrow = -1;
+ SP->_curscol = -1;
+ SP->_nl = TRUE;
+ SP->_raw = FALSE;
+ SP->_cbreak = 0;
+ SP->_echo = TRUE;
+ SP->_fifohead = -1;
+ SP->_endwin = TRUE;
+ SP->_ofp = output;
+ SP->_cursor = -1; /* cannot know real cursor shape */
+
+ SetNoPadding(SP);
#if NCURSES_EXT_FUNCS
- sp->_default_color = FALSE;
- sp->_has_sgr_39_49 = FALSE;
+ SP->_default_color = FALSE;
+ SP->_has_sgr_39_49 = FALSE;
/*
* Set our assumption of the terminal's default foreground and background
@@ -411,11 +348,11 @@ NCURSES_SP_NAME(_nc_setupscreen) (
* or black-on-white display under control of the application than not).
*/
#ifdef USE_ASSUMED_COLOR
- sp->_default_fg = COLOR_WHITE;
- sp->_default_bg = COLOR_BLACK;
+ SP->_default_fg = COLOR_WHITE;
+ SP->_default_bg = COLOR_BLACK;
#else
- sp->_default_fg = C_MASK;
- sp->_default_bg = C_MASK;
+ SP->_default_fg = C_MASK;
+ SP->_default_bg = C_MASK;
#endif
/*
@@ -427,14 +364,14 @@ NCURSES_SP_NAME(_nc_setupscreen) (
char sep1, sep2;
int count = sscanf(env, "%d%c%d%c", &fg, &sep1, &bg, &sep2);
if (count >= 1) {
- sp->_default_fg = ((fg >= 0 && fg < MaxColors) ? fg : C_MASK);
+ SP->_default_fg = (fg >= 0 && fg < max_colors) ? fg : C_MASK;
if (count >= 3) {
- sp->_default_bg = ((bg >= 0 && bg < MaxColors) ? bg : C_MASK);
+ SP->_default_bg = (bg >= 0 && bg < max_colors) ? bg : C_MASK;
}
TR(TRACE_CHARPUT | TRACE_MOVE,
("from environment assumed fg=%d, bg=%d",
- sp->_default_fg,
- sp->_default_bg));
+ SP->_default_fg,
+ SP->_default_bg));
}
}
#if USE_COLORFGBG
@@ -447,51 +384,48 @@ NCURSES_SP_NAME(_nc_setupscreen) (
if (getenv("COLORFGBG") != 0) {
char *p = getenv("COLORFGBG");
TR(TRACE_CHARPUT | TRACE_MOVE, ("decoding COLORFGBG %s", p));
- p = extract_fgbg(p, &(sp->_default_fg));
- p = extract_fgbg(p, &(sp->_default_bg));
+ p = extract_fgbg(p, &(SP->_default_fg));
+ p = extract_fgbg(p, &(SP->_default_bg));
if (*p) /* assume rxvt was compiled with xpm support */
- p = extract_fgbg(p, &(sp->_default_bg));
+ p = extract_fgbg(p, &(SP->_default_bg));
TR(TRACE_CHARPUT | TRACE_MOVE, ("decoded fg=%d, bg=%d",
- sp->_default_fg, sp->_default_bg));
- if (sp->_default_fg >= MaxColors) {
+ SP->_default_fg, SP->_default_bg));
+ if (SP->_default_fg >= max_colors) {
if (set_a_foreground != ABSENT_STRING
&& !strcmp(set_a_foreground, "\033[3%p1%dm")) {
set_a_foreground = "\033[3%?%p1%{8}%>%t9%e%p1%d%;m";
} else {
- sp->_default_fg %= MaxColors;
+ SP->_default_fg %= max_colors;
}
}
- if (sp->_default_bg >= MaxColors) {
+ if (SP->_default_bg >= max_colors) {
if (set_a_background != ABSENT_STRING
&& !strcmp(set_a_background, "\033[4%p1%dm")) {
set_a_background = "\033[4%?%p1%{8}%>%t9%e%p1%d%;m";
} else {
- sp->_default_bg %= MaxColors;
+ SP->_default_bg %= max_colors;
}
}
}
#endif
#endif /* NCURSES_EXT_FUNCS */
- sp->_maxclick = DEFAULT_MAXCLICK;
- sp->_mouse_event = no_mouse_event;
- sp->_mouse_inline = no_mouse_inline;
- sp->_mouse_parse = no_mouse_parse;
- sp->_mouse_resume = no_mouse_resume;
- sp->_mouse_wrap = no_mouse_wrap;
- sp->_mouse_fd = -1;
+ SP->_maxclick = DEFAULT_MAXCLICK;
+ SP->_mouse_event = no_mouse_event;
+ SP->_mouse_inline = no_mouse_inline;
+ SP->_mouse_parse = no_mouse_parse;
+ SP->_mouse_resume = no_mouse_resume;
+ SP->_mouse_wrap = no_mouse_wrap;
+ SP->_mouse_fd = -1;
/*
* If we've no magic cookie support, we suppress attributes that xmc would
* affect, i.e., the attributes that affect the rendition of a space.
*/
- sp->_ok_attributes = NCURSES_SP_NAME(termattrs) (NCURSES_SP_ARG);
- if (NCURSES_SP_NAME(has_colors) (NCURSES_SP_ARG)) {
- sp->_ok_attributes |= A_COLOR;
+ SP->_ok_attributes = termattrs();
+ if (has_colors()) {
+ SP->_ok_attributes |= A_COLOR;
}
-#ifdef USE_TERM_DRIVER
- _nc_cookie_init(sp);
-#else
#if USE_XMC_SUPPORT
/*
* If we have no magic-cookie support compiled-in, or if it is suppressed
@@ -510,7 +444,7 @@ NCURSES_SP_NAME(_nc_setupscreen) (
if (magic_cookie_glitch > 0) { /* tvi, wyse */
- sp->_xmc_triggers = sp->_ok_attributes & (
+ SP->_xmc_triggers = SP->_ok_attributes & (
A_STANDOUT |
A_UNDERLINE |
A_REVERSE |
@@ -527,12 +461,12 @@ NCURSES_SP_NAME(_nc_setupscreen) (
* cookies.
*/
if (has_colors()) {
- sp->_xmc_triggers |= A_COLOR;
+ SP->_xmc_triggers |= A_COLOR;
}
#endif
- sp->_xmc_suppress = sp->_xmc_triggers & (chtype) ~(A_BOLD);
+ SP->_xmc_suppress = SP->_xmc_triggers & (chtype) ~(A_BOLD);
- T(("magic cookie attributes %s", _traceattr(sp->_xmc_suppress)));
+ T(("magic cookie attributes %s", _traceattr(SP->_xmc_suppress)));
/*
* Supporting line-drawing may be possible. But make the regular
* video attributes work first.
@@ -572,7 +506,7 @@ NCURSES_SP_NAME(_nc_setupscreen) (
/* initialize normal acs before wide, since we use mapping in the latter */
#if !USE_WIDEC_SUPPORT
- if (_nc_unicode_locale() && _nc_locale_breaks_acs(sp->_term)) {
+ if (_nc_unicode_locale() && _nc_locale_breaks_acs(cur_term)) {
acs_chars = NULL;
ena_acs = NULL;
enter_alt_charset_mode = NULL;
@@ -580,194 +514,134 @@ NCURSES_SP_NAME(_nc_setupscreen) (
set_attributes = NULL;
}
#endif
-#endif
-
- NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_ARG);
+ _nc_init_acs();
#if USE_WIDEC_SUPPORT
_nc_init_wacs();
- sp->_screen_acs_fix = (_nc_unicode_locale()
- && _nc_locale_breaks_acs(sp->_term));
+ SP->_screen_acs_fix = (_nc_unicode_locale()
+ && _nc_locale_breaks_acs(cur_term));
#endif
env = _nc_get_locale();
- sp->_legacy_coding = ((env == 0)
+ SP->_legacy_coding = ((env == 0)
|| !strcmp(env, "C")
|| !strcmp(env, "POSIX"));
- T(("legacy-coding %d", sp->_legacy_coding));
+ T(("legacy-coding %d", SP->_legacy_coding));
- sp->_nc_sp_idcok = TRUE;
- sp->_nc_sp_idlok = FALSE;
+ _nc_idcok = TRUE;
+ _nc_idlok = FALSE;
- sp->oldhash = 0;
- sp->newhash = 0;
+ SP->oldhash = 0;
+ SP->newhash = 0;
T(("creating newscr"));
- NewScreen(sp) = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx slines, scolumns,
- 0, 0);
- if (NewScreen(sp) == 0) {
- ReturnScreenError();
- }
+ if ((SP->_newscr = newwin(slines, scolumns, 0, 0)) == 0)
+ returnCode(ERR);
+
T(("creating curscr"));
- CurScreen(sp) = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx slines, scolumns,
- 0, 0);
- if (CurScreen(sp) == 0) {
- ReturnScreenError();
- }
+ if ((SP->_curscr = newwin(slines, scolumns, 0, 0)) == 0)
+ returnCode(ERR);
+
#if !USE_REENTRANT
- newscr = NewScreen(sp);
- curscr = CurScreen(sp);
+ newscr = SP->_newscr;
+ curscr = SP->_curscr;
#endif
#if USE_SIZECHANGE
- sp->_resize = NCURSES_SP_NAME(resizeterm);
+ SP->_resize = resizeterm;
#endif
- NewScreen(sp)->_clear = TRUE;
- CurScreen(sp)->_clear = FALSE;
-
- NCURSES_SP_NAME(def_shell_mode) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(def_prog_mode) (NCURSES_SP_ARG);
-
- if (safe_ripoff_sp && safe_ripoff_sp != safe_ripoff_stack) {
- for (rop = safe_ripoff_stack;
- rop != safe_ripoff_sp && (rop - safe_ripoff_stack) < N_RIPS;
- rop++) {
-
- /* If we must simulate soft labels, grab off the line to be used.
- We assume that we must simulate, if it is none of the standard
- formats (4-4 or 3-2-3) for which there may be some hardware
- support. */
- if (rop->hook == _nc_slk_initialize) {
- if (!(NumLabels <= 0 || !SLK_STDFMT(slk_format))) {
- continue;
- }
- }
- if (rop->hook) {
- int count;
- WINDOW *w;
-
- count = (rop->line < 0) ? -rop->line : rop->line;
- T(("ripping off %i lines at %s", count,
- ((rop->line < 0)
- ? "bottom"
- : "top")));
-
- w = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx
- count, scolumns,
- ((rop->line < 0)
- ? sp->_lines_avail - count
- : 0),
- 0);
- if (w) {
- rop->win = w;
- rop->hook(w, scolumns);
- } else {
- ReturnScreenError();
- }
- if (rop->line < 0) {
- bottom_stolen += count;
- } else {
- sp->_topstolen = (NCURSES_SIZE_T) (sp->_topstolen + count);
- }
- sp->_lines_avail = (NCURSES_SIZE_T) (sp->_lines_avail - count);
+ newscr->_clear = TRUE;
+ curscr->_clear = FALSE;
+
+ def_shell_mode();
+ def_prog_mode();
+
+ for (rop = ripoff_stack;
+ rop != ripoff_sp && (rop - ripoff_stack) < N_RIPS;
+ rop++) {
+
+ /* If we must simulate soft labels, grab off the line to be used.
+ We assume that we must simulate, if it is none of the standard
+ formats (4-4 or 3-2-3) for which there may be some hardware
+ support. */
+ if (rop->hook == _nc_slk_initialize)
+ if (!(num_labels <= 0 || !SLK_STDFMT(slk_format)))
+ continue;
+ if (rop->hook) {
+ int count;
+ WINDOW *w;
+
+ count = (rop->line < 0) ? -rop->line : rop->line;
+ T(("ripping off %i lines at %s", count,
+ ((rop->line < 0)
+ ? "bottom"
+ : "top")));
+
+ w = newwin(count, scolumns,
+ ((rop->line < 0)
+ ? SP->_lines_avail - count
+ : 0),
+ 0);
+ if (w) {
+ rop->win = w;
+ rop->hook(w, scolumns);
+ } else {
+ returnCode(ERR);
}
+ if (rop->line < 0)
+ bottom_stolen += count;
+ else
+ SP->_topstolen += count;
+ SP->_lines_avail -= count;
}
- /* reset the stack */
- safe_ripoff_sp = safe_ripoff_stack;
}
+ /* reset the stack */
+ ripoff_sp = ripoff_stack;
T(("creating stdscr"));
- assert((sp->_lines_avail + sp->_topstolen + bottom_stolen) == slines);
- if ((StdScreen(sp) = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx
- sp->_lines_avail,
- scolumns, 0, 0)) == 0) {
- ReturnScreenError();
- }
- SET_LINES(sp->_lines_avail);
+ assert((SP->_lines_avail + SP->_topstolen + bottom_stolen) == slines);
+ if ((SP->_stdscr = newwin(SP->_lines_avail, scolumns, 0, 0)) == 0)
+ returnCode(ERR);
+
+ SET_LINES(SP->_lines_avail);
#if !USE_REENTRANT
- stdscr = StdScreen(sp);
+ stdscr = SP->_stdscr;
#endif
- sp->_prescreen = FALSE;
- returnCode(OK);
-}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-_nc_setupscreen(int slines GCC_UNUSED,
- int scolumns GCC_UNUSED,
- FILE *output,
- bool filtered,
- int slk_format)
-{
- SCREEN *sp = 0;
- int rc = NCURSES_SP_NAME(_nc_setupscreen) (&sp,
- slines,
- scolumns,
- output,
- filtered,
- slk_format);
- if (rc != OK)
- _nc_set_screen(0);
- return rc;
+ returnCode(OK);
}
-#endif
/*
* The internal implementation interprets line as the number of lines to rip
* off from the top or bottom.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(_nc_ripoffline) (NCURSES_SP_DCLx
- int line,
- int (*init) (WINDOW *, int))
+_nc_ripoffline(int line, int (*init) (WINDOW *, int))
{
- int code = ERR;
+ T((T_CALLED("_nc_ripoffline(%d, %p)"), line, init));
- START_TRACE();
- T((T_CALLED("ripoffline(%p,%d,%p)"), (void *) SP_PARM, line, init));
+ if (line != 0) {
-#if NCURSES_SP_FUNCS
- if (SP_PARM != 0 && SP_PARM->_prescreen)
-#endif
- {
- if (line == 0) {
- code = OK;
- } else {
- if (safe_ripoff_sp == 0)
- safe_ripoff_sp = safe_ripoff_stack;
- if (safe_ripoff_sp < safe_ripoff_stack + N_RIPS) {
- safe_ripoff_sp->line = line;
- safe_ripoff_sp->hook = init;
- (safe_ripoff_sp)++;
- code = OK;
- }
- }
+ if (ripoff_sp == 0)
+ ripoff_sp = ripoff_stack;
+ if (ripoff_sp >= ripoff_stack + N_RIPS)
+ returnCode(ERR);
+
+ ripoff_sp->line = line;
+ ripoff_sp->hook = init;
+ ripoff_sp++;
}
- returnCode(code);
+ returnCode(OK);
}
-#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-_nc_ripoffline(int line, int (*init) (WINDOW *, int))
+ripoffline(int line, int (*init) (WINDOW *, int))
{
- return NCURSES_SP_NAME(_nc_ripoffline) (CURRENT_SCREEN_PRE, line, init);
-}
-#endif
+ START_TRACE();
+ T((T_CALLED("ripoffline(%d,%p)"), line, init));
-NCURSES_EXPORT(int)
-NCURSES_SP_NAME(ripoffline) (NCURSES_SP_DCLx
- int line,
- int (*init) (WINDOW *, int))
-{
- return NCURSES_SP_NAME(_nc_ripoffline) (NCURSES_SP_ARGx
- (line < 0) ? -1 : 1,
- init);
-}
+ if (line == 0)
+ returnCode(OK);
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-ripoffline(int line, int (*init) (WINDOW *, int))
-{
- return NCURSES_SP_NAME(ripoffline) (CURRENT_SCREEN_PRE, line, init);
+ returnCode(_nc_ripoffline((line < 0) ? -1 : 1, init));
}
-#endif
diff --git a/ncurses/base/lib_slk.c b/ncurses/base/lib_slk.c
index 84f17ae03705..662f7e45b116 100644
--- a/ncurses/base/lib_slk.c
+++ b/ncurses/base/lib_slk.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -41,94 +41,26 @@
*/
#include <curses.priv.h>
-#include <ctype.h>
-
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-MODULE_ID("$Id: lib_slk.c,v 1.48 2011/03/05 21:21:52 tom Exp $")
+#include <ctype.h>
+#include <term.h> /* num_labels, label_*, plab_norm */
-#ifdef USE_TERM_DRIVER
-#define NumLabels InfoOf(SP_PARM).numlabels
-#define NoColorVideo InfoOf(SP_PARM).nocolorvideo
-#define LabelWidth InfoOf(SP_PARM).labelwidth
-#define LabelHeight InfoOf(SP_PARM).labelheight
-#else
-#define NumLabels num_labels
-#define NoColorVideo no_color_video
-#define LabelWidth label_width
-#define LabelHeight label_height
-#endif
+MODULE_ID("$Id: lib_slk.c,v 1.35 2008/09/27 14:07:33 juergen Exp $")
/*
* Free any memory related to soft labels, return an error.
*/
static int
-slk_failed(NCURSES_SP_DCL0)
+slk_failed(void)
{
- if ((0 != SP_PARM) && SP_PARM->_slk) {
- FreeIfNeeded(SP_PARM->_slk->ent);
- free(SP_PARM->_slk);
- SP_PARM->_slk = (SLK *) 0;
+ if (SP->_slk) {
+ FreeIfNeeded(SP->_slk->ent);
+ free(SP->_slk);
+ SP->_slk = (SLK *) 0;
}
return ERR;
}
-NCURSES_EXPORT(int)
-_nc_format_slks(NCURSES_SP_DCLx int cols)
-{
- int gap, i, x;
- int max_length;
-
- if (!SP_PARM || !SP_PARM->_slk)
- return ERR;
-
- max_length = SP_PARM->_slk->maxlen;
- if (SP_PARM->slk_format >= 3) { /* PC style */
- gap = (cols - 3 * (3 + 4 * max_length)) / 2;
-
- if (gap < 1)
- gap = 1;
-
- for (i = x = 0; i < SP_PARM->_slk->maxlab; i++) {
- SP_PARM->_slk->ent[i].ent_x = x;
- x += max_length;
- x += (i == 3 || i == 7) ? gap : 1;
- }
- } else {
- if (SP_PARM->slk_format == 2) { /* 4-4 */
- gap = cols - (int) (SP_PARM->_slk->maxlab * max_length) - 6;
-
- if (gap < 1)
- gap = 1;
- for (i = x = 0; i < SP_PARM->_slk->maxlab; i++) {
- SP_PARM->_slk->ent[i].ent_x = x;
- x += max_length;
- x += (i == 3) ? gap : 1;
- }
- } else {
- if (SP_PARM->slk_format == 1) { /* 1 -> 3-2-3 */
- gap = (cols - (SP_PARM->_slk->maxlab * max_length) - 5)
- / 2;
-
- if (gap < 1)
- gap = 1;
- for (i = x = 0; i < SP_PARM->_slk->maxlab; i++) {
- SP_PARM->_slk->ent[i].ent_x = x;
- x += max_length;
- x += (i == 2 || i == 4) ? gap : 1;
- }
- } else {
- return slk_failed(NCURSES_SP_ARG);
- }
- }
- }
- SP_PARM->_slk->dirty = TRUE;
-
- return OK;
-}
-
/*
* Initialize soft labels.
* Called from newterm()
@@ -136,90 +68,108 @@ _nc_format_slks(NCURSES_SP_DCLx int cols)
NCURSES_EXPORT(int)
_nc_slk_initialize(WINDOW *stwin, int cols)
{
- int i;
+ int i, x;
int res = OK;
- size_t max_length;
- SCREEN *sp;
- int numlab;
+ unsigned max_length;
T((T_CALLED("_nc_slk_initialize()")));
- assert(stwin);
-
- sp = _nc_screen_of(stwin);
- if (0 == sp)
- returnCode(ERR);
-
- assert(TerminalOf(SP_PARM));
-
- numlab = NumLabels;
-
- if (SP_PARM->_slk) { /* we did this already, so simply return */
+ if (SP->_slk) { /* we did this already, so simply return */
returnCode(OK);
- } else if ((SP_PARM->_slk = typeCalloc(SLK, 1)) == 0)
+ } else if ((SP->_slk = typeCalloc(SLK, 1)) == 0)
returnCode(ERR);
- if (!SP_PARM->slk_format)
- SP_PARM->slk_format = _nc_globals.slk_format;
+ SP->_slk->ent = NULL;
/*
* If we use colors, vidputs() will suppress video attributes that conflict
* with colors. In that case, we're still guaranteed that "reverse" would
* work.
*/
- if ((NoColorVideo & 1) == 0)
- SetAttr(SP_PARM->_slk->attr, A_STANDOUT);
+ if ((no_color_video & 1) == 0)
+ SetAttr(SP->_slk->attr, A_STANDOUT);
else
- SetAttr(SP_PARM->_slk->attr, A_REVERSE);
-
- SP_PARM->_slk->maxlab = (short) ((numlab > 0)
- ? numlab
- : MAX_SKEY(SP_PARM->slk_format));
- SP_PARM->_slk->maxlen = (short) ((numlab > 0)
- ? LabelWidth * LabelHeight
- : MAX_SKEY_LEN(SP_PARM->slk_format));
- SP_PARM->_slk->labcnt = (short) ((SP_PARM->_slk->maxlab < MAX_SKEY(SP_PARM->slk_format))
- ? MAX_SKEY(SP_PARM->slk_format)
- : SP_PARM->_slk->maxlab);
-
- if (SP_PARM->_slk->maxlen <= 0
- || SP_PARM->_slk->labcnt <= 0
- || (SP_PARM->_slk->ent = typeCalloc(slk_ent,
- (size_t) SP_PARM->_slk->labcnt))
- == NULL)
- returnCode(slk_failed(NCURSES_SP_ARG));
-
- max_length = (size_t) SP_PARM->_slk->maxlen;
- for (i = 0; i < SP_PARM->_slk->labcnt; i++) {
+ SetAttr(SP->_slk->attr, A_REVERSE);
+
+ SP->_slk->maxlab = ((num_labels > 0)
+ ? num_labels
+ : MAX_SKEY(_nc_globals.slk_format));
+ SP->_slk->maxlen = ((num_labels > 0)
+ ? label_width * label_height
+ : MAX_SKEY_LEN(_nc_globals.slk_format));
+ SP->_slk->labcnt = ((SP->_slk->maxlab < MAX_SKEY(_nc_globals.slk_format))
+ ? MAX_SKEY(_nc_globals.slk_format)
+ : SP->_slk->maxlab);
+
+ if (SP->_slk->maxlen <= 0
+ || SP->_slk->labcnt <= 0
+ || (SP->_slk->ent = typeCalloc(slk_ent,
+ (unsigned) SP->_slk->labcnt)) == NULL)
+ returnCode(slk_failed());
+
+ max_length = SP->_slk->maxlen;
+ for (i = 0; i < SP->_slk->labcnt; i++) {
size_t used = max_length + 1;
- SP_PARM->_slk->ent[i].ent_text = (char *) _nc_doalloc(0, used);
- if (SP_PARM->_slk->ent[i].ent_text == 0)
- returnCode(slk_failed(NCURSES_SP_ARG));
- memset(SP_PARM->_slk->ent[i].ent_text, 0, used);
+ if ((SP->_slk->ent[i].ent_text = (char *) _nc_doalloc(0, used)) == 0)
+ returnCode(slk_failed());
+ memset(SP->_slk->ent[i].ent_text, 0, used);
- SP_PARM->_slk->ent[i].form_text = (char *) _nc_doalloc(0, used);
- if (SP_PARM->_slk->ent[i].form_text == 0)
- returnCode(slk_failed(NCURSES_SP_ARG));
+ if ((SP->_slk->ent[i].form_text = (char *) _nc_doalloc(0, used)) == 0)
+ returnCode(slk_failed());
+ memset(SP->_slk->ent[i].form_text, 0, used);
- if (used > 1) {
- memset(SP_PARM->_slk->ent[i].form_text, ' ', used - 1);
- }
- SP_PARM->_slk->ent[i].form_text[used - 1] = '\0';
-
- SP_PARM->_slk->ent[i].visible = (char) (i < SP_PARM->_slk->maxlab);
+ memset(SP->_slk->ent[i].form_text, ' ', max_length);
+ SP->_slk->ent[i].visible = (char) (i < SP->_slk->maxlab);
}
+ if (_nc_globals.slk_format >= 3) { /* PC style */
+ int gap = (cols - 3 * (3 + 4 * max_length)) / 2;
+
+ if (gap < 1)
+ gap = 1;
- res = _nc_format_slks(NCURSES_SP_ARGx cols);
+ for (i = x = 0; i < SP->_slk->maxlab; i++) {
+ SP->_slk->ent[i].ent_x = x;
+ x += max_length;
+ x += (i == 3 || i == 7) ? gap : 1;
+ }
+ } else {
+ if (_nc_globals.slk_format == 2) { /* 4-4 */
+ int gap = cols - (SP->_slk->maxlab * max_length) - 6;
- if ((SP_PARM->_slk->win = stwin) == NULL) {
- returnCode(slk_failed(NCURSES_SP_ARG));
+ if (gap < 1)
+ gap = 1;
+ for (i = x = 0; i < SP->_slk->maxlab; i++) {
+ SP->_slk->ent[i].ent_x = x;
+ x += max_length;
+ x += (i == 3) ? gap : 1;
+ }
+ } else {
+ if (_nc_globals.slk_format == 1) { /* 1 -> 3-2-3 */
+ int gap = (cols - (SP->_slk->maxlab * max_length) - 5)
+ / 2;
+
+ if (gap < 1)
+ gap = 1;
+ for (i = x = 0; i < SP->_slk->maxlab; i++) {
+ SP->_slk->ent[i].ent_x = x;
+ x += max_length;
+ x += (i == 2 || i == 4) ? gap : 1;
+ }
+ } else
+ returnCode(slk_failed());
+ }
+ }
+ SP->_slk->dirty = TRUE;
+ if ((SP->_slk->win = stwin) == NULL) {
+ returnCode(slk_failed());
}
/* We now reset the format so that the next newterm has again
* per default no SLK keys and may call slk_init again to
* define a new layout. (juergen 03-Mar-1999)
*/
+ SP->slk_format = _nc_globals.slk_format;
_nc_globals.slk_format = 0;
returnCode(res);
}
@@ -228,24 +178,14 @@ _nc_slk_initialize(WINDOW *stwin, int cols)
* Restore the soft labels on the screen.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_restore) (NCURSES_SP_DCL0)
+slk_restore(void)
{
- T((T_CALLED("slk_restore(%p)"), (void *) SP_PARM));
-
- if (0 == SP_PARM)
- returnCode(ERR);
- if (SP_PARM->_slk == NULL)
- returnCode(ERR);
- SP_PARM->_slk->hidden = FALSE;
- SP_PARM->_slk->dirty = TRUE;
+ T((T_CALLED("slk_restore()")));
- returnCode(NCURSES_SP_NAME(slk_refresh) (NCURSES_SP_ARG));
-}
+ if (SP->_slk == NULL)
+ return (ERR);
+ SP->_slk->hidden = FALSE;
+ SP->_slk->dirty = TRUE;
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_restore(void)
-{
- return NCURSES_SP_NAME(slk_restore) (CURRENT_SCREEN);
+ returnCode(slk_refresh());
}
-#endif
diff --git a/ncurses/base/lib_slkatr_set.c b/ncurses/base/lib_slkatr_set.c
index bd5f539672a7..f83616beaf17 100644
--- a/ncurses/base/lib_slkatr_set.c
+++ b/ncurses/base/lib_slkatr_set.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,7 +28,7 @@
/****************************************************************************
* Author: Juergen Pfeifer, 1998 *
- * and: Thomas E. Dickey 2005-on *
+ * and: Thomas E. Dickey 2005 *
****************************************************************************/
/*
@@ -38,42 +38,22 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkatr_set.c,v 1.14 2009/10/24 22:47:03 tom Exp $")
+MODULE_ID("$Id: lib_slkatr_set.c,v 1.10 2005/01/28 21:11:53 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_attr_set) (NCURSES_SP_DCLx
- const attr_t attr,
- short color_pair_number,
- void *opts)
+slk_attr_set(const attr_t attr, short color_pair_number, void *opts)
{
- int code = ERR;
-
- T((T_CALLED("slk_attr_set(%p,%s,%d)"),
- (void *) SP_PARM,
- _traceattr(attr),
- color_pair_number));
+ T((T_CALLED("slk_attr_set(%s,%d)"), _traceattr(attr), color_pair_number));
- if (SP_PARM != 0
- && SP_PARM->_slk != 0
- && !opts
- && color_pair_number >= 0
- && color_pair_number < SP_PARM->_pair_limit) {
- TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- SetAttr(SP_PARM->_slk->attr, attr);
+ if (SP != 0 && SP->_slk != 0 && !opts &&
+ color_pair_number >= 0 && color_pair_number < COLOR_PAIRS) {
+ TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP->_slk->attr))));
+ SetAttr(SP->_slk->attr, attr);
if (color_pair_number > 0) {
- SetPair(SP_PARM->_slk->attr, color_pair_number);
+ SetPair(SP->_slk->attr, color_pair_number);
}
- TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- code = OK;
- }
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_attr_set(const attr_t attr, short color_pair_number, void *opts)
-{
- return NCURSES_SP_NAME(slk_attr_set) (CURRENT_SCREEN, attr,
- color_pair_number, opts);
+ TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr))));
+ returnCode(OK);
+ } else
+ returnCode(ERR);
}
-#endif
diff --git a/ncurses/base/lib_slkatrof.c b/ncurses/base/lib_slkatrof.c
index bb980ab812cf..14b4c3bfadcc 100644
--- a/ncurses/base/lib_slkatrof.c
+++ b/ncurses/base/lib_slkatrof.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -38,29 +38,21 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkatrof.c,v 1.11 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_slkatrof.c,v 1.8 2005/01/08 23:01:32 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_attroff) (NCURSES_SP_DCLx const chtype attr)
+slk_attroff(const chtype attr)
{
- T((T_CALLED("slk_attroff(%p,%s)"), (void *) SP_PARM, _traceattr(attr)));
+ T((T_CALLED("slk_attroff(%s)"), _traceattr(attr)));
- if (SP_PARM != 0 && SP_PARM->_slk != 0) {
- TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- RemAttr(SP_PARM->_slk->attr, attr);
+ if (SP != 0 && SP->_slk != 0) {
+ TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP->_slk->attr))));
+ RemAttr(SP->_slk->attr, attr);
if ((attr & A_COLOR) != 0) {
- SetPair(SP_PARM->_slk->attr, 0);
+ SetPair(SP->_slk->attr, 0);
}
- TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
+ TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr))));
returnCode(OK);
} else
returnCode(ERR);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_attroff(const chtype attr)
-{
- return NCURSES_SP_NAME(slk_attroff) (CURRENT_SCREEN, attr);
-}
-#endif
diff --git a/ncurses/base/lib_slkatron.c b/ncurses/base/lib_slkatron.c
index bc2fb3308eea..90add86dc1c8 100644
--- a/ncurses/base/lib_slkatron.c
+++ b/ncurses/base/lib_slkatron.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -38,29 +38,21 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkatron.c,v 1.12 2010/03/31 23:38:02 tom Exp $")
+MODULE_ID("$Id: lib_slkatron.c,v 1.8 2005/01/08 23:02:01 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_attron) (NCURSES_SP_DCLx const chtype attr)
+slk_attron(const chtype attr)
{
- T((T_CALLED("slk_attron(%p,%s)"), (void *) SP_PARM, _traceattr(attr)));
+ T((T_CALLED("slk_attron(%s)"), _traceattr(attr)));
- if (SP_PARM != 0 && SP_PARM->_slk != 0) {
- TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- AddAttr(SP_PARM->_slk->attr, attr);
+ if (SP != 0 && SP->_slk != 0) {
+ TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP->_slk->attr))));
+ AddAttr(SP->_slk->attr, attr);
if ((attr & A_COLOR) != 0) {
- SetPair(SP_PARM->_slk->attr, PairNumber(attr));
+ SetPair(SP->_slk->attr, PAIR_NUMBER(attr));
}
- TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
+ TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr))));
returnCode(OK);
} else
returnCode(ERR);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_attron(const chtype attr)
-{
- return NCURSES_SP_NAME(slk_attron) (CURRENT_SCREEN, attr);
-}
-#endif
diff --git a/ncurses/base/lib_slkatrset.c b/ncurses/base/lib_slkatrset.c
index 544b8d0faab7..8da9981b3b3e 100644
--- a/ncurses/base/lib_slkatrset.c
+++ b/ncurses/base/lib_slkatrset.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -38,24 +38,16 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkatrset.c,v 1.10 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_slkatrset.c,v 1.7 2005/01/08 21:46:47 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_attrset) (NCURSES_SP_DCLx const chtype attr)
+slk_attrset(const chtype attr)
{
- T((T_CALLED("slk_attrset(%p,%s)"), (void *) SP_PARM, _traceattr(attr)));
+ T((T_CALLED("slk_attrset(%s)"), _traceattr(attr)));
- if (SP_PARM != 0 && SP_PARM->_slk != 0) {
- SetAttr(SP_PARM->_slk->attr, attr);
+ if (SP != 0 && SP->_slk != 0) {
+ SetAttr(SP->_slk->attr, attr);
returnCode(OK);
} else
returnCode(ERR);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_attrset(const chtype attr)
-{
- return NCURSES_SP_NAME(slk_attrset) (CURRENT_SCREEN, attr);
-}
-#endif
diff --git a/ncurses/base/lib_slkattr.c b/ncurses/base/lib_slkattr.c
index bec11e84c667..da82ee5b623e 100644
--- a/ncurses/base/lib_slkattr.c
+++ b/ncurses/base/lib_slkattr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -38,27 +38,19 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkattr.c,v 1.11 2010/12/20 01:41:25 tom Exp $")
+MODULE_ID("$Id: lib_slkattr.c,v 1.6 2005/01/08 21:44:28 tom Exp $")
NCURSES_EXPORT(attr_t)
-NCURSES_SP_NAME(slk_attr) (NCURSES_SP_DCL0)
+slk_attr(void)
{
- T((T_CALLED("slk_attr(%p)"), (void *) SP_PARM));
+ T((T_CALLED("slk_attr()")));
- if (SP_PARM != 0 && SP_PARM->_slk != 0) {
- attr_t result = AttrOf(SP_PARM->_slk->attr) & ALL_BUT_COLOR;
- int pair = GetPair(SP_PARM->_slk->attr);
+ if (SP != 0 && SP->_slk != 0) {
+ attr_t result = AttrOf(SP->_slk->attr) & ALL_BUT_COLOR;
+ int pair = GetPair(SP->_slk->attr);
- result |= (attr_t) ColorPair(pair);
+ result |= COLOR_PAIR(pair);
returnAttr(result);
} else
returnAttr(0);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(attr_t)
-slk_attr(void)
-{
- return NCURSES_SP_NAME(slk_attr) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/base/lib_slkclear.c b/ncurses/base/lib_slkclear.c
index 264c8c40812c..946ceeaf0e0d 100644
--- a/ncurses/base/lib_slkclear.c
+++ b/ncurses/base/lib_slkclear.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,35 +40,27 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkclear.c,v 1.14 2009/11/07 16:27:05 tom Exp $")
+MODULE_ID("$Id: lib_slkclear.c,v 1.10 2007/12/29 17:51:47 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_clear) (NCURSES_SP_DCL0)
+slk_clear(void)
{
int rc = ERR;
- T((T_CALLED("slk_clear(%p)"), (void *) SP_PARM));
+ T((T_CALLED("slk_clear()")));
- if (SP_PARM != 0 && SP_PARM->_slk != 0) {
- SP_PARM->_slk->hidden = TRUE;
+ if (SP != NULL && SP->_slk != NULL) {
+ SP->_slk->hidden = TRUE;
/* For simulated SLK's it looks much more natural to
inherit those attributes from the standard screen */
- SP_PARM->_slk->win->_nc_bkgd = StdScreen(SP_PARM)->_nc_bkgd;
- WINDOW_ATTRS(SP_PARM->_slk->win) = WINDOW_ATTRS(StdScreen(SP_PARM));
- if (SP_PARM->_slk->win == StdScreen(SP_PARM)) {
+ SP->_slk->win->_nc_bkgd = stdscr->_nc_bkgd;
+ WINDOW_ATTRS(SP->_slk->win) = WINDOW_ATTRS(stdscr);
+ if (SP->_slk->win == stdscr) {
rc = OK;
} else {
- werase(SP_PARM->_slk->win);
- rc = wrefresh(SP_PARM->_slk->win);
+ werase(SP->_slk->win);
+ rc = wrefresh(SP->_slk->win);
}
}
returnCode(rc);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_clear(void)
-{
- return NCURSES_SP_NAME(slk_clear) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/base/lib_slkcolor.c b/ncurses/base/lib_slkcolor.c
index c1211bcb884a..b677b65a529a 100644
--- a/ncurses/base/lib_slkcolor.c
+++ b/ncurses/base/lib_slkcolor.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,8 +27,8 @@
****************************************************************************/
/****************************************************************************
- * Author: Juergen Pfeifer, 1998,2009 *
- * and: Thomas E. Dickey 2005-on *
+ * Author: Juergen Pfeifer, 1998 *
+ * and: Thomas E. Dickey 2005 *
****************************************************************************/
/*
@@ -38,31 +38,19 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkcolor.c,v 1.16 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_slkcolor.c,v 1.12 2005/01/28 21:11:53 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_color) (NCURSES_SP_DCLx short color_pair_number)
-{
- int code = ERR;
-
- T((T_CALLED("slk_color(%p,%d)"), (void *) SP_PARM, color_pair_number));
-
- if (SP_PARM != 0
- && SP_PARM->_slk != 0
- && color_pair_number >= 0
- && color_pair_number < SP_PARM->_pair_limit) {
- TR(TRACE_ATTRS, ("... current is %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- SetPair(SP_PARM->_slk->attr, color_pair_number);
- TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP_PARM->_slk->attr))));
- code = OK;
- }
- returnCode(code);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
slk_color(short color_pair_number)
{
- return NCURSES_SP_NAME(slk_color) (CURRENT_SCREEN, color_pair_number);
+ T((T_CALLED("slk_color(%d)"), color_pair_number));
+
+ if (SP != 0 && SP->_slk != 0 &&
+ color_pair_number >= 0 && color_pair_number < COLOR_PAIRS) {
+ TR(TRACE_ATTRS, ("... current is %s", _tracech_t(CHREF(SP->_slk->attr))));
+ SetPair(SP->_slk->attr, color_pair_number);
+ TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr))));
+ returnCode(OK);
+ } else
+ returnCode(ERR);
}
-#endif
diff --git a/ncurses/base/lib_slkinit.c b/ncurses/base/lib_slkinit.c
index 9cbdfea98430..c440109b34e6 100644
--- a/ncurses/base/lib_slkinit.c
+++ b/ncurses/base/lib_slkinit.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -40,41 +39,17 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkinit.c,v 1.13 2009/10/31 00:10:46 tom Exp $")
-
-#ifdef USE_SP_RIPOFF
-#define SoftkeyFormat SP_PARM->slk_format
-#else
-#define SoftkeyFormat _nc_globals.slk_format
-#endif
+MODULE_ID("$Id: lib_slkinit.c,v 1.7 2008/01/12 20:23:39 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_init) (NCURSES_SP_DCLx int format)
+slk_init(int format)
{
int code = ERR;
- START_TRACE();
- T((T_CALLED("slk_init(%p,%d)"), (void *) SP_PARM, format));
-
- if (format >= 0
- && format <= 3
-#ifdef USE_SP_RIPOFF
- && SP_PARM
- && SP_PARM->_prescreen
-#endif
- && !SoftkeyFormat) {
- SoftkeyFormat = 1 + format;
- code = NCURSES_SP_NAME(_nc_ripoffline) (NCURSES_SP_ARGx
- -SLK_LINES(SoftkeyFormat),
- _nc_slk_initialize);
+ T((T_CALLED("slk_init(%d)"), format));
+ if (format >= 0 && format <= 3 && !_nc_globals.slk_format) {
+ _nc_globals.slk_format = 1 + format;
+ code = _nc_ripoffline(-SLK_LINES(_nc_globals.slk_format), _nc_slk_initialize);
}
returnCode(code);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_init(int format)
-{
- return NCURSES_SP_NAME(slk_init) (CURRENT_SCREEN_PRE, format);
-}
-#endif
diff --git a/ncurses/base/lib_slklab.c b/ncurses/base/lib_slklab.c
index d0b2a230796a..42bb4ac1425d 100644
--- a/ncurses/base/lib_slklab.c
+++ b/ncurses/base/lib_slklab.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,8 +29,6 @@
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
- * and: Juergen Pfeifer, 1998,2009 *
- * and: Thomas E. Dickey 1998-on *
****************************************************************************/
/*
@@ -40,22 +38,14 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slklab.c,v 1.10 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_slklab.c,v 1.7 2003/03/29 22:53:48 tom Exp $")
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(slk_label) (NCURSES_SP_DCLx int n)
+slk_label(int n)
{
- T((T_CALLED("slk_label(%p,%d)"), (void *) SP_PARM, n));
+ T((T_CALLED("slk_label(%d)"), n));
- if (SP_PARM == 0 || SP_PARM->_slk == 0 || n < 1 || n > SP_PARM->_slk->labcnt)
+ if (SP == NULL || SP->_slk == NULL || n < 1 || n > SP->_slk->labcnt)
returnPtr(0);
- returnPtr(SP_PARM->_slk->ent[n - 1].ent_text);
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char *)
-slk_label(int n)
-{
- return NCURSES_SP_NAME(slk_label) (CURRENT_SCREEN, n);
+ returnPtr(SP->_slk->ent[n - 1].ent_text);
}
-#endif
diff --git a/ncurses/base/lib_slkrefr.c b/ncurses/base/lib_slkrefr.c
index b06bf8d7f802..cb1beba0e2a1 100644
--- a/ncurses/base/lib_slkrefr.c
+++ b/ncurses/base/lib_slkrefr.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -38,18 +38,9 @@
* Write SLK window to the (virtual) screen.
*/
#include <curses.priv.h>
+#include <term.h> /* num_labels, label_*, plab_norm */
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
-
-MODULE_ID("$Id: lib_slkrefr.c,v 1.26 2010/05/01 19:17:28 tom Exp $")
-
-#ifdef USE_TERM_DRIVER
-#define NumLabels InfoOf(SP_PARM).numlabels
-#else
-#define NumLabels num_labels
-#endif
+MODULE_ID("$Id: lib_slkrefr.c,v 1.17 2008/09/27 14:07:53 juergen Exp $")
/*
* Paint the info line for the PC style SLK emulation.
@@ -62,7 +53,7 @@ slk_paint_info(WINDOW *win)
if (win && sp && (sp->slk_format == 4)) {
int i;
- (void) mvwhline(win, 0, 0, 0, getmaxx(win));
+ mvwhline(win, 0, 0, 0, getmaxx(win));
wmove(win, 0, 0);
for (i = 0; i < sp->_slk->maxlab; i++) {
@@ -75,47 +66,31 @@ slk_paint_info(WINDOW *win)
* Write the soft labels to the soft-key window.
*/
static void
-slk_intern_refresh(SCREEN *sp)
+slk_intern_refresh(SLK * slk)
{
int i;
- int fmt;
- SLK *slk;
- int numlab;
-
- if (sp == 0)
- return;
-
- slk = sp->_slk;
- fmt = sp->slk_format;
- numlab = NumLabels;
-
- if (slk->hidden)
- return;
+ int fmt = SP->slk_format;
for (i = 0; i < slk->labcnt; i++) {
if (slk->dirty || slk->ent[i].dirty) {
if (slk->ent[i].visible) {
- if (numlab > 0 && SLK_STDFMT(fmt)) {
-#ifdef USE_TERM_DRIVER
- CallDriver_2(sp, hwlabel, i + 1, slk->ent[i].form_text);
-#else
+ if (num_labels > 0 && SLK_STDFMT(fmt)) {
if (i < num_labels) {
TPUTS_TRACE("plab_norm");
putp(TPARM_2(plab_norm, i + 1, slk->ent[i].form_text));
}
-#endif
} else {
if (fmt == 4)
slk_paint_info(slk->win);
wmove(slk->win, SLK_LINES(fmt) - 1, slk->ent[i].ent_x);
- if (sp->_slk) {
- (void) wattrset(slk->win, AttrOf(sp->_slk->attr));
+ if (SP->_slk) {
+ wattrset(slk->win, AttrOf(SP->_slk->attr));
}
waddstr(slk->win, slk->ent[i].form_text);
/* if we simulate SLK's, it's looking much more
natural to use the current ATTRIBUTE also
for the label window */
- (void) wattrset(slk->win, WINDOW_ATTRS(StdScreen(sp)));
+ wattrset(slk->win, WINDOW_ATTRS(stdscr));
}
}
slk->ent[i].dirty = FALSE;
@@ -123,10 +98,7 @@ slk_intern_refresh(SCREEN *sp)
}
slk->dirty = FALSE;
- if (numlab > 0) {
-#ifdef USE_TERM_DRIVER
- CallDriver_1(sp, hwlabelOnOff, slk->hidden ? FALSE : TRUE);
-#else
+ if (num_labels > 0) {
if (slk->hidden) {
TPUTS_TRACE("label_off");
putp(label_off);
@@ -134,7 +106,6 @@ slk_intern_refresh(SCREEN *sp)
TPUTS_TRACE("label_on");
putp(label_on);
}
-#endif
}
}
@@ -142,48 +113,32 @@ slk_intern_refresh(SCREEN *sp)
* Refresh the soft labels.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_noutrefresh) (NCURSES_SP_DCL0)
+slk_noutrefresh(void)
{
- T((T_CALLED("slk_noutrefresh(%p)"), (void *) SP_PARM));
+ T((T_CALLED("slk_noutrefresh()")));
- if (SP_PARM == 0 || SP_PARM->_slk == 0)
+ if (SP == NULL || SP->_slk == NULL)
returnCode(ERR);
- if (SP_PARM->_slk->hidden)
+ if (SP->_slk->hidden)
returnCode(OK);
- slk_intern_refresh(SP_PARM);
+ slk_intern_refresh(SP->_slk);
- returnCode(wnoutrefresh(SP_PARM->_slk->win));
+ returnCode(wnoutrefresh(SP->_slk->win));
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_noutrefresh(void)
-{
- return NCURSES_SP_NAME(slk_noutrefresh) (CURRENT_SCREEN);
-}
-#endif
-
/*
* Refresh the soft labels.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_refresh) (NCURSES_SP_DCL0)
+slk_refresh(void)
{
- T((T_CALLED("slk_refresh(%p)"), (void *) SP_PARM));
+ T((T_CALLED("slk_refresh()")));
- if (SP_PARM == 0 || SP_PARM->_slk == 0)
+ if (SP == NULL || SP->_slk == NULL)
returnCode(ERR);
- if (SP_PARM->_slk->hidden)
+ if (SP->_slk->hidden)
returnCode(OK);
- slk_intern_refresh(SP_PARM);
-
- returnCode(wrefresh(SP_PARM->_slk->win));
-}
+ slk_intern_refresh(SP->_slk);
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_refresh(void)
-{
- return NCURSES_SP_NAME(slk_refresh) (CURRENT_SCREEN);
+ returnCode(wrefresh(SP->_slk->win));
}
-#endif
diff --git a/ncurses/base/lib_slkset.c b/ncurses/base/lib_slkset.c
index 91483f103b23..e19f88e60ac4 100644
--- a/ncurses/base/lib_slkset.c
+++ b/ncurses/base/lib_slkset.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -44,10 +44,10 @@
#endif
#endif
-MODULE_ID("$Id: lib_slkset.c,v 1.21 2010/12/25 23:43:58 tom Exp $")
+MODULE_ID("$Id: lib_slkset.c,v 1.17 2007/10/13 20:08:46 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format)
+slk_set(int i, const char *astr, int format)
{
SLK *slk;
int offset;
@@ -57,20 +57,20 @@ NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format)
const char *str = astr;
const char *p;
- T((T_CALLED("slk_set(%p, %d, \"%s\", %d)"), (void *) SP_PARM, i, str, format));
+ T((T_CALLED("slk_set(%d, \"%s\", %d)"), i, str, format));
- if (SP_PARM == 0
- || (slk = SP_PARM->_slk) == 0
+ if (SP == 0
+ || (slk = SP->_slk) == 0
|| i < 1
|| i > slk->labcnt
|| format < 0
|| format > 2)
returnCode(ERR);
- if (str == 0)
+ if (str == NULL)
str = "";
--i; /* Adjust numbering of labels */
- limit = MAX_SKEY_LEN(SP_PARM->slk_format);
+ limit = MAX_SKEY_LEN(SP->slk_format);
while (isspace(UChar(*str)))
str++; /* skip over leading spaces */
p = str;
@@ -94,12 +94,12 @@ NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format)
numcols += wcwidth(wc);
p += need;
}
- numchrs = (int) (p - str);
+ numchrs = (p - str);
#else
while (isprint(UChar(*p)))
p++; /* The first non-print stops */
- numcols = (int) (p - str);
+ numcols = (p - str);
if (numcols > limit)
numcols = limit;
numchrs = numcols;
@@ -147,11 +147,3 @@ NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format)
slk->ent[i].dirty = TRUE;
returnCode(OK);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_set(int i, const char *astr, int format)
-{
- return NCURSES_SP_NAME(slk_set) (CURRENT_SCREEN, i, astr, format);
-}
-#endif
diff --git a/ncurses/base/lib_slktouch.c b/ncurses/base/lib_slktouch.c
index ba77fd2375b7..5eb5df385b82 100644
--- a/ncurses/base/lib_slktouch.c
+++ b/ncurses/base/lib_slktouch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,8 +27,8 @@
****************************************************************************/
/****************************************************************************
- * Author: Juergen Pfeifer 1997,2009 *
- * and: Thomas E. Dickey 1996-on *
+ * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
/*
@@ -38,24 +38,16 @@
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slktouch.c,v 1.8 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_slktouch.c,v 1.5 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(slk_touch) (NCURSES_SP_DCL0)
+slk_touch(void)
{
- T((T_CALLED("slk_touch(%p)"), (void *) SP_PARM));
+ T((T_CALLED("slk_touch()")));
- if (SP_PARM == 0 || SP_PARM->_slk == 0)
+ if (SP == NULL || SP->_slk == NULL)
returnCode(ERR);
- SP_PARM->_slk->dirty = TRUE;
+ SP->_slk->dirty = TRUE;
returnCode(OK);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-slk_touch(void)
-{
- return NCURSES_SP_NAME(slk_touch) (CURRENT_SCREEN);
-}
-#endif
diff --git a/ncurses/base/lib_touch.c b/ncurses/base/lib_touch.c
index 8023c7058027..2ac21f2e0d1f 100644
--- a/ncurses/base/lib_touch.c
+++ b/ncurses/base/lib_touch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -43,12 +43,12 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_touch.c,v 1.11 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_touch.c,v 1.9 2000/12/10 02:43:27 tom Exp $")
NCURSES_EXPORT(bool)
is_linetouched(WINDOW *win, int line)
{
- T((T_CALLED("is_linetouched(%p,%d)"), (void *) win, line));
+ T((T_CALLED("is_linetouched(%p,%d)"), win, line));
/* XSI doesn't define any error */
if (!win || (line > win->_maxy) || (line < 0))
@@ -62,7 +62,7 @@ is_wintouched(WINDOW *win)
{
int i;
- T((T_CALLED("is_wintouched(%p)"), (void *) win));
+ T((T_CALLED("is_wintouched(%p)"), win));
if (win)
for (i = 0; i <= win->_maxy; i++)
@@ -76,7 +76,7 @@ wtouchln(WINDOW *win, int y, int n, int changed)
{
int i;
- T((T_CALLED("wtouchln(%p,%d,%d,%d)"), (void *) win, y, n, changed));
+ T((T_CALLED("wtouchln(%p,%d,%d,%d)"), win, y, n, changed));
if (!win || (n < 0) || (y < 0) || (y > win->_maxy))
returnCode(ERR);
@@ -85,9 +85,7 @@ wtouchln(WINDOW *win, int y, int n, int changed)
if (i > win->_maxy)
break;
win->_line[i].firstchar = changed ? 0 : _NOCHANGE;
- win->_line[i].lastchar = (NCURSES_SIZE_T) (changed
- ? win->_maxx
- : _NOCHANGE);
+ win->_line[i].lastchar = changed ? win->_maxx : _NOCHANGE;
}
returnCode(OK);
}
diff --git a/ncurses/base/lib_ungetch.c b/ncurses/base/lib_ungetch.c
index 63a14cff7594..8742f867fa94 100644
--- a/ncurses/base/lib_ungetch.c
+++ b/ncurses/base/lib_ungetch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -30,7 +30,6 @@
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer 2009 *
****************************************************************************/
/*
@@ -42,7 +41,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_ungetch.c,v 1.14 2009/10/24 22:12:21 tom Exp $")
+MODULE_ID("$Id: lib_ungetch.c,v 1.11 2008/05/31 16:44:54 tom Exp $")
#include <fifo_defs.h>
@@ -58,12 +57,10 @@ _nc_fifo_dump(SCREEN *sp)
#endif /* TRACE */
NCURSES_EXPORT(int)
-safe_ungetch(SCREEN *sp, int ch)
+_nc_ungetch(SCREEN *sp, int ch)
{
int rc = ERR;
- T((T_CALLED("ungetch(%p,%s)"), (void *) sp, _nc_tracechar(sp, ch)));
-
if (tail != -1) {
if (head == -1) {
head = 0;
@@ -82,11 +79,12 @@ safe_ungetch(SCREEN *sp, int ch)
#endif
rc = OK;
}
- returnCode(rc);
+ return rc;
}
NCURSES_EXPORT(int)
ungetch(int ch)
{
- return safe_ungetch(CURRENT_SCREEN, ch);
+ T((T_CALLED("ungetch(%s)"), _nc_tracechar(SP, ch)));
+ returnCode(_nc_ungetch(SP, ch));
}
diff --git a/ncurses/base/lib_vline.c b/ncurses/base/lib_vline.c
index 2f3148eca77c..1a2537e7eb6a 100644
--- a/ncurses/base/lib_vline.c
+++ b/ncurses/base/lib_vline.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -40,16 +40,16 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_vline.c,v 1.12 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_vline.c,v 1.10 2006/03/11 21:52:19 tom Exp $")
NCURSES_EXPORT(int)
wvline(WINDOW *win, chtype ch, int n)
{
int code = ERR;
- int row, col;
- int end;
+ NCURSES_SIZE_T row, col;
+ NCURSES_SIZE_T end;
- T((T_CALLED("wvline(%p,%s,%d)"), (void *) win, _tracechtype(ch), n));
+ T((T_CALLED("wvline(%p,%s,%d)"), win, _tracechtype(ch), n));
if (win) {
NCURSES_CH_T wch;
diff --git a/ncurses/base/lib_wattroff.c b/ncurses/base/lib_wattroff.c
index fff0b395f1d8..bf2020e06027 100644
--- a/ncurses/base/lib_wattroff.c
+++ b/ncurses/base/lib_wattroff.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -42,12 +42,12 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_wattroff.c,v 1.10 2009/10/24 22:36:08 tom Exp $")
+MODULE_ID("$Id: lib_wattroff.c,v 1.9 2006/05/27 19:30:33 tom Exp $")
NCURSES_EXPORT(int)
wattr_off(WINDOW *win, attr_t at, void *opts GCC_UNUSED)
{
- T((T_CALLED("wattr_off(%p,%s)"), (void *) win, _traceattr(at)));
+ T((T_CALLED("wattr_off(%p,%s)"), win, _traceattr(at)));
if (win) {
T(("... current %s (%d)",
_traceattr(WINDOW_ATTRS(win)),
diff --git a/ncurses/base/lib_wattron.c b/ncurses/base/lib_wattron.c
index 3806285e2a38..2e17d965e94a 100644
--- a/ncurses/base/lib_wattron.c
+++ b/ncurses/base/lib_wattron.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -42,12 +42,12 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_wattron.c,v 1.11 2010/03/31 23:38:02 tom Exp $")
+MODULE_ID("$Id: lib_wattron.c,v 1.9 2006/05/27 19:30:46 tom Exp $")
NCURSES_EXPORT(int)
wattr_on(WINDOW *win, attr_t at, void *opts GCC_UNUSED)
{
- T((T_CALLED("wattr_on(%p,%s)"), (void *) win, _traceattr(at)));
+ T((T_CALLED("wattr_on(%p,%s)"), win, _traceattr(at)));
if (win != 0) {
T(("... current %s (%d)",
_traceattr(WINDOW_ATTRS(win)),
@@ -55,7 +55,7 @@ wattr_on(WINDOW *win, attr_t at, void *opts GCC_UNUSED)
if_EXT_COLORS({
if (at & A_COLOR)
- win->_color = PairNumber(at);
+ win->_color = PAIR_NUMBER(at);
});
toggle_attr_on(WINDOW_ATTRS(win), at);
returnCode(OK);
diff --git a/ncurses/base/lib_winch.c b/ncurses/base/lib_winch.c
index 7e75f85bf390..18da9c594945 100644
--- a/ncurses/base/lib_winch.c
+++ b/ncurses/base/lib_winch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -39,16 +39,16 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_winch.c,v 1.8 2010/12/19 01:22:58 tom Exp $")
+MODULE_ID("$Id: lib_winch.c,v 1.5 2001/06/02 23:42:08 skimo Exp $")
NCURSES_EXPORT(chtype)
winch(WINDOW *win)
{
- T((T_CALLED("winch(%p)"), (void *) win));
+ T((T_CALLED("winch(%p)"), win));
if (win != 0) {
- returnChtype((chtype) CharOf(win->_line[win->_cury].text[win->_curx])
- | AttrOf(win->_line[win->_cury].text[win->_curx]));
+ returnChar(CharOf(win->_line[win->_cury].text[win->_curx]) |
+ AttrOf(win->_line[win->_cury].text[win->_curx]));
} else {
- returnChtype(0);
+ returnChar(0);
}
}
diff --git a/ncurses/base/lib_window.c b/ncurses/base/lib_window.c
index 4baa36943c44..a3236e206a37 100644
--- a/ncurses/base/lib_window.c
+++ b/ncurses/base/lib_window.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -39,7 +39,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_window.c,v 1.29 2010/12/19 01:47:22 tom Exp $")
+MODULE_ID("$Id: lib_window.c,v 1.25 2008/06/07 14:12:56 tom Exp $")
NCURSES_EXPORT(void)
_nc_synchook(WINDOW *win)
@@ -57,30 +57,32 @@ mvderwin(WINDOW *win, int y, int x)
{
WINDOW *orig;
int i;
- int rc = ERR;
- T((T_CALLED("mvderwin(%p,%d,%d)"), (void *) win, y, x));
+ T((T_CALLED("mvderwin(%p,%d,%d)"), win, y, x));
- if (win != 0
- && (orig = win->_parent) != 0
- && (x >= 0 && y >= 0)
- && (x + getmaxx(win) <= getmaxx(orig))
- && (y + getmaxy(win) <= getmaxy(orig))) {
- wsyncup(win);
- win->_parx = x;
- win->_pary = y;
- for (i = 0; i < getmaxy(win); i++)
- win->_line[i].text = &(orig->_line[y++].text[x]);
- rc = OK;
- }
- returnCode(rc);
+ if (win && (orig = win->_parent)) {
+ if (win->_parx == x && win->_pary == y)
+ returnCode(OK);
+ if (x < 0 || y < 0)
+ returnCode(ERR);
+ if ((x + getmaxx(win) > getmaxx(orig)) ||
+ (y + getmaxy(win) > getmaxy(orig)))
+ returnCode(ERR);
+ } else
+ returnCode(ERR);
+ wsyncup(win);
+ win->_parx = x;
+ win->_pary = y;
+ for (i = 0; i < getmaxy(win); i++)
+ win->_line[i].text = &(orig->_line[y++].text[x]);
+ returnCode(OK);
}
NCURSES_EXPORT(int)
syncok(WINDOW *win, bool bf)
/* enable/disable automatic wsyncup() on each change to window */
{
- T((T_CALLED("syncok(%p,%d)"), (void *) win, bf));
+ T((T_CALLED("syncok(%p,%d)"), win, bf));
if (win) {
win->_sync = bf;
@@ -96,7 +98,7 @@ wsyncup(WINDOW *win)
{
WINDOW *wp;
- T((T_CALLED("wsyncup(%p)"), (void *) win));
+ T((T_CALLED("wsyncup(%p)"), win));
if (win && win->_parent) {
for (wp = win; wp->_parent; wp = wp->_parent) {
int y;
@@ -126,7 +128,7 @@ wsyncdown(WINDOW *win)
/* mark changed every cell in win that is changed in any of its ancestors */
/* Rewritten by J. Pfeifer, 1-Apr-96 (don't even think that...) */
{
- T((T_CALLED("wsyncdown(%p)"), (void *) win));
+ T((T_CALLED("wsyncdown(%p)"), win));
if (win && win->_parent) {
WINDOW *pp = win->_parent;
@@ -165,7 +167,7 @@ wcursyncup(WINDOW *win)
{
WINDOW *wp;
- T((T_CALLED("wcursyncup(%p)"), (void *) win));
+ T((T_CALLED("wcursyncup(%p)"), win));
for (wp = win; wp && wp->_parent; wp = wp->_parent) {
wmove(wp->_parent, wp->_pary + wp->_cury, wp->_parx + wp->_curx);
}
@@ -180,23 +182,19 @@ dupwin(WINDOW *win)
size_t linesize;
int i;
- T((T_CALLED("dupwin(%p)"), (void *) win));
+ T((T_CALLED("dupwin(%p)"), win));
if (win != 0) {
-#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(win);
-#endif
+
_nc_lock_global(curses);
if (win->_flags & _ISPAD) {
- nwin = NCURSES_SP_NAME(newpad) (NCURSES_SP_ARGx
- win->_maxy + 1,
- win->_maxx + 1);
+ nwin = newpad(win->_maxy + 1,
+ win->_maxx + 1);
} else {
- nwin = NCURSES_SP_NAME(newwin) (NCURSES_SP_ARGx
- win->_maxy + 1,
- win->_maxx + 1,
- win->_begy,
- win->_begx);
+ nwin = newwin(win->_maxy + 1,
+ win->_maxx + 1,
+ win->_begy,
+ win->_begx);
}
if (nwin != 0) {
@@ -239,7 +237,7 @@ dupwin(WINDOW *win)
if (win->_flags & _ISPAD)
nwin->_pad = win->_pad;
- linesize = (unsigned) (win->_maxx + 1) * sizeof(NCURSES_CH_T);
+ linesize = (win->_maxx + 1) * sizeof(NCURSES_CH_T);
for (i = 0; i <= nwin->_maxy; i++) {
memcpy(nwin->_line[i].text, win->_line[i].text, linesize);
nwin->_line[i].firstchar = win->_line[i].firstchar;
diff --git a/ncurses/base/nc_panel.c b/ncurses/base/nc_panel.c
index 69b10bc0c662..59bfbbe86ef6 100644
--- a/ncurses/base/nc_panel.c
+++ b/ncurses/base/nc_panel.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -32,22 +32,10 @@
#include <curses.priv.h>
-MODULE_ID("$Id: nc_panel.c,v 1.5 2009/04/11 21:05:10 tom Exp $")
+MODULE_ID("$Id: nc_panel.c,v 1.4 2000/12/10 02:43:28 tom Exp $")
NCURSES_EXPORT(struct panelhook *)
-NCURSES_SP_NAME(_nc_panelhook) (NCURSES_SP_DCL0)
-{
- return (SP_PARM
- ? &(SP_PARM->_panelHook)
- : (CURRENT_SCREEN
- ? &(CURRENT_SCREEN->_panelHook)
- : 0));
-}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(struct panelhook *)
_nc_panelhook(void)
{
- return NCURSES_SP_NAME(_nc_panelhook) (CURRENT_SCREEN);
+ return (SP ? &(SP->_panelHook) : NULL);
}
-#endif
diff --git a/ncurses/base/resizeterm.c b/ncurses/base/resizeterm.c
index 3f1d36e89d7a..a94cfc3aaaa8 100644
--- a/ncurses/base/resizeterm.c
+++ b/ncurses/base/resizeterm.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,7 +28,6 @@
/****************************************************************************
* Author: Thomas E. Dickey *
- * and: Juergen Pfeifer *
****************************************************************************/
/*
@@ -40,12 +39,11 @@
*/
#include <curses.priv.h>
+#include <term.h>
-#ifndef CUR
-#define CUR SP_TERMTYPE
-#endif
+MODULE_ID("$Id: resizeterm.c,v 1.34 2008/06/07 13:58:40 tom Exp $")
-MODULE_ID("$Id: resizeterm.c,v 1.43 2011/01/10 01:34:49 tom Exp $")
+#define stolen_lines (screen_lines - SP->_lines_avail)
/*
* If we're trying to be reentrant, do not want any local statics.
@@ -66,23 +64,18 @@ static int current_cols;
static void
show_window_sizes(const char *name)
{
- SCREEN *sp;
WINDOWLIST *wp;
_nc_lock_global(curses);
- for (each_screen(sp)) {
- _tracef("%s resizing: %p: %2d x %2d (%2d x %2d)", name, (void *) sp,
- *(ptrLines(sp)),
- *(ptrCols(sp)),
- screen_lines(sp), screen_columns(sp));
- for (each_window(sp, wp)) {
- _tracef(" window %p is %2ld x %2ld at %2ld,%2ld",
- (void *) &(wp->win),
- (long) wp->win._maxy + 1,
- (long) wp->win._maxx + 1,
- (long) wp->win._begy,
- (long) wp->win._begx);
- }
+ _tracef("%s resizing: %2d x %2d (%2d x %2d)", name, LINES, COLS,
+ screen_lines, screen_columns);
+ for (each_window(wp)) {
+ _tracef(" window %p is %2ld x %2ld at %2ld,%2ld",
+ &(wp->win),
+ (long) wp->win._maxy + 1,
+ (long) wp->win._maxx + 1,
+ (long) wp->win._begy,
+ (long) wp->win._begx);
}
_nc_unlock_global(curses);
}
@@ -93,23 +86,15 @@ show_window_sizes(const char *name)
* structure's size.
*/
NCURSES_EXPORT(bool)
-NCURSES_SP_NAME(is_term_resized) (NCURSES_SP_DCLx int ToLines, int ToCols)
+is_term_resized(int ToLines, int ToCols)
{
- T((T_CALLED("is_term_resized(%p, %d, %d)"), (void *) SP_PARM, ToLines, ToCols));
+ T((T_CALLED("is_term_resized(%d, %d)"), ToLines, ToCols));
returnCode(ToLines > 0
&& ToCols > 0
- && (ToLines != screen_lines(SP_PARM)
- || ToCols != screen_columns(SP_PARM)));
+ && (ToLines != screen_lines
+ || ToCols != screen_columns));
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(bool)
-is_term_resized(int ToLines, int ToCols)
-{
- return NCURSES_SP_NAME(is_term_resized) (CURRENT_SCREEN, ToLines, ToCols);
-}
-#endif
-
/*
*/
static ripoff_t *
@@ -119,9 +104,6 @@ ripped_window(WINDOW *win)
ripoff_t *rop;
if (win != 0) {
-#ifdef USE_SP_RIPOFF
- SCREEN *sp = _nc_screen_of(win);
-#endif
for (each_ripoff(rop)) {
if (rop->win == win && rop->line != 0) {
result = rop;
@@ -143,9 +125,6 @@ ripped_bottom(WINDOW *win)
ripoff_t *rop;
if (win != 0) {
-#ifdef USE_SP_RIPOFF
- SCREEN *sp = _nc_screen_of(win);
-#endif
for (each_ripoff(rop)) {
if (rop->line < 0) {
result -= rop->line;
@@ -167,12 +146,9 @@ child_depth(WINDOW *cmp)
int depth = 0;
if (cmp != 0) {
-#ifdef USE_SP_WINDOWLIST
- SCREEN *sp = _nc_screen_of(cmp);
-#endif
WINDOWLIST *wp;
- for (each_window(sp, wp)) {
+ for (each_window(wp)) {
WINDOW *tst = &(wp->win);
if (tst->_parent == cmp) {
depth = 1 + child_depth(tst);
@@ -208,13 +184,13 @@ static int
adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen EXTRA_DCLS)
{
int result;
- int bottom = CurLines + _nc_screen_of(win)->_topstolen - stolen;
+ int bottom = CurLines + SP->_topstolen - stolen;
int myLines = win->_maxy + 1;
int myCols = win->_maxx + 1;
ripoff_t *rop = ripped_window(win);
T((T_CALLED("adjust_window(%p,%d,%d)%s depth %d/%d currently %ldx%ld at %ld,%ld"),
- (void *) win, ToLines, ToCols,
+ win, ToLines, ToCols,
(rop != 0) ? " (rip)" : "",
parent_depth(win),
child_depth(win),
@@ -226,19 +202,13 @@ adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen EXTRA_DCLS)
* If it is a ripped-off window at the bottom of the screen, simply
* move it to the same relative position.
*/
- win->_begy = (NCURSES_SIZE_T) (ToLines - ripped_bottom(win) - 0 - win->_yoffset);
- if (rop->hook == _nc_slk_initialize)
- _nc_format_slks(
-#if NCURSES_SP_FUNCS
- _nc_screen_of(win),
-#endif
- ToCols);
+ win->_begy = ToLines - ripped_bottom(win) - 0 - win->_yoffset;
} else if (win->_begy >= bottom) {
/*
* If it is below the bottom of the new screen, move up by the same
* amount that the screen shrank.
*/
- win->_begy = (NCURSES_SIZE_T) (win->_begy + (ToLines - CurLines));
+ win->_begy += (ToLines - CurLines);
} else {
if (myLines == (CurLines - stolen)
&& ToLines != CurLines) {
@@ -269,19 +239,19 @@ adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen EXTRA_DCLS)
* children, decrease those to fit, then decrease the containing window, etc.
*/
static int
-decrease_size(NCURSES_SP_DCLx int ToLines, int ToCols, int stolen EXTRA_DCLS)
+decrease_size(int ToLines, int ToCols, int stolen EXTRA_DCLS)
{
bool found;
int depth = 0;
WINDOWLIST *wp;
- T((T_CALLED("decrease_size(%p, %d, %d)"), (void *) SP_PARM, ToLines, ToCols));
+ T((T_CALLED("decrease_size(%d, %d)"), ToLines, ToCols));
do {
found = FALSE;
TR(TRACE_UPDATE, ("decreasing size of windows to %dx%d, depth=%d",
ToLines, ToCols, depth));
- for (each_window(SP_PARM, wp)) {
+ for (each_window(wp)) {
WINDOW *win = &(wp->win);
if (!(win->_flags & _ISPAD)) {
@@ -303,19 +273,19 @@ decrease_size(NCURSES_SP_DCLx int ToLines, int ToCols, int stolen EXTRA_DCLS)
* parent, increase those to fit, then increase the contained window, etc.
*/
static int
-increase_size(NCURSES_SP_DCLx int ToLines, int ToCols, int stolen EXTRA_DCLS)
+increase_size(int ToLines, int ToCols, int stolen EXTRA_DCLS)
{
bool found;
int depth = 0;
WINDOWLIST *wp;
- T((T_CALLED("increase_size(%p, %d, %d)"), (void *) SP_PARM, ToLines, ToCols));
+ T((T_CALLED("increase_size(%d, %d)"), ToLines, ToCols));
do {
found = FALSE;
TR(TRACE_UPDATE, ("increasing size of windows to %dx%d, depth=%d",
ToLines, ToCols, depth));
- for (each_window(SP_PARM, wp)) {
+ for (each_window(wp)) {
WINDOW *win = &(wp->win);
if (!(win->_flags & _ISPAD)) {
@@ -337,26 +307,25 @@ increase_size(NCURSES_SP_DCLx int ToLines, int ToCols, int stolen EXTRA_DCLS)
* such as ungetch().
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(resize_term) (NCURSES_SP_DCLx int ToLines, int ToCols)
+resize_term(int ToLines, int ToCols)
{
int result = OK EXTRA_ARGS;
int was_stolen;
- T((T_CALLED("resize_term(%p,%d,%d) old(%d,%d)"),
- (void *) SP_PARM, ToLines, ToCols,
- (SP_PARM == 0) ? -1 : screen_lines(SP_PARM),
- (SP_PARM == 0) ? -1 : screen_columns(SP_PARM)));
+ T((T_CALLED("resize_term(%d,%d) old(%d,%d)"),
+ ToLines, ToCols,
+ screen_lines, screen_columns));
- if (SP_PARM == 0) {
+ if (SP == 0) {
returnCode(ERR);
}
- _nc_nonsp_lock_global(curses);
+ _nc_lock_global(curses);
- was_stolen = (screen_lines(SP_PARM) - SP_PARM->_lines_avail);
- if (NCURSES_SP_NAME(is_term_resized) (NCURSES_SP_ARGx ToLines, ToCols)) {
- int myLines = CurLines = screen_lines(SP_PARM);
- int myCols = CurCols = screen_columns(SP_PARM);
+ was_stolen = (screen_lines - SP->_lines_avail);
+ if (is_term_resized(ToLines, ToCols)) {
+ int myLines = CurLines = screen_lines;
+ int myCols = CurCols = screen_columns;
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE)) {
@@ -364,42 +333,33 @@ NCURSES_SP_NAME(resize_term) (NCURSES_SP_DCLx int ToLines, int ToCols)
_nc_unlock_global(tracef);
}
#endif
- if (ToLines > screen_lines(SP_PARM)) {
- increase_size(NCURSES_SP_ARGx
- myLines = ToLines, myCols, was_stolen EXTRA_ARGS);
+ if (ToLines > screen_lines) {
+ increase_size(myLines = ToLines, myCols, was_stolen EXTRA_ARGS);
CurLines = myLines;
CurCols = myCols;
}
- if (ToCols > screen_columns(SP_PARM)) {
- increase_size(NCURSES_SP_ARGx
- myLines, myCols = ToCols, was_stolen EXTRA_ARGS);
+ if (ToCols > screen_columns) {
+ increase_size(myLines, myCols = ToCols, was_stolen EXTRA_ARGS);
CurLines = myLines;
CurCols = myCols;
}
if (ToLines < myLines ||
ToCols < myCols) {
- decrease_size(NCURSES_SP_ARGx ToLines, ToCols, was_stolen EXTRA_ARGS);
+ decrease_size(ToLines, ToCols, was_stolen EXTRA_ARGS);
}
- screen_lines(SP_PARM) = (NCURSES_SIZE_T) ToLines;
- screen_columns(SP_PARM) = (NCURSES_SIZE_T) ToCols;
+ screen_lines = lines = ToLines;
+ screen_columns = columns = ToCols;
-#ifdef USE_TERM_DRIVER
- CallDriver_2(SP_PARM, setsize, ToLines, ToCols);
-#else
- lines = (NCURSES_SIZE_T) ToLines;
- columns = (NCURSES_SIZE_T) ToCols;
-#endif
+ SP->_lines_avail = lines - was_stolen;
- SP_PARM->_lines_avail = (NCURSES_SIZE_T) (ToLines - was_stolen);
-
- if (SP_PARM->oldhash) {
- FreeAndNull(SP_PARM->oldhash);
+ if (SP->oldhash) {
+ FreeAndNull(SP->oldhash);
}
- if (SP_PARM->newhash) {
- FreeAndNull(SP_PARM->newhash);
+ if (SP->newhash) {
+ FreeAndNull(SP->newhash);
}
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE)) {
@@ -418,23 +378,11 @@ NCURSES_SP_NAME(resize_term) (NCURSES_SP_DCLx int ToLines, int ToCols)
SET_LINES(ToLines - was_stolen);
SET_COLS(ToCols);
- _nc_nonsp_unlock_global(curses);
+ _nc_unlock_global(curses);
returnCode(result);
}
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-resize_term(int ToLines, int ToCols)
-{
- int res = ERR;
- _nc_sp_lock_global(curses);
- res = NCURSES_SP_NAME(resize_term) (CURRENT_SCREEN, ToLines, ToCols);
- _nc_sp_unlock_global(curses);
- return (res);
-}
-#endif
-
/*
* This function reallocates NCURSES window structures. It is invoked in
* response to a SIGWINCH interrupt. Other user-defined windows may also need
@@ -444,35 +392,34 @@ resize_term(int ToLines, int ToCols)
* invoked directly from the signal handler.
*/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(resizeterm) (NCURSES_SP_DCLx int ToLines, int ToCols)
+resizeterm(int ToLines, int ToCols)
{
int result = ERR;
- T((T_CALLED("resizeterm(%p, %d,%d) old(%d,%d)"),
- (void *) SP_PARM, ToLines, ToCols,
- (SP_PARM == 0) ? -1 : screen_lines(SP_PARM),
- (SP_PARM == 0) ? -1 : screen_columns(SP_PARM)));
+ T((T_CALLED("resizeterm(%d,%d) old(%d,%d)"),
+ ToLines, ToCols,
+ screen_lines, screen_columns));
- if (SP_PARM != 0) {
+ if (SP != 0) {
result = OK;
- SP_PARM->_sig_winch = FALSE;
+ SP->_sig_winch = FALSE;
- if (NCURSES_SP_NAME(is_term_resized) (NCURSES_SP_ARGx ToLines, ToCols)) {
+ if (is_term_resized(ToLines, ToCols)) {
#if USE_SIGWINCH
ripoff_t *rop;
- bool slk_visible = (SP_PARM != 0
- && SP_PARM->_slk != 0
- && !(SP_PARM->_slk->hidden));
+ bool slk_visible = (SP != 0
+ && SP->_slk != 0
+ && !(SP->_slk->hidden));
if (slk_visible) {
slk_clear();
}
#endif
- result = NCURSES_SP_NAME(resize_term) (NCURSES_SP_ARGx ToLines, ToCols);
+ result = resize_term(ToLines, ToCols);
#if USE_SIGWINCH
- safe_ungetch(SP_PARM, KEY_RESIZE); /* so application can know this */
- clearok(CurScreen(SP_PARM), TRUE); /* screen contents are unknown */
+ _nc_ungetch(SP, KEY_RESIZE); /* so application can know this */
+ clearok(curscr, TRUE); /* screen contents are unknown */
/* ripped-off lines are a special case: if we did not lengthen
* them, we haven't moved them either. repaint them, too.
@@ -482,7 +429,7 @@ NCURSES_SP_NAME(resizeterm) (NCURSES_SP_DCLx int ToLines, int ToCols)
* not know which are really on top.
*/
for (each_ripoff(rop)) {
- if (rop->win != StdScreen(SP_PARM)
+ if (rop->win != stdscr
&& rop->win != 0
&& rop->line < 0) {
@@ -495,9 +442,10 @@ NCURSES_SP_NAME(resizeterm) (NCURSES_SP_DCLx int ToLines, int ToCols)
/* soft-keys are a special case: we _know_ how to repaint them */
if (slk_visible) {
- NCURSES_SP_NAME(slk_restore) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(slk_touch) (NCURSES_SP_ARG);
- NCURSES_SP_NAME(slk_refresh) (NCURSES_SP_ARG);
+ slk_restore();
+ slk_touch();
+
+ slk_refresh();
}
#endif
}
@@ -505,11 +453,3 @@ NCURSES_SP_NAME(resizeterm) (NCURSES_SP_DCLx int ToLines, int ToCols)
returnCode(result);
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(int)
-resizeterm(int ToLines, int ToCols)
-{
- return NCURSES_SP_NAME(resizeterm) (CURRENT_SCREEN, ToLines, ToCols);
-}
-#endif
diff --git a/ncurses/base/safe_sprintf.c b/ncurses/base/safe_sprintf.c
index e73307bac282..8fc5d89dd210 100644
--- a/ncurses/base/safe_sprintf.c
+++ b/ncurses/base/safe_sprintf.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2003,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -33,7 +33,7 @@
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: safe_sprintf.c,v 1.24 2010/06/05 22:22:27 tom Exp $")
+MODULE_ID("$Id: safe_sprintf.c,v 1.20 2007/04/21 22:28:06 tom Exp $")
#if USE_SAFE_SPRINTF
@@ -111,7 +111,7 @@ _nc_printf_length(const char *fmt, va_list ap)
}
sprintf(fmt_arg, "%d", ival);
fmt_len += strlen(fmt_arg);
- if ((format = _nc_doalloc(format, fmt_len)) == 0) {
+ if ((format = realloc(format, fmt_len)) == 0) {
return -1;
}
strcpy(&format[--f], fmt_arg);
@@ -214,20 +214,13 @@ _nc_printf_length(const char *fmt, va_list ap)
* Wrapper for vsprintf that allocates a buffer big enough to hold the result.
*/
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(_nc_printf_string) (NCURSES_SP_DCLx
- const char *fmt,
- va_list ap)
+_nc_printf_string(const char *fmt, va_list ap)
{
char *result = 0;
if (fmt != 0) {
#if USE_SAFE_SPRINTF
- va_list ap2;
- int len;
-
- begin_va_copy(ap2, ap);
- len = _nc_printf_length(fmt, ap2);
- end_va_copy(ap2);
+ int len = _nc_printf_length(fmt, ap);
if ((int) my_length < len + 1) {
my_length = 2 * (len + 1);
@@ -244,12 +237,12 @@ NCURSES_SP_NAME(_nc_printf_string) (NCURSES_SP_DCLx
#define MyCols _nc_globals.safeprint_cols
#define MyRows _nc_globals.safeprint_rows
- if (screen_lines(SP_PARM) > MyRows || screen_columns(SP_PARM) > MyCols) {
- if (screen_lines(SP_PARM) > MyRows)
- MyRows = screen_lines(SP_PARM);
- if (screen_columns(SP_PARM) > MyCols)
- MyCols = screen_columns(SP_PARM);
- my_length = (size_t) (MyRows * (MyCols + 1)) + 1;
+ if (screen_lines > MyRows || screen_columns > MyCols) {
+ if (screen_lines > MyRows)
+ MyRows = screen_lines;
+ if (screen_columns > MyCols)
+ MyCols = screen_columns;
+ my_length = (MyRows * (MyCols + 1)) + 1;
my_buffer = typeRealloc(char, my_length, my_buffer);
}
@@ -269,11 +262,3 @@ NCURSES_SP_NAME(_nc_printf_string) (NCURSES_SP_DCLx
}
return result;
}
-
-#if NCURSES_SP_FUNCS
-NCURSES_EXPORT(char *)
-_nc_printf_string(const char *fmt, va_list ap)
-{
- return NCURSES_SP_NAME(_nc_printf_string) (CURRENT_SCREEN, fmt, ap);
-}
-#endif
diff --git a/ncurses/base/tries.c b/ncurses/base/tries.c
index ad85d229213d..c4263c7e50eb 100644
--- a/ncurses/base/tries.c
+++ b/ncurses/base/tries.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -39,7 +39,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: tries.c,v 1.30 2010/08/28 21:08:23 tom Exp $")
+MODULE_ID("$Id: tries.c,v 1.27 2008/08/16 19:22:55 tom Exp $")
/*
* Expand a keycode into the string that it corresponds to, returning null if
@@ -72,9 +72,7 @@ _nc_expand_try(TRIES * tree, unsigned code, int *count, size_t len)
*((unsigned char *) (result + len)) = 128;
#ifdef TRACE
if (len == 0 && USE_TRACEF(TRACE_MAXIMUM)) {
- _tracef("expand_key %s %s",
- _nc_tracechar(CURRENT_SCREEN, (int) code),
- _nc_visbuf(result));
+ _tracef("expand_key %s %s", _nc_tracechar(SP, code), _nc_visbuf(result));
_nc_unlock_global(tracef);
}
#endif
@@ -89,7 +87,7 @@ _nc_expand_try(TRIES * tree, unsigned code, int *count, size_t len)
NCURSES_EXPORT(int)
_nc_remove_key(TRIES ** tree, unsigned code)
{
- T((T_CALLED("_nc_remove_key(%p,%d)"), (void *) tree, code));
+ T((T_CALLED("_nc_remove_key(%p,%d)"), tree, code));
if (code == 0)
returnCode(FALSE);
@@ -121,7 +119,7 @@ _nc_remove_key(TRIES ** tree, unsigned code)
NCURSES_EXPORT(int)
_nc_remove_string(TRIES ** tree, const char *string)
{
- T((T_CALLED("_nc_remove_string(%p,%s)"), (void *) tree, _nc_visbuf(string)));
+ T((T_CALLED("_nc_remove_string(%p,%s)"), tree, _nc_visbuf(string)));
if (string == 0 || *string == 0)
returnCode(FALSE);
diff --git a/ncurses/base/use_window.c b/ncurses/base/use_window.c
index 8eb733919848..f6408c37928e 100644
--- a/ncurses/base/use_window.c
+++ b/ncurses/base/use_window.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2007-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -32,14 +32,14 @@
#include <curses.priv.h>
-MODULE_ID("$Id: use_window.c,v 1.9 2009/10/24 22:40:24 tom Exp $")
+MODULE_ID("$Id: use_window.c,v 1.8 2008/06/07 14:13:46 tom Exp $")
NCURSES_EXPORT(int)
use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data)
{
int code = OK;
- T((T_CALLED("use_window(%p,%p,%p)"), (void *) win, func, data));
+ T((T_CALLED("use_window(%p,%p,%p)"), win, func, data));
_nc_lock_global(curses);
code = func(win, data);
_nc_unlock_global(curses);
diff --git a/ncurses/base/wresize.c b/ncurses/base/wresize.c
index 9a6ea500727e..f46085af59fa 100644
--- a/ncurses/base/wresize.c
+++ b/ncurses/base/wresize.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,13 +27,12 @@
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1996-on *
- * and: Juergen Pfeifer *
+ * Author: Thomas E. Dickey 1996-2002 *
****************************************************************************/
#include <curses.priv.h>
-MODULE_ID("$Id: wresize.c,v 1.34 2010/06/05 22:36:26 tom Exp $")
+MODULE_ID("$Id: wresize.c,v 1.29 2008/06/07 13:59:01 tom Exp $")
static int
cleanup_lines(struct ldat *data, int length)
@@ -54,13 +53,10 @@ repair_subwindows(WINDOW *cmp)
WINDOWLIST *wp;
struct ldat *pline = cmp->_line;
int row;
-#ifdef USE_SP_WINDOWLIST
- SCREEN *sp = _nc_screen_of(cmp);
-#endif
_nc_lock_global(curses);
- for (each_window(SP_PARM, wp)) {
+ for (each_window(wp)) {
WINDOW *tst = &(wp->win);
if (tst->_parent == cmp) {
@@ -71,9 +67,9 @@ repair_subwindows(WINDOW *cmp)
tst->_parx = cmp->_maxx;
if (tst->_maxy + tst->_pary > cmp->_maxy)
- tst->_maxy = (NCURSES_SIZE_T) (cmp->_maxy - tst->_pary);
+ tst->_maxy = cmp->_maxy - tst->_pary;
if (tst->_maxx + tst->_parx > cmp->_maxx)
- tst->_maxx = (NCURSES_SIZE_T) (cmp->_maxx - tst->_parx);
+ tst->_maxx = cmp->_maxx - tst->_parx;
for (row = 0; row <= tst->_maxy; ++row) {
tst->_line[row].text = &pline[tst->_pary + row].text[tst->_parx];
@@ -97,7 +93,7 @@ wresize(WINDOW *win, int ToLines, int ToCols)
struct ldat *new_lines = 0;
#ifdef TRACE
- T((T_CALLED("wresize(%p,%d,%d)"), (void *) win, ToLines, ToCols));
+ T((T_CALLED("wresize(%p,%d,%d)"), win, ToLines, ToCols));
if (win) {
TR(TRACE_UPDATE, ("...beg (%ld, %ld), max(%ld,%ld), reg(%ld,%ld)",
(long) win->_begy, (long) win->_begx,
@@ -157,8 +153,7 @@ wresize(WINDOW *win, int ToLines, int ToCols)
if (!(win->_flags & _SUBWIN)) {
if (row <= size_y) {
if (ToCols != size_x) {
- s = typeMalloc(NCURSES_CH_T, (unsigned) ToCols + 1);
- if (s == 0)
+ if ((s = typeMalloc(NCURSES_CH_T, ToCols + 1)) == 0)
returnCode(cleanup_lines(new_lines, row));
for (col = 0; col <= ToCols; ++col) {
s[col] = (col <= size_x
@@ -169,14 +164,12 @@ wresize(WINDOW *win, int ToLines, int ToCols)
s = win->_line[row].text;
}
} else {
- s = typeMalloc(NCURSES_CH_T, (unsigned) ToCols + 1);
- if (s == 0)
+ if ((s = typeMalloc(NCURSES_CH_T, ToCols + 1)) == 0)
returnCode(cleanup_lines(new_lines, row));
for (col = 0; col <= ToCols; ++col)
s[col] = win->_nc_bkgd;
}
} else {
- assert(pline != 0);
s = &pline[win->_pary + row].text[win->_parx];
}
@@ -188,11 +181,11 @@ wresize(WINDOW *win, int ToLines, int ToCols)
if ((ToCols != size_x) || (row > size_y)) {
if (end >= begin) { /* growing */
if (new_lines[row].firstchar < begin)
- new_lines[row].firstchar = (NCURSES_SIZE_T) begin;
+ new_lines[row].firstchar = begin;
} else { /* shrinking */
new_lines[row].firstchar = 0;
}
- new_lines[row].lastchar = (NCURSES_SIZE_T) ToCols;
+ new_lines[row].lastchar = ToCols;
}
new_lines[row].text = s;
}
@@ -219,8 +212,8 @@ wresize(WINDOW *win, int ToLines, int ToCols)
* Finally, adjust the parameters showing screen size and cursor
* position:
*/
- win->_maxx = (NCURSES_SIZE_T) ToCols;
- win->_maxy = (NCURSES_SIZE_T) ToLines;
+ win->_maxx = ToCols;
+ win->_maxy = ToLines;
if (win->_regtop > win->_maxy)
win->_regtop = win->_maxy;