diff options
author | Janne Blomqvist <jblomqvi@cc.hut.fi> | 2004-05-16 17:07:58 +0300 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2004-05-16 14:07:58 +0000 |
commit | d464f8e99ef16ef8eb26f285e54a2d5ce6024c64 (patch) | |
tree | fc5b18ebbb3380f95f4884f2faff23226c4d27e6 /libgfortran | |
parent | 000aa32a49ae77b3703599eb9a66b9f7d0ab7032 (diff) | |
download | gcc-d464f8e99ef16ef8eb26f285e54a2d5ce6024c64.zip gcc-d464f8e99ef16ef8eb26f285e54a2d5ce6024c64.tar.gz gcc-d464f8e99ef16ef8eb26f285e54a2d5ce6024c64.tar.bz2 |
write.c (write_logical): Don't print extra blank.
* io/write.c (write_logical): Don't print extra blank.
(write_integer): Base field width on kind.
(list_formatted_write): Output initial blank.
Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r81914
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 7 | ||||
-rw-r--r-- | libgfortran/io/write.c | 30 |
2 files changed, 33 insertions, 4 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 27531d8..05609b4 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,4 +1,11 @@ 2004-05-16 Janne Blomqvist <jblomqvi@cc.hut.fi> + Paul Brook <paul@codesourcery.com> + + * io/write.c (write_logical): Don't print extra blank. + (write_integer): Base field width on kind. + (list_formatted_write): Output initial blank. + +2004-05-16 Janne Blomqvist <jblomqvi@cc.hut.fi> * io/io.h (flush): Add prototype. * io/transfer.c (finalize_transfer): Flush partial records. diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c index 05dbd9b..8e5a320 100644 --- a/libgfortran/io/write.c +++ b/libgfortran/io/write.c @@ -875,12 +875,10 @@ write_char (char c) /* write_logical()-- Write a list-directed logical value */ -/* Default logical output should be L2 - according to DEC fortran Manual. */ + static void write_logical (const char *source, int length) { - write_char (' '); write_char (extract_int (source, length) ? 'T' : 'F'); } @@ -893,10 +891,33 @@ write_integer (const char *source, int length) char *p; const char *q; int digits; - int width = 12; + int width; q = itoa (extract_int (source, length)); + switch (length) + { + case 1: + width = 4; + break; + + case 2: + width = 6; + break; + + case 4: + width = 11; + break; + + case 8: + width = 20; + break; + + default: + width = 0; + break; + } + digits = strlen (q); if(width < digits ) @@ -1039,6 +1060,7 @@ list_formatted_write (bt type, void *p, int len) { g.first_item = 0; char_flag = 0; + write_char (' '); } else { |