1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-12-04 14:46:47 -05:00

Bug 54: Don't force 8-bit characters and no parity.

Actually, don't use the cfmakeraw function at all,
and don't look for it during configure either.
This commit is contained in:
Kalle Olavi Niemitalo 2008-01-13 19:23:03 +02:00 committed by Kalle Olavi Niemitalo
parent 04b1e78039
commit 87f1661314
3 changed files with 9 additions and 10 deletions

3
NEWS
View File

@ -10,6 +10,9 @@ ELinks 0.13.GIT now:
To be released as ELinks 0.13.0.
* Bug 54, Debian bug 338402: Don't force the terminal to 8 bits with
no parity.
ELinks 0.12.GIT now:
--------------------

View File

@ -290,7 +290,7 @@ AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
AC_FUNC_MMAP
AC_FUNC_STRFTIME
AC_CHECK_FUNCS(atoll cfmakeraw gethostbyaddr herror strerror)
AC_CHECK_FUNCS(atoll gethostbyaddr herror strerror)
AC_CHECK_FUNCS(popen uname access chmod alarm timegm mremap)
AC_CHECK_FUNCS(strcasecmp strncasecmp strcasestr strstr strchr strrchr)
AC_CHECK_FUNCS(memmove bcopy stpcpy strdup index isdigit mempcpy memrchr)

View File

@ -805,20 +805,16 @@ unblock_stdin(void)
void
elinks_cfmakeraw(struct termios *t)
{
#ifdef HAVE_CFMAKERAW
cfmakeraw(t);
#ifdef VMIN
t->c_cc[VMIN] = 1; /* cfmakeraw() is broken on AIX --mikulas */
#endif
#else
/* Bug 54: Do not alter the character-size and parity bits in
* t->c_cflag. If they have unusual values, the terminal
* probably requires those and won't work if ELinks changes
* the flags. The cfmakeraw function would set 8-bit characters
* and no parity, so don't use that. */
t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
t->c_oflag &= ~OPOST;
t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
t->c_cflag &= ~(CSIZE|PARENB);
t->c_cflag |= CS8;
t->c_cc[VMIN] = 1;
t->c_cc[VTIME] = 0;
#endif
}
#if !defined(CONFIG_MOUSE) || (!defined(CONFIG_GPM) && !defined(CONFIG_SYSMOUSE) && !defined(OS2_MOUSE))