2003-09-08 Roland McGrath <roland@frob.com>

* sysdeps/unix/sysv/linux/speed.c
	(cfsetospeed): Only set c_ospeed under [_HAVE_STRUCT_TERMIOS_C_OSPEED].
	(cfsetispeed): Only set c_ispeed under [_HAVE_STRUCT_TERMIOS_C_ISPEED].
	* sysdeps/unix/sysv/linux/bits/termios.h
	(_HAVE_STRUCT_TERMIOS_C_ISPEED, _HAVE_STRUCT_TERMIOS_C_OSPEED): Define.
	* sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
This commit is contained in:
Roland McGrath 2003-09-09 06:44:48 +00:00
parent 2750c39c44
commit 416be7f049
4 changed files with 15 additions and 3 deletions

View File

@ -1,5 +1,6 @@
/* termios type and macro definitions. Linux version.
Copyright (C) 1993, 94, 95, 96, 97, 99 Free Software Foundation, Inc.
Copyright (C) 1993,1994,1995,1996,1997,1999,2003
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -36,6 +37,8 @@ struct termios
cc_t c_line; /* line discipline (== c_cc[33]) */
speed_t c_ispeed; /* input speed */
speed_t c_ospeed; /* output speed */
#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
};
/* c_cc characters */

View File

@ -1,5 +1,6 @@
/* termios type and macro definitions. Linux version.
Copyright (C) 1993, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
Copyright (C) 1993,1994,1995,1996,1997,1998,1999,2003
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -36,6 +37,8 @@ struct termios
cc_t c_cc[NCCS]; /* control characters */
speed_t c_ispeed; /* input speed */
speed_t c_ospeed; /* output speed */
#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
};
/* c_cc characters */

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1997, 1999, 2001 Free Software Foundation, Inc.
/* Copyright (C) 1997,1999,2001,2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -40,6 +40,8 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
speed_t c_ispeed; /* input speed */
speed_t c_ospeed; /* output speed */
#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
};
/* c_cc characters */

View File

@ -67,7 +67,9 @@ cfsetospeed (termios_p, speed)
return -1;
}
#ifdef _HAVE_STRUCT_TERMIOS_C_OSPEED
termios_p->c_ospeed = speed;
#endif
termios_p->c_cflag &= ~(CBAUD | CBAUDEX);
termios_p->c_cflag |= speed;
@ -92,7 +94,9 @@ cfsetispeed (termios_p, speed)
return -1;
}
#ifdef _HAVE_STRUCT_TERMIOS_C_ISPEED
termios_p->c_ispeed = speed;
#endif
if (speed == 0)
termios_p->c_iflag |= IBAUD0;
else