aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorBud Davis <bdavis9659@comcast.net>2004-12-02 04:13:21 +0000
committerBud Davis <bdavis@gcc.gnu.org>2004-12-02 04:13:21 +0000
commit8dc4d66aa7ec5bfe543ac3842ea9d4b3d535b3dc (patch)
tree306dab8076c065a717c4dae252792365f72e726b /libgfortran
parentdf65f0938c4b76b388958c04666e0efd279ba333 (diff)
downloadgcc-8dc4d66aa7ec5bfe543ac3842ea9d4b3d535b3dc.zip
gcc-8dc4d66aa7ec5bfe543ac3842ea9d4b3d535b3dc.tar.gz
gcc-8dc4d66aa7ec5bfe543ac3842ea9d4b3d535b3dc.tar.bz2
inquire.c (inquire_via_unit): do not allow a direct access file to be opened for sequential I/O.
2004-12-02 Bud Davis <bdavis9659@comcast.net> * io/inquire.c (inquire_via_unit): do not allow a direct access file to be opened for sequential I/O. * gfortran.dg/inquire.f90: New test. From-SVN: r91610
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog5
-rw-r--r--libgfortran/io/inquire.c9
2 files changed, 12 insertions, 2 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 179ed9b..e90c0fa 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2004-12-02 Bud Davis <bdavis9659@comcast.net>
+
+ * io/inquire.c (inquire_via_unit): do not allow a direct access
+ file to be opened for sequential I/O.
+
2004-12-02 Steven G. Kargl <kargls@comcast.net>
Paul Brook <paul@codesourcery.com>
diff --git a/libgfortran/io/inquire.c b/libgfortran/io/inquire.c
index 36957dd..a93f99d 100644
--- a/libgfortran/io/inquire.c
+++ b/libgfortran/io/inquire.c
@@ -73,8 +73,13 @@ inquire_via_unit (gfc_unit * u)
if (ioparm.sequential != NULL)
{
- p = (u == NULL) ? inquire_sequential (NULL, 0) :
- inquire_sequential (u->file, u->file_len);
+ /* disallow an open direct access file to be accessed
+ sequentially */
+ if (u->flags.access==ACCESS_DIRECT)
+ p = "NO";
+ else
+ p = (u == NULL) ? inquire_sequential (NULL, 0) :
+ inquire_sequential (u->file, u->file_len);
cf_strcpy (ioparm.sequential, ioparm.sequential_len, p);
}