summaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-12 19:54:59 +0000
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-12 19:54:59 +0000
commit195b78154268b5deaa2237f221fc962466be4087 (patch)
tree946205e270ed3be183176e0e152e2858d3d475fa /libgfortran
parent95f5e4efcd34ff723673ad948b063a11a9ef542c (diff)
downloadgcc-195b78154268b5deaa2237f221fc962466be4087.tar.gz
2005-10-12 Janne Blomqvist <jblomqvi@cc.hut.fi>
* io/unix.c: Remove parts of patch of 2005/10/07 that cause input from the terminal to hang. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105324 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog5
-rw-r--r--libgfortran/io/unix.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index cca3bbe9080..34072892ff3 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2005-10-12 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ * io/unix.c: Remove parts of patch of 2005/10/07 that cause
+ input from the terminal to hang.
+
2005-10-11 Steven G. Kargl <kargls@comcast.net>
PR libgfortran/24313
diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c
index 6fe861c573c..de018af1f03 100644
--- a/libgfortran/io/unix.c
+++ b/libgfortran/io/unix.c
@@ -440,7 +440,7 @@ static char *
fd_alloc_r_at (unix_stream * s, int *len, gfc_offset where)
{
gfc_offset m;
- size_t n;
+ int n;
if (where == -1)
where = s->logical_offset;
@@ -462,8 +462,8 @@ fd_alloc_r_at (unix_stream * s, int *len, gfc_offset where)
if (s->physical_offset != m && lseek (s->fd, m, SEEK_SET) < 0)
return NULL;
- n = s->len - s->active;
- if (do_read (s, s->buffer + s->active, &n) != 0)
+ n = read (s->fd, s->buffer + s->active, s->len - s->active);
+ if (n < 0)
return NULL;
s->physical_offset = where + n;