[net.lang.f77] F77 formatter has a loop in it.

kel@ea.UUCP (05/21/84)

#N:ea:5800001:000:378
ea!kel    May 21 12:42:00 1984

	There is an obscure bug in do_fio (formatting) that I tripped
over when porting some code that uses a wierd form of list-formatted
input.  If the formatter sees a zero in a format, it will try to do io
forever.  It's not likely that anyone else has had this problem, but
if a fix pops up (recognition of an invalid format, for instance), I'd
like to see it.

					Ken Lonquest

kel@ea.UUCP (05/29/84)

#R:ea:5800001:ea:5800002:000:831
ea!kel    May 29 14:42:00 1984

As I have gotten some inquiries after my admittedly inadequate description
of a forever looping condition in the 4.2bsd do_fio, here's more:

The bug I was bit by is evoked by formats of the form 'a0', 'i0', etc.
for example:

      character * 80 thing
      data thing/'This is a test thing.  This has been a test thing.'/
      write(6, 1001) thing
1001  format(a0)
      stop
      end

	will write output to stdout forever.

As will be apparent by now, this problem is an artifact of a very
obscure dialect (bastardization?) of fortran.  By the way, when I
cooked up this example, I discovered that the formatter detects
an invalid format if you put the 'a0' directly into the write
statement.

If you get a fix for this, it might be nice for me to have, though
I've been warned about it, since I don't have source.

				Ken