X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Flib_newterm.c;h=84963db46f2c8aa0f2d21f0ad3b7eb57a0dc0c01;hp=6b135252d0af930c7d685df1354bca5fd6f04ec3;hb=6b99a559185b3b8fad80b56bc2070b08101c33d1;hpb=44a63c85c16f81579c74d68cd99eea1a1fd00c28 diff --git a/ncurses/base/lib_newterm.c b/ncurses/base/lib_newterm.c index 6b135252..84963db4 100644 --- a/ncurses/base/lib_newterm.c +++ b/ncurses/base/lib_newterm.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. * + * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -48,7 +48,7 @@ #include -MODULE_ID("$Id: lib_newterm.c,v 1.94 2017/02/11 17:28:07 tom Exp $") +MODULE_ID("$Id: lib_newterm.c,v 1.101 2018/04/07 20:36:22 tom Exp $") #ifdef USE_TERM_DRIVER #define NumLabels InfoOf(SP_PARM).numlabels @@ -76,6 +76,7 @@ _nc_initscr(NCURSES_SP_DCL0) /* for extended XPG4 conformance requires cbreak() at this point */ /* (SVr4 curses does this anyway) */ + T((T_CALLED("_nc_initscr(%p) ->term %p"), (void *) SP_PARM, (void *) term)); if (NCURSES_SP_NAME(cbreak) (NCURSES_SP_ARG) == OK) { TTY buf; @@ -93,7 +94,7 @@ _nc_initscr(NCURSES_SP_DCL0) if (result == OK) term->Nttyb = buf; } - return result; + returnCode(result); } /* @@ -162,7 +163,7 @@ nofilter(void) NCURSES_EXPORT(SCREEN *) NCURSES_SP_NAME(newterm) (NCURSES_SP_DCLx - NCURSES_CONST char *name, + const char *name, FILE *ofp, FILE *ifp) { @@ -286,7 +287,7 @@ NCURSES_SP_NAME(newterm) (NCURSES_SP_DCLx #else SP_PARM->_use_meta = FALSE; #endif - SP_PARM->_endwin = FALSE; + SP_PARM->_endwin = ewInitial; #ifndef USE_TERM_DRIVER /* * Check whether we can optimize scrolling under dumb terminals in @@ -346,8 +347,14 @@ NCURSES_SP_NAME(newterm) (NCURSES_SP_DCLx #if NCURSES_SP_FUNCS NCURSES_EXPORT(SCREEN *) -newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp) +newterm(const char *name, FILE *ofp, FILE *ifp) { - return NCURSES_SP_NAME(newterm) (CURRENT_SCREEN_PRE, name, ofp, ifp); + SCREEN *rc; + _nc_lock_global(prescreen); + START_TRACE(); + rc = NCURSES_SP_NAME(newterm) (CURRENT_SCREEN_PRE, name, ofp, ifp); + _nc_forget_prescr(); + _nc_unlock_global(prescreen); + return rc; } #endif