ICL 1900 Series George 3 Operating System Macros

FILECHECK

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)