diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | libio/filedoalloc.c | 2 | ||||
-rw-r--r-- | sysdeps/generic/device-nrs.h | 4 | ||||
-rw-r--r-- | sysdeps/mach/hurd/device-nrs.h | 28 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/device-nrs.h | 4 |
5 files changed, 39 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index b2d63b4e7b..e34991d6bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2001-07-20 Roland McGrath <roland@frob.com> + * sysdeps/generic/device-nrs.h (DEV_TTY_P): Change argument type + from `dev_t' (st_rdev value) `const struct stat *'. + * sysdeps/unix/sysv/linux/device-nrs.h (DEV_TTY_P): Likewise. + * libio/filedoalloc.c (_IO_file_doallocate): Change caller. + * sysdeps/mach/hurd/device-nrs.h: New file. + * libio/stdio_ext.h: Moved to ... * stdio-common/stdio_ext.h: ... here. * libio/Makefile (headers): Move stdio_ext.h from here ... diff --git a/libio/filedoalloc.c b/libio/filedoalloc.c index c2e849a736..3621e43073 100644 --- a/libio/filedoalloc.c +++ b/libio/filedoalloc.c @@ -95,7 +95,7 @@ _IO_file_doallocate (fp) /* Possibly a tty. */ if ( #ifdef DEV_TTY_P - DEV_TTY_P (st.st_rdev) || + DEV_TTY_P (&st) || #endif isatty (fp->_fileno)) fp->_flags |= _IO_LINE_BUF; diff --git a/sysdeps/generic/device-nrs.h b/sysdeps/generic/device-nrs.h index b0ce6687c6..d9a13e509a 100644 --- a/sysdeps/generic/device-nrs.h +++ b/sysdeps/generic/device-nrs.h @@ -1,5 +1,5 @@ /* Device numbers of devices used in the implementation. Generic version. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 2000,01 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 @@ -23,6 +23,6 @@ /* By default we know no device numbers. */ /* We cannot check whether a given device is a tty. */ -#define DEV_TTY_P(dev) (0) +#define DEV_TTY_P(statp) (0) #endif /* device-nrs.h */ diff --git a/sysdeps/mach/hurd/device-nrs.h b/sysdeps/mach/hurd/device-nrs.h new file mode 100644 index 0000000000..3edac104ba --- /dev/null +++ b/sysdeps/mach/hurd/device-nrs.h @@ -0,0 +1,28 @@ +/* Device numbers of devices used in the implementation. Hurd version. + Copyright (C) 2001 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#ifndef _DEVICE_NRS_H +#define _DEVICE_NRS_H 1 + +#include <hurd/hurd_types.h> + +/* We cannot check whether a given device is a tty. */ +#define DEV_TTY_P(statp) ((stap)->st_fstype == FSTYPE_TERM) + +#endif /* device-nrs.h */ diff --git a/sysdeps/unix/sysv/linux/device-nrs.h b/sysdeps/unix/sysv/linux/device-nrs.h index d08d81cf25..6b6578ec5f 100644 --- a/sysdeps/unix/sysv/linux/device-nrs.h +++ b/sysdeps/unix/sysv/linux/device-nrs.h @@ -35,8 +35,8 @@ #define DEV_TTY_HIGH_MAJOR 143 /* Test whether given device is a tty. */ -#define DEV_TTY_P(dev) \ - ({ int __dev_major = major (dev); \ +#define DEV_TTY_P(statp) \ + ({ int __dev_major = major ((statp)->st_rdev); \ __dev_major >= DEV_TTY_LOW_MAJOR && __dev_major <= DEV_TTY_HIGH_MAJOR; }) #endif /* device-nrs.h */ |