From fc88644eb4633eb82a2585d50b0878013d00df45 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 11 Jan 2005 04:44:57 +0000 Subject: [PATCH] *** empty log message *** --- autoconf/config.h.in | 3 +++ autoconf/configure.in | 1 + src/ptytty.C | 30 ++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/autoconf/config.h.in b/autoconf/config.h.in index d65a24b..d4a24ff 100644 --- a/autoconf/config.h.in +++ b/autoconf/config.h.in @@ -130,6 +130,9 @@ /* Define if you have the header file. */ #undef HAVE_LIBC_H +/* Define if you have the header file. */ +#undef HAVE_PTY_H + /* Define if you have the header file. */ #undef HAVE_STDARG_H diff --git a/autoconf/configure.in b/autoconf/configure.in index 0153921..86777dd 100644 --- a/autoconf/configure.in +++ b/autoconf/configure.in @@ -522,6 +522,7 @@ AC_CHECK_HEADERS( \ utmp.h \ utmpx.h \ stdint.h \ + pty.h \ ) AC_HEADER_TIME diff --git a/src/ptytty.C b/src/ptytty.C index 3c79ba0..93a5738 100644 --- a/src/ptytty.C +++ b/src/ptytty.C @@ -48,6 +48,9 @@ #ifdef HAVE_ISASTREAM # include #endif +#ifdef HAVE_PTY_H +# include +#endif // better do this via configure, but.... #if defined(__FreeBSD__) @@ -438,5 +441,32 @@ rxvt_ptytty::get () return true; } +void +rxvt_ptytty::set_utf8_mode (bool on) +{ +#ifdef IUTF8 + if (pty != -1) + { + struct termios tio; + + if (tcgetattr (pty, &tio) != -1) + { + tcflag_t new_cflag = tio.c_iflag; + + if (on) + new_cflag |= IUTF8; + else + new_cflag &= ~IUTF8; + + if (new_cflag != tio.c_iflag) + { + tio.c_iflag = new_cflag; + tcsetattr (pty, TCSANOW, &tio); + } + } + } +#endif +} + /*----------------------- end-of-file (C source) -----------------------*/ -- 1.9.1