/****************************************************************************
- * Copyright (c) 1998-2014,2016 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 *
#include <tic.h>
-MODULE_ID("$Id: lib_newterm.c,v 1.93 2016/05/28 23:11:26 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
/* 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;
if (result == OK)
term->Nttyb = buf;
}
- return result;
+ returnCode(result);
}
/*
NCURSES_EXPORT(SCREEN *)
NCURSES_SP_NAME(newterm) (NCURSES_SP_DCLx
- NCURSES_CONST char *name,
+ const char *name,
FILE *ofp,
FILE *ifp)
{
/* allow user to set maximum escape delay from the environment */
if ((value = _nc_getenv_num("ESCDELAY")) >= 0) {
+#if NCURSES_EXT_FUNCS
NCURSES_SP_NAME(set_escdelay) (NCURSES_SP_ARGx value);
+#else
+ ESCDELAY = value;
+#endif
}
/* if the terminal type has real soft labels, set those up */
#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
#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