summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/libmytinfo/tty.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/libmytinfo/tty.c b/lib/libmytinfo/tty.c
index 2ba2a7c..9c22eb1 100644
--- a/lib/libmytinfo/tty.c
+++ b/lib/libmytinfo/tty.c
@@ -107,6 +107,8 @@ _check_tty() {
int
def_prog_mode() {
+ if (cur_term == NULL)
+ return ERR;
#ifdef USE_WINSZ
#ifdef TIOCGWINSZ
if (ioctl(cur_term->fd, TIOCGWINSZ, &cur_term->prog_winsz) < 0)
@@ -125,6 +127,8 @@ def_prog_mode() {
int
def_shell_mode() {
+ if (cur_term == NULL)
+ return ERR;
cur_term->termcap = 0;
#ifdef USE_WINSZ
#ifdef TIOCGWINSZ
@@ -139,8 +143,12 @@ def_shell_mode() {
#endif
}
+
+#pragma weak reset_prog_mode
int
reset_prog_mode() {
+ if (cur_term == NULL)
+ return ERR;
#ifdef USE_TERMIO
return ioctl(cur_term->fd, TCSETA, &cur_term->prog_mode)==0 ? OK : ERR;
#else
@@ -148,8 +156,11 @@ reset_prog_mode() {
#endif
}
+#pragma weak reset_shell_mode
int
reset_shell_mode() {
+ if (cur_term == NULL)
+ return ERR;
#ifdef USE_TERMIO
return ioctl(cur_term->fd, TCSETA, &cur_term->shell_mode)==0 ? OK : ERR;
#else
OpenPOWER on IntegriCloud