From 2ac7316d991eec35011eaa0c6fa058c79f38bacc Mon Sep 17 00:00:00 2001 From: Janne Blomqvist Date: Wed, 8 Apr 2009 20:06:34 +0300 Subject: [PATCH] open.c (already_open): Test for POSIX close return value. 2009-04-08 Janne Blomqvist * io/open.c (already_open): Test for POSIX close return value. * io/unit.c (close_unit_1): Likewise. * io/unix.c (raw_close): Return 0 for success for preconnected units. From-SVN: r145761 --- libgfortran/ChangeLog | 6 ++++++ libgfortran/io/open.c | 2 +- libgfortran/io/unit.c | 2 +- libgfortran/io/unix.c | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 8bc904acba6c..49b00c7bf853 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2009-04-08 Janne Blomqvist + + * io/open.c (already_open): Test for POSIX close return value. + * io/unit.c (close_unit_1): Likewise. + * io/unix.c (raw_close): Return 0 for success for preconnected units. + 2009-04-08 Janne Blomqvist * runtime/string.c (compare0): Use gfc_charlen_type. diff --git a/libgfortran/io/open.c b/libgfortran/io/open.c index 7caa1c9ffdc0..e3709f72333f 100644 --- a/libgfortran/io/open.c +++ b/libgfortran/io/open.c @@ -682,7 +682,7 @@ already_open (st_parameter_open *opp, gfc_unit * u, unit_flags * flags) } #endif - if (sclose (u->s) == FAILURE) + if (sclose (u->s) == -1) { unlock_unit (u); generate_error (&opp->common, LIBERROR_OS, diff --git a/libgfortran/io/unit.c b/libgfortran/io/unit.c index 4c460166152d..00bea5a9b613 100644 --- a/libgfortran/io/unit.c +++ b/libgfortran/io/unit.c @@ -626,7 +626,7 @@ close_unit_1 (gfc_unit *u, int locked) if (u->previous_nonadvancing_write) finish_last_advance_record (u); - rc = (u->s == NULL) ? 0 : sclose (u->s) == FAILURE; + rc = (u->s == NULL) ? 0 : sclose (u->s) == -1; u->closed = 1; if (!locked) diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c index 4f8cbb535c42..2fe73bbff1b9 100644 --- a/libgfortran/io/unix.c +++ b/libgfortran/io/unix.c @@ -349,7 +349,7 @@ raw_close (unix_stream * s) && s->fd != STDIN_FILENO) retval = close (s->fd); else - retval = SUCCESS; + retval = 0; free_mem (s); return retval; }