re PR fortran/45710 (Adjust format and padding for WRITE of NAMELIST group to internal file)

2010-09-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/45710
	* io/write.c (namelist_write_newline): Pad character array internal
	unit records with spaces.

From-SVN: r164543
This commit is contained in:
Jerry DeLisle 2010-09-23 00:53:15 +00:00
parent 7d98865eda
commit 4363c7a151
2 changed files with 20 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2010-09-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/45710
* io/write.c (namelist_write_newline): Pad character array internal
unit records with spaces.
2010-09-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/45723

View file

@ -1630,6 +1630,20 @@ namelist_write_newline (st_parameter_dt *dtp)
{
gfc_offset record;
int finished;
char *p;
int length = dtp->u.p.current_unit->bytes_left;
p = write_block (dtp, length);
if (p == NULL)
return;
if (unlikely (is_char4_unit (dtp)))
{
gfc_char4_t *p4 = (gfc_char4_t *) p;
memset4 (p4, ' ', length);
}
else
memset (p, ' ', length);
/* Now that the current record has been padded out,
determine where the next record in the array is. */