aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/io/open.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/io/open.c')
-rw-r--r--libgfortran/io/open.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libgfortran/io/open.c b/libgfortran/io/open.c
index be8f4bb..d7448c0 100644
--- a/libgfortran/io/open.c
+++ b/libgfortran/io/open.c
@@ -555,7 +555,7 @@ new_unit (st_parameter_open *opp, gfc_unit *u, unit_flags * flags)
if (flags->position == POSITION_APPEND)
{
- if (sseek (u->s, 0, SEEK_END) < 0)
+ if (file_size (opp->file, opp->file_len) > 0 && sseek (u->s, 0, SEEK_END) < 0)
generate_error (&opp->common, LIBERROR_OS, NULL);
u->endfile = AT_ENDFILE;
}