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. 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: ELinks 0.12.GIT now:
-------------------- --------------------

View File

@ -290,7 +290,7 @@ AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP AC_FUNC_MEMCMP
AC_FUNC_MMAP AC_FUNC_MMAP
AC_FUNC_STRFTIME 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(popen uname access chmod alarm timegm mremap)
AC_CHECK_FUNCS(strcasecmp strncasecmp strcasestr strstr strchr strrchr) AC_CHECK_FUNCS(strcasecmp strncasecmp strcasestr strstr strchr strrchr)
AC_CHECK_FUNCS(memmove bcopy stpcpy strdup index isdigit mempcpy memrchr) AC_CHECK_FUNCS(memmove bcopy stpcpy strdup index isdigit mempcpy memrchr)

View File

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