Guardian Programmer's Guide

Table Of Contents
Communicating With Disk Files
Guardian Programmer’s Guide 421922-014
5 - 55
Key-Sequenced File Programming Example
!------------------------------------------------------------
! Procedure for displaying file-system error numbers on the
! terminal. The parameters are the file name, length, and
! error number. This procedure is mainly to be used when
! the file is not open, when there is no file number for it.
! FILE^ERRORS is used when the file is open.
!
! The procedure also stops the program after displaying the
! error message.
!------------------------------------------------------------
PROC FILE^ERRORS^NAME(FNAME:LEN,ERROR);
STRING .FNAME;
INT LEN;
INT ERROR;
BEGIN
! Compose and print the message
START^LINE;
PUT^STR("File system error ");
PUT^INT(ERROR);
PUT^STR(" on file " & FNAME for LEN);
CALL WRITEX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER);
! Terminate the program
CALL PROCESS_STOP_;
END;
!------------------------------------------------------------
! Procedure for displaying file-system error numbers on the
! terminal. The parameter is the file number. The file
! name and error number are determined from the file number
! and FILE^ERRORS^NAME is then called to display the
! information.
!
! FILE^ERRORS^NAME also stops the program after displaying
! the error message.
!------------------------------------------------------------
PROC FILE^ERRORS (FNUM);
INT FNUM;
BEGIN
INT ERROR;
STRING .FNAME[0:MAXFLEN - 1];
INT FLEN;
CALL FILE_GETINFO_(FNUM,ERROR,FNAME:MAXFLEN,FLEN);
CALL FILE^ERRORS^NAME(FNAME:FLEN,ERROR);
END;