diff options
-rw-r--r-- | libgfortran/ChangeLog | 5 | ||||
-rw-r--r-- | libgfortran/io/unix.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index f34b4df..d29f4f4 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org> + + * io/unix.c (buf_write): Return early if there is + nothing to write. + 2017-06-09 Thomas Koenig <tkoenig@gcc.gnu.org> * intrinsics/eoshift2.c (eoshift2): Use memcpy diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c index c76b427..61e9f79 100644 --- a/libgfortran/io/unix.c +++ b/libgfortran/io/unix.c @@ -582,6 +582,9 @@ buf_read (unix_stream *s, void *buf, ssize_t nbyte) static ssize_t buf_write (unix_stream *s, const void *buf, ssize_t nbyte) { + if (nbyte == 0) + return 0; + if (s->ndirty == 0) s->buffer_offset = s->logical_offset; |