* io/open.c (new_unit): Use the right unit number when checking
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Nov 2005 10:18:11 +0000 (10:18 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Nov 2005 10:18:11 +0000 (10:18 +0000)
for stdin, stdout, stderr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107413 138bc75d-0d04-0410-961f-82ee72b054a4

libgfortran/ChangeLog
libgfortran/io/open.c

index eff2880..c777d34 100644 (file)
@@ -1,3 +1,8 @@
+2005-11-23  Alan Modra  <amodra@bigpond.net.au>
+
+       * io/open.c (new_unit): Use the right unit number when checking
+       for stdin, stdout, stderr.
+
 2005-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
        PR libgfortran/24794
index a1bc99b..5459509 100644 (file)
@@ -339,9 +339,9 @@ new_unit (st_parameter_open *opp, gfc_unit *u, unit_flags * flags)
   if ((opp->common.flags & IOPARM_OPEN_HAS_FILE) != 0)
     u2 = find_file (opp->file, opp->file_len);
   if (u2 != NULL
-      && (options.stdin_unit < 0 || u->unit_number != options.stdin_unit)
-      && (options.stdout_unit < 0 || u->unit_number != options.stdout_unit)
-      && (options.stderr_unit < 0 || u->unit_number != options.stderr_unit))
+      && (options.stdin_unit < 0 || u2->unit_number != options.stdin_unit)
+      && (options.stdout_unit < 0 || u2->unit_number != options.stdout_unit)
+      && (options.stderr_unit < 0 || u2->unit_number != options.stderr_unit))
     {
       unlock_unit (u2);
       generate_error (&opp->common, ERROR_ALREADY_OPEN, NULL);