This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/19568] incorrect formatted read
- From: "Thomas dot Koenig at online dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 Jan 2005 17:02:34 -0000
- Subject: [Bug libfortran/19568] incorrect formatted read
- References: <20050121174541.19568.gay@sfu.ca>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From Thomas dot Koenig at online dot de 2005-01-31 17:02 -------
This looks promising.
I'll do a full check later.
Thomas
--- transfer.c.orig 2005-01-31 18:03:12.000000000 +0100
+++ transfer.c 2005-01-31 18:04:00.000000000 +0100
@@ -150,6 +150,14 @@
else
p = base = data;
+ /* If we have seen the end of the record already, we just
+ * return blanks.
+ */
+ if (sf_seen_eor) {
+ memset(base,' ',*length);
+ return base;
+ }
+
memset(base,'\0',*length);
current_unit->bytes_left = options.default_recl;
@@ -1222,8 +1230,11 @@
case FORMATTED_SEQUENTIAL:
length = 1;
/* sf_read has already terminated input because of an '\n' */
- if (sf_seen_eor)
- break;
+ if (sf_seen_eor)
+ {
+ sf_seen_eor = 0;
+ break;
+ }
do
{
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19568