mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-10 23:45:34 +08:00
re PR libfortran/31607 (CALL SYSTEM produces garbled output when writing to a buffered file)
PR libfortran/31607 * intrinsics/system.c (system_sub): Call flush_all_units. * io/io.h (flush_all_units): Move prototype to libgfortran.h. * libgfortran.h (flush_all_units): Add prototype. From-SVN: r124510
This commit is contained in:
parent
adcbdf5c45
commit
25a5e75613
@ -1,3 +1,10 @@
|
||||
2007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||||
|
||||
PR libfortran/31607
|
||||
* intrinsics/system.c (system_sub): Call flush_all_units.
|
||||
* io/io.h (flush_all_units): Move prototype to libgfortran.h.
|
||||
* libgfortran.h (flush_all_units): Add prototype.
|
||||
|
||||
2007-05-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR libfortran/31201
|
||||
|
@ -49,6 +49,9 @@ system_sub (const char *fcmd, GFC_INTEGER_4 *status, gfc_charlen_type cmd_len)
|
||||
char cmd[cmd_len + 1];
|
||||
int stat;
|
||||
|
||||
/* Flush all I/O units before executing the command. */
|
||||
flush_all_units();
|
||||
|
||||
memcpy (cmd, fcmd, cmd_len);
|
||||
cmd[cmd_len] = '\0';
|
||||
|
||||
|
@ -586,9 +586,6 @@ internal_proto(compare_file_filename);
|
||||
extern gfc_unit *find_file (const char *file, gfc_charlen_type file_len);
|
||||
internal_proto(find_file);
|
||||
|
||||
extern void flush_all_units (void);
|
||||
internal_proto(flush_all_units);
|
||||
|
||||
extern int stream_at_bof (stream *);
|
||||
internal_proto(stream_at_bof);
|
||||
|
||||
|
@ -666,6 +666,11 @@ internal_proto(fstrcpy);
|
||||
extern void cf_strcpy (char *, int, const char *);
|
||||
internal_proto(cf_strcpy);
|
||||
|
||||
/* io/intrinsics.c */
|
||||
|
||||
extern void flush_all_units (void);
|
||||
internal_proto(flush_all_units);
|
||||
|
||||
/* io.c */
|
||||
|
||||
extern void init_units (void);
|
||||
|
Loading…
Reference in New Issue
Block a user