!
! FIX OF.DDL-VERSION 1.0
! THIS PROGRAM WILL DELETE ANY INVALID EOF MARKED RECORDS
! COPYRIGHT 1982 BY DRAVIC LTD.
!
#prefix
define dbms packet ANDI.FILE using CONVEN
! ^
! |
! |
! enter your file name here! --------+
#end
!
1 NUMREC,f
1 CUR'REC,f
1 NUM'DEL,f
!
open dbms file ANDI.FILE
!
! FIRST WE MUST DETERMINE THE LAST VALID RECORD NUMBER
! WE DO THIS USING THE "STATS" CAL WHICH WILL RETURN
! THE NUMBER OF ALLOCATED RECORDS IN FLAG1
!
stats on ANDI.FILE
NUMREC = FLAG1
print "Processing";NUMREC;"records"
!
! NEXT WE SPIN THROUGH THE FILE LOOKING FOR RECORDS
! TO DELETE
!
do CUR'REC=CUR'REC+1 until CUR'REC=NUMREC+1 from CUR'REC=1
read record CUR'REC from ANDI.FILE
print ".";
when FLAG1=2
delete record from ANDI.FILE
print
print "fixing record";CUR'REC
NUM'DEL=NUM'DEL+1
end when
end do
print
print "Processing complete"
print "Total records fixed:";NUM'DEL
close file ANDI.FILE
end