LEX 'FILELEX' ID #E1 * 225 * FILE? XFN225007 * Syntax :- * FILE?(file specifier) * Return 1 if file IS in memory * Return 0 if file NOT in memory * Ref: CHHU V2N7P44 * Saturn Interest Group * * Modified to implement Invalid Filespec & Device Not Found errors. * G.B.FRASER 31.10.86 * (see TN#16p19) * MSG 0 POLL 0 ENTRY file? CHAR #F KEY 'FILE?' TOKEN 7 ENDTXT * * FILXQ? EQU #09B95 BSERR EQU #0939A FINDF EQU #09F77 EXPR EQU #0F23C eFSPEC EQU #3A eDVCNF EQU #40 * * * Parameter: ONE String NIBHEX 411 * Save D0 in RSTKBF file? CD0EX RSTK=C * POP Filename into A GOSBVL FILXQ? * Check if valid filename GONC error ?A#0 W GOYES valid * * Invalid Filespec * Restore D0 error C=RSTK CD0EX * ERR:Invalid Filespec LC(4) eFSPEC bserr GOVLNG BSERR * * * Save D1 in RSTKBF valid CD1EX RSTK=C * Search for specified file GOSBVL FINDF A=0 W * Found, make A=1 and exit GONC file10 * Not found B=C W LC(4) eDVCNF P= 3 ?C#B WP GOYES file20 * ERR:Device Not Found C=RSTK D1=C C=B W P= 0 GOTO bserr * Make A=1 file10 A=A+1 S ASR W * Restore Pointers & * Write result file20 C=RSTK D1=C D1=D1- 16 DAT1=A W C=RSTK CD0EX * Return GOVLNG EXPR END