From: Andreas Krebbel Date: Thu, 8 Jul 2004 19:58:56 +0000 (+0000) Subject: re PR libfortran/16291 (F2003 formatting of Inf /Nan on irix6.5) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dbe81a8b250a76985950ab1c9fd761145b0b67f2;p=gcc.git re PR libfortran/16291 (F2003 formatting of Inf /Nan on irix6.5) PR fortran/16291 * libgfortran/io/write.c: (write_float): Added length check. Remove pointless memset calls. From-SVN: r84308 --- diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 14a6349f023..8458be34da2 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2004-07-08 Andreas Krebbel + + PR fortran/16291 + * libgfortran/io/write.c: (write_float): Added length check. + Remove pointless memset calls. + 2004-07-04 Bud Davis Paul Brook @@ -5,9 +11,9 @@ * io/transfer.c(us_write): set recl for seq unform writes to max size. * io/transfer.c(data_transfer_init): handle un-opened seq unform unit. * io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at - right time. + right time. * io/unix.c(is_seekable): set based upon the file/device, not the - method being used to access it (fd or mmap). + method being used to access it (fd or mmap). * io/unix.c(fd_flush): don't set file_size if !seekable. * io/unix.c(fd_truncate: ditto. diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c index 3602c1b9157..749a34a4834 100644 --- a/libgfortran/io/write.c +++ b/libgfortran/io/write.c @@ -535,10 +535,10 @@ write_float (fnode *f, const char *source, int len) memcpy(p + nb - 8, "Infinity", 8); else memcpy(p + nb - 3, "Inf", 3); - if (nb < 8) - memset(p + nb - 4, fin, 1); + if (nb < 8 && nb > 3) + p[nb - 4] = fin; else if (nb > 8) - memset(p + nb - 9, fin, 1); + p[nb - 9] = fin; } else memcpy(p + nb - 3, "NaN", 3);