From 37d1bbbc62c35efaa1a590e98252ce8190ec5aee Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Fri, 14 Aug 2009 21:10:06 +0000 Subject: [PATCH] re PR libfortran/32784 ([win32] Using 'CONOUT$', 'CONIN$', or 'CONERR$' as assigned file generates Fortran runtime error: Bad file descriptor) 2009-08-14 Jerry DeLisle PR libfortran/32784 io/unix.c (regular_file): Add support for CONIO on mingw. From-SVN: r150779 --- libgfortran/io/unix.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c index 8c7bf86c2bd9..4ecba3a8f69e 100644 --- a/libgfortran/io/unix.c +++ b/libgfortran/io/unix.c @@ -917,6 +917,27 @@ regular_file (st_parameter_open *opp, unit_flags *flags) } #endif + +#ifdef __MINGW32__ + if (opp->file_len == 7) + { + if (strncmp (path, "CONOUT$", 7) == 0 + || strncmp (path, "CONERR$", 7) == 0) + { + fd = open ("CONOUT$", O_WRONLY); + flags->action = ACTION_WRITE; + return fd; + } + } + + if (opp->file_len == 6 && strncmp (path, "CONIN$", 6) == 0) + { + fd = open ("CONIN$", O_RDONLY); + flags->action = ACTION_READ; + return fd; + } +#endif + rwflag = 0; switch (flags->action) -- 2.47.2