Simplify handling of special files.
authorJanne Blomqvist <jb@gcc.gnu.org>
Mon, 31 Oct 2011 14:45:50 +0000 (16:45 +0200)
committerJanne Blomqvist <jb@gcc.gnu.org>
Mon, 31 Oct 2011 14:45:50 +0000 (16:45 +0200)
commit7d5ee219357f0ec4e9d67285eec50677ff2583ce
tree041a48d3c01978c5d828f9408cf2ffcb1db07571
parent2062f77b8b897691f102434aeec3253ad2ea28a5
Simplify handling of special files.

2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>

* io/file_pos.c (st_rewind): Handle regular and special files
identically.
* io/intrinsics.c (fseek_sub): Don't check whether we think the
file is seekable, just do what the caller says.
* io/transfer.c (skip_record): First try to seek, then fallback to
reading and throwing away what we read.
* io/unit.c (update_position): Don't check whether file is
seekable, just try to do what we're told.
(unit_truncate): Likewise.
* io/unix.c (struct unix_stream): Remove special_file flag.
(buf_flush): Remove code for handling unseekable files.
(buf_seek): Likewise.
(fd_to_stream): Use buffered IO only for regular files.
(file_length): Remove is_seekable() call.
(is_seekable): Remove function.
(is_special): Likewise.
* io/unix.h: Remove prototypes for is_seekable and is_special.

From-SVN: r180701
libgfortran/ChangeLog
libgfortran/io/file_pos.c
libgfortran/io/intrinsics.c
libgfortran/io/transfer.c
libgfortran/io/unit.c
libgfortran/io/unix.c
libgfortran/io/unix.h