Function
Provides a check that issued edits have been correctly applied to the relevant GEORGE source files by confirming the validity of the checksum record.
Format
FILECHECK file description, Z
Where:
Forbidden contexts
NO USER, BREAK IN
Execution
The program :LIB.PROGRAM XKA9 is loaded and the file specified in the file description is ASSIGNed as *CR0. Word 0 is set to the generation number of the file and the program is entered at entry point 0.
The program HALTs OK if the checksum is acceptable, or HALTs with an appropriate error message if not. Should an unexpected event occur, a core print is obtained. Unless the program fails in such a way as to require a core print, the macro does not delete the core image on EXITing. This means that #XKA9 is not deleted and reloaded if several FILECHECKs are performed in succession.
Exception Conditions
DISPLAY: UNEXPECTED HALT - CORE PRINT TAKEN
DISPLAY: ERROR IN MACRO FILECHECK
PROGRAM XKA9
Execution
The program can only be run under GEORGE 3/4. The program reads the file that has been ASSIGNed as *CR0 and checksums the records; at the same time it checks that keys are in ascending sequence. When the file is exhausted, the program checks whether the last record contains the terminal key and, if so, checks the calculated checksum and the file generation number passed to the program by the FILECHECK macro against those found in the checksum record.
If no error has been found the program HALTs OK.
If switch 1 is on, records with zero keys are excluded from both the checksumming and sequence checking.
Exception Conditions
HALTED: !INCORRECT CHECKSUM AND GEN. NO.
HALTED: !INCORRECT CHECKSUM
HALTED: !INCORRECT GEN. NO.
HALTED: !CHECKSUM RECORD MISSING
HALTED: !TOO MANY CONTINUATION LINES
HALTED: !KEYS OUT OF ORDER AT RECORD NO n
Library Entrants Accessed
:LIB.PROGRAM XKA9 (Execute)