jon@astro.ucla.edu (Jonathan Eisenhamer) (03/11/89)
To All Spots,
A problem has been noted with the procedure system(3F) in fortran. Below
is an example program + input file. The problem is that all opened files
are truncated as soon as a call to system(3F) is made. For the program
below, the first line is read, the system call is made, and when the
second line read is attempted, it ends on the EOF statement. If the
system call is removed, it works fine. If system(3F) is replaced with a
call to a C routine which just calls system(3), the program also works
fine.
Stdin, etc, are also affected. This can be seen by removing the open
statement and changing the "read (20..." to "read( *..." and performing
the command: "cat testinput | a.out"
Is this a known bug with system(3F)? or is this a "feature"? This is
under 3.5SunOs.
Thanks for your time,
Jonathan Eisenhamer
jon@astro.ucla.edu
jon@uclastro.bitnet
bonnie::jon (span 5.708)
__________
program fd
character*40 line
open( 20, file='./testinput' )
call system( 'echo "We are calling the system"' )
10 read(20, '(a)', end=999, err=900) line
write( *, * ) line
call system( 'echo "We are calling the system"' )
goto 10
900 continue
write( *, * ) 'It errored out.'
999 continue
write( *, * ) 'File is closing.'
close( 20 )
end
__________ file ./testinput
This is line 1
this is line 2
this is line 3
this is line 4
this is line 5schwartz@shire.cs.psu.edu (Scott Schwartz) (03/30/89)
jon@astro (Jonathan Eisenhamer) writes: >Is this a known bug with system(3F)? or is this a "feature"? This is >under 3.5SunOs. It works correctly under 4.0+. -- Scott Schwartz <schwartz@shire.cs.psu.edu>
TS46@DFVLRGO1.BITNET (04/04/89)
> A problem has been noted with the procedure system(3F) in fortran. > ...all opened files are truncated as soon as a call to system(3F) is made. This is definitively a bug. I had the same problem earlier. SUNOS 3.4 and 3.5. (don't know about earlier releases) B.Walter german aerospace research establishment DLR TS46.dfvlrgo1.bitnet
zjat02@uunet.uu.net (Jon A. Tankersley) (04/22/89)
Ahhh.. But there are other problems with system under 4.x fortran. They have a patch available for it. -tank- #include <std/disclaimer.h> /* nobody knows the trouble I .... */