summaryrefslogtreecommitdiff
path: root/libgfortran/io/inquire.c
diff options
context:
space:
mode:
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-14 18:59:18 +0000
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-14 18:59:18 +0000
commit72d2506ee901f2106f7badfe1ed8005e218c320a (patch)
tree15b9b4aa7c9cabda8ad1628f6f1c95a9b5ea767f /libgfortran/io/inquire.c
parent8697e7b1e7ce458812a690c0c16c6b69fc71c85e (diff)
downloadgcc-72d2506ee901f2106f7badfe1ed8005e218c320a.tar.gz
2010-08-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/44931 * io/inquire.c (inquire_via_unit): Add special case for __MINGW32__ to return special file names CONIN$, CONOUT$, and CONERR$. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163245 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran/io/inquire.c')
-rw-r--r--libgfortran/io/inquire.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/libgfortran/io/inquire.c b/libgfortran/io/inquire.c
index 540fecb2c5b..c4994ed179a 100644
--- a/libgfortran/io/inquire.c
+++ b/libgfortran/io/inquire.c
@@ -83,8 +83,19 @@ inquire_via_unit (st_parameter_inquire *iqp, gfc_unit * u)
fstrcpy (iqp->name, iqp->name_len, u->file, u->file_len);
}
else
-#endif
fstrcpy (iqp->name, iqp->name_len, u->file, u->file_len);
+#elif defined __MINGW32__
+ if (u->unit_number == options.stdin_unit)
+ fstrcpy (iqp->name, iqp->name_len, "CONIN$", sizeof("CONIN$"));
+ else if (u->unit_number == options.stdout_unit)
+ fstrcpy (iqp->name, iqp->name_len, "CONOUT$", sizeof("CONOUT$"));
+ else if (u->unit_number == options.stderr_unit)
+ fstrcpy (iqp->name, iqp->name_len, "CONERR$", sizeof("CONERR$"));
+ else
+ fstrcpy (iqp->name, iqp->name_len, u->file, u->file_len);
+#else
+ fstrcpy (iqp->name, iqp->name_len, u->file, u->file_len);
+#endif
}
if ((cf & IOPARM_INQUIRE_HAS_ACCESS) != 0)