* 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.
This commit is contained in:
Roland McGrath 2001-07-21 05:13:40 +00:00
parent d3ab710cbc
commit 11c0b1e39b
5 changed files with 39 additions and 5 deletions

View File

@ -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 ...

View File

@ -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;

View File

@ -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 */

View File

@ -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 */

View File

@ -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 */