summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2003-09-09 06:44:48 +0000
committerRoland McGrath <roland@gnu.org>2003-09-09 06:44:48 +0000
commit416be7f049391ce421d9b12a2c3b81bb3cad9f58 (patch)
treec193750698736dca48e9907b58bb15056fb37097 /sysdeps/unix
parent2750c39c44ae8635983a86728ccd30f2d254a73b (diff)
downloadglibc-416be7f049391ce421d9b12a2c3b81bb3cad9f58.tar.gz
glibc-416be7f049391ce421d9b12a2c3b81bb3cad9f58.tar.xz
glibc-416be7f049391ce421d9b12a2c3b81bb3cad9f58.zip
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.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/termios.h5
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios.h5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/termios.h4
-rw-r--r--sysdeps/unix/sysv/linux/speed.c4
4 files changed, 15 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
index 079073dd54..0abe34f596 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
@@ -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 */
diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h
index 887b309ad9..7eaf71aad6 100644
--- a/sysdeps/unix/sysv/linux/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/bits/termios.h
@@ -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 */
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
index f7b89ae594..58c9882a5e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
@@ -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 */
diff --git a/sysdeps/unix/sysv/linux/speed.c b/sysdeps/unix/sysv/linux/speed.c
index 90104e5cc5..ba394cb05a 100644
--- a/sysdeps/unix/sysv/linux/speed.c
+++ b/sysdeps/unix/sysv/linux/speed.c
@@ -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