Article: Q112344
Product(s): Microsoft Fortran Compiler
Version(s): 1.0
Operating System(s):
Keyword(s):
Last Modified: 24-MAR-2000
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft FORTRAN PowerStation for MS-DOS, version 1.0
-------------------------------------------------------------------------------
SYMPTOMS
========
Attempting to CLOSE, REWIND, or BACKSPACE an unformatted file that was opened
with ACCESS='APPEND' produces the run-time error:
run-time error F6422:
- no space left on device
RESOLUTION
==========
Do not open unformatted files with ACCESS='APPEND'. Read to the end of the
unformatted file and then start writing the new information. Another solution is
to use FORM='BINARY' with ACCESS= 'APPEND'.
STATUS
======
Microsoft has confirmed this to be a problem in FORTRAN PowerStation version 1.0
for MS-DOS. This problem has been resolved with FORTRAN PowerStation maintenance
release version 1.0a for MS-DOS.
FORTRAN PowerStation version 1.0 can be differentiated from the maintenance
release version 1.0a by invoking the linker. Typing "link32 | more" (without the
quotation marks) from \F32\BIN directory will show version 2.8 for FORTRAN
PowerStation version 1.0, and it will show version 1.0f for the maintenance
release version 1.0a.
MORE INFORMATION
================
The following sample produces the F6422 error with Fortran PowerStation for
MS-DOS version 1.0, but does not with version 1.0a.
Sample Code #1
--------------
Compile options: None
open (1,file='newfile.dat',form='unformatted')
do j=1,2
write(1) j
enddo
close(1)
open (1,file='newfile.dat',form='unformatted',access='append')
do j=1,2
write(1) j
enddo
close(1) ! F6422 here
end
Obtain the functionality of ACCESS='APPEND' by reading to the end of the file
before writing the appended records. This is shown in the sample below:
Sample Code #2
--------------
Compile options: None
open (1,file='newfile.dat',form='unformatted')
do j=1,2
write(1) j
enddo
close(1)
open (1,file='newfile.dat',form='unformatted')
do while (.not.EOF(1))
read(1) j ! READ to end of file
enddo
do j=1,2
write(1) j ! APPEND additional information
enddo
close(1)
end
Additional query words: 1.00 1.00a buglist1.00 fixlist1.00a
======================================================================
Keywords :
Technology : kbAudDeveloper kbFortranSearch kbZNotKeyword3 kbFORTRANPower100DOS
Version : :1.0
Issue type : kbbug
Solution Type : kbfix
=============================================================================