projects
/
ncurses.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ncurses 6.2 - patch 20210418
[ncurses.git]
/
ncurses
/
base
/
lib_restart.c
diff --git
a/ncurses/base/lib_restart.c
b/ncurses/base/lib_restart.c
index 55b1cc09cfa7eeaf20485825dfd434ec6e3187c6..81eb368843b8b1f9d1089a9639aa4d28a14a90d0 100644
(file)
--- a/
ncurses/base/lib_restart.c
+++ b/
ncurses/base/lib_restart.c
@@
-1,5
+1,6
@@
/****************************************************************************
/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright 2020 Thomas E. Dickey *
+ * Copyright 1998-2012,2015 Free 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 *
@@
-41,11
+42,7
@@
#include <curses.priv.h>
#include <curses.priv.h>
-#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
-#define _POSIX_SOURCE
-#endif
-
-MODULE_ID("$Id: lib_restart.c,v 1.11 2009/05/02 20:47:42 tom Exp $")
+MODULE_ID("$Id: lib_restart.c,v 1.17 2020/02/02 23:34:34 tom Exp $")
NCURSES_EXPORT(int)
NCURSES_SP_NAME(restartterm) (NCURSES_SP_DCLx
NCURSES_EXPORT(int)
NCURSES_SP_NAME(restartterm) (NCURSES_SP_DCLx
@@
-54,10
+51,18
@@
NCURSES_SP_NAME(restartterm) (NCURSES_SP_DCLx
int *errret)
{
int result;
int *errret)
{
int result;
+#ifdef USE_TERM_DRIVER
+ TERMINAL *new_term = 0;
+#endif
- T((T_CALLED("restartterm(%p,%s,%d,%p)"), SP_PARM, termp, filenum, errret));
+ START_TRACE();
+ T((T_CALLED("restartterm(%p,%s,%d,%p)"),
+ (void *) SP_PARM,
+ termp,
+ filenum,
+ (void *) errret));
- if (
setupterm(termp, filenum, errret
) != OK) {
+ if (
TINFO_SETUP_TERM(&new_term, termp, filenum, errret, FALSE
) != OK) {
result = ERR;
} else if (SP_PARM != 0) {
int saveecho = SP_PARM->_echo;
result = ERR;
} else if (SP_PARM != 0) {
int saveecho = SP_PARM->_echo;
@@
-65,6
+70,9
@@
NCURSES_SP_NAME(restartterm) (NCURSES_SP_DCLx
int saveraw = SP_PARM->_raw;
int savenl = SP_PARM->_nl;
int saveraw = SP_PARM->_raw;
int savenl = SP_PARM->_nl;
+#ifdef USE_TERM_DRIVER
+ SP_PARM->_term = new_term;
+#endif
if (saveecho) {
NCURSES_SP_NAME(echo) (NCURSES_SP_ARG);
} else {
if (saveecho) {
NCURSES_SP_NAME(echo) (NCURSES_SP_ARG);
} else {
@@
-104,6
+112,7
@@
NCURSES_SP_NAME(restartterm) (NCURSES_SP_DCLx
NCURSES_EXPORT(int)
restartterm(NCURSES_CONST char *termp, int filenum, int *errret)
{
NCURSES_EXPORT(int)
restartterm(NCURSES_CONST char *termp, int filenum, int *errret)
{
+ START_TRACE();
return NCURSES_SP_NAME(restartterm) (CURRENT_SCREEN, termp, filenum, errret);
}
#endif
return NCURSES_SP_NAME(restartterm) (CURRENT_SCREEN, termp, filenum, errret);
}
#endif