projects
/
ncurses.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ncurses 5.9 - patch 20120707
[ncurses.git]
/
ncurses
/
base
/
lib_set_term.c
diff --git
a/ncurses/base/lib_set_term.c
b/ncurses/base/lib_set_term.c
index 816ab041d647c81c1c076bda82313ba9426216e6..aef940122b95782b67fbac2450f6a52a35337230 100644
(file)
--- a/
ncurses/base/lib_set_term.c
+++ b/
ncurses/base/lib_set_term.c
@@
-1,5
+1,5
@@
/****************************************************************************
/****************************************************************************
- * Copyright (c) 1998-20
08,2009
Free Software Foundation, Inc. *
+ * Copyright (c) 1998-20
11,2012
Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@
-47,7
+47,7
@@
#define CUR SP_TERMTYPE
#endif
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: lib_set_term.c,v 1.1
35 2009/11/28 21:49:24
tom Exp $")
+MODULE_ID("$Id: lib_set_term.c,v 1.1
41 2012/07/07 20:37:40
tom Exp $")
#ifdef USE_TERM_DRIVER
#define MaxColors InfoOf(sp).maxcolors
#ifdef USE_TERM_DRIVER
#define MaxColors InfoOf(sp).maxcolors
@@
-117,7
+117,7
@@
delink_screen(SCREEN *sp)
for (each_screen(temp)) {
if (temp == sp) {
if (last)
for (each_screen(temp)) {
if (temp == sp) {
if (last)
- last = sp->_next_screen;
+ last
->_next_screen
= sp->_next_screen;
else
_nc_screen_chain = sp->_next_screen;
result = TRUE;
else
_nc_screen_chain = sp->_next_screen;
result = TRUE;
@@
-284,7
+284,7
@@
NCURSES_SP_NAME(_nc_setupscreen) (
int slines,
int scolumns,
FILE *output,
int slines,
int scolumns,
FILE *output,
-
bool
filtered,
+
int
filtered,
int slk_format)
{
char *env;
int slk_format)
{
char *env;
@@
-314,7
+314,7
@@
NCURSES_SP_NAME(_nc_setupscreen) (
ReturnScreenError();
}
ReturnScreenError();
}
- T(("created SP %p", sp));
+ T(("created SP %p",
(void *)
sp));
sp->_next_screen = _nc_screen_chain;
_nc_screen_chain = sp;
sp->_next_screen = _nc_screen_chain;
_nc_screen_chain = sp;
@@
-380,9
+380,9
@@
NCURSES_SP_NAME(_nc_setupscreen) (
setmode(output, O_BINARY);
#endif
NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_ARGx output, TRUE);
setmode(output, O_BINARY);
#endif
NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_ARGx output, TRUE);
- sp->_lines = slines;
- sp->_lines_avail = slines;
- sp->_columns = scolumns;
+ 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);
sp->_ofp = output;
SP_PRE_INIT(sp);
SetNoPadding(sp);
@@
-619,6
+619,7
@@
NCURSES_SP_NAME(_nc_setupscreen) (
#endif
#if USE_SIZECHANGE
sp->_resize = NCURSES_SP_NAME(resizeterm);
#endif
#if USE_SIZECHANGE
sp->_resize = NCURSES_SP_NAME(resizeterm);
+ sp->_ungetch = safe_ungetch;
#endif
NewScreen(sp)->_clear = TRUE;
#endif
NewScreen(sp)->_clear = TRUE;
@@
-663,11
+664,12
@@
NCURSES_SP_NAME(_nc_setupscreen) (
} else {
ReturnScreenError();
}
} else {
ReturnScreenError();
}
- if (rop->line < 0)
+ if (rop->line < 0)
{
bottom_stolen += count;
bottom_stolen += count;
- else
- sp->_topstolen += count;
- sp->_lines_avail -= count;
+ } else {
+ sp->_topstolen = (NCURSES_SIZE_T) (sp->_topstolen + count);
+ }
+ sp->_lines_avail = (NCURSES_SIZE_T) (sp->_lines_avail - count);
}
}
/* reset the stack */
}
}
/* reset the stack */
@@
-694,7
+696,7
@@
NCURSES_EXPORT(int)
_nc_setupscreen(int slines GCC_UNUSED,
int scolumns GCC_UNUSED,
FILE *output,
_nc_setupscreen(int slines GCC_UNUSED,
int scolumns GCC_UNUSED,
FILE *output,
-
bool
filtered,
+
int
filtered,
int slk_format)
{
SCREEN *sp = 0;
int slk_format)
{
SCREEN *sp = 0;
@@
-722,7
+724,7
@@
NCURSES_SP_NAME(_nc_ripoffline) (NCURSES_SP_DCLx
int code = ERR;
START_TRACE();
int code = ERR;
START_TRACE();
- T((T_CALLED("ripoffline(%p,%d,%p)"), (void *) SP_PARM, line,
(void *)
init));
+ T((T_CALLED("ripoffline(%p,%d,%p)"), (void *) SP_PARM, line, init));
#if NCURSES_SP_FUNCS
if (SP_PARM != 0 && SP_PARM->_prescreen)
#if NCURSES_SP_FUNCS
if (SP_PARM != 0 && SP_PARM->_prescreen)
@@
-758,6
+760,7
@@
NCURSES_SP_NAME(ripoffline) (NCURSES_SP_DCLx
int line,
int (*init) (WINDOW *, int))
{
int line,
int (*init) (WINDOW *, int))
{
+ START_TRACE();
return NCURSES_SP_NAME(_nc_ripoffline) (NCURSES_SP_ARGx
(line < 0) ? -1 : 1,
init);
return NCURSES_SP_NAME(_nc_ripoffline) (NCURSES_SP_ARGx
(line < 0) ? -1 : 1,
init);