re PR libfortran/20788 (Loading libgfortran.so clobbers C redirection of stdin/stdout/stderr)

PR libfortran/20788
	Missing entry from previous commit:
	* io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
	we don't we to mmap this stream. Use fd_open instead of mmap_open
	in that case.
	(open_external): Call fd_to_stream with avoid_mmap = 0.
	(input_stream): Call fd_to_stream with avoid_mmap = 1.
	(output_stream): Likewise.
	(error_stream): Likewise.

	Really committing:
	* io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
	non-blank characters of a real number.

From-SVN: r99508
This commit is contained in:
Francois-Xavier Coudert 2005-05-10 10:34:58 +02:00 committed by François-Xavier Coudert
parent 9a9e266b0b
commit 8809f6f945
2 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,14 @@
2005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR libfortran/20788
* io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
we don't we to mmap this stream. Use fd_open instead of mmap_open
in that case.
(open_external): Call fd_to_stream with avoid_mmap = 0.
(input_stream): Call fd_to_stream with avoid_mmap = 1.
(output_stream): Likewise.
(error_stream): Likewise.
2005-05-09 Mike Stump <mrs@apple.com>
* configure: Regenerate.

View File

@ -536,9 +536,11 @@ read_f (fnode * f, char *dest, int length)
exponent_sign = 1;
/* A digit (or a '.') is required at this point */
/* A digit, a '.' or a exponent character ('e', 'E', 'd' or 'D')
is required at this point */
if (!isdigit (*p) && *p != '.')
if (!isdigit (*p) && *p != '.' && *p != 'd' && *p != 'D'
&& *p != 'e' && *p != 'E')
goto bad_float;
/* Remember the position of the first digit. */