1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-09-30 03:26:23 -04: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.

(cherry picked from commit 87f1661314
 but moved the NEWS entry into the 0.11.4rc0 section)
This commit is contained in:
Kalle Olavi Niemitalo 2008-01-13 19:23:03 +02:00 committed by Kalle Olavi Niemitalo
parent b2e59f8576
commit 9c39f43d1b
3 changed files with 8 additions and 10 deletions

2
NEWS
View File

@ -29,6 +29,8 @@ To be released as 0.11.4.
* bug 712: GnuTLS works on https://www-s.uiuc.edu/[]
* fix active and passive FTP over IPv6
* bug 978: Python's webbrowser.open_new_tab(URL) works since now
* minor bug 54, Debian bug 338402: don't force the terminal to 8 bits
with no parity
* minor bug 951 in user SMJS: garbage-collect SMJS objects on 'File ->
Flush all caches' to work around their holding cache entries busy
* minor bug 396: never show empty filename in the what-to-do dialog

View File

@ -253,7 +253,7 @@ AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
AC_FUNC_MMAP
AC_FUNC_STRFTIME
AC_CHECK_FUNCS(cfmakeraw gethostbyaddr herror strerror)
AC_CHECK_FUNCS(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

@ -745,20 +745,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))