93200 #include "rundecs.h" 93210 (* COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER *) 93220 (**) 93230 PROCEDURE SETREADMOOD(PCOV:OBJECTP); EXTERN; 93240 (**) 93250 (*+01() (*$X6*) ()+01*) 93260 FUNCTION PROC( PROCEDURE P (*-01() ( COV: OBJECTP ; EFET: FETROOMP ) ()-01*) ): ASPROC ; EXTERN ; 93270 (*-01() 93280 FUNCTION PROC1( 93290 PROCEDURE P( COV: OBJECTP ; CHARS: GETBUFTYPE ; TERM: TERMSET ; I: INTEGER ; EFET: FETROOMP ) 93300 ): ASPROC ; EXTERN ; 93310 ()-01*) 93320 PROCEDURE AOPEN( EFET:FETROOMP; DISP:INTEGER; LFN:LFNTYPE; BUF:IPOINT ); EXTERN; 93330 PROCEDURE SIRDSTR(COV: OBJECTP; CHARS: GETBUFTYPE; TERM (*+01(),TERM1()+01*): TERMSET; I: INTEGER; EFET: FETROOMP); 93340 EXTERN; 93350 PROCEDURE SINEWLINE(COV: OBJECTP; EFET: FETROOMP); EXTERN; 93360 PROCEDURE SINEWPAGE(COV: OBJECTP; EFET: FETROOMP); EXTERN; 93370 PROCEDURE SIRESET(COV: OBJECTP; EFET: FETROOMP); EXTERN; 93380 (**) 93390 (**) 93400 PROCEDURE STINCH(PCOV: OBJECTP; LFN: LFNTYPE); 93410 (*+01() VAR AW66: ^W66; ()+01*) 93420 BEGIN WITH PCOV^ DO 93430 BEGIN CHARBOUND:=MAXINT; 93440 LINEBOUND:=MAXINT; 93450 PAGEBOUND:=MAXINT; 93460 POSSIBLES:=[GETPOSS]; 93470 (*+01() 93480 AW66 := ASPTR(66B); 93490 IF (LFN= 'INPUT:::::') AND (AW66^.JOPR=3) THEN (*INPUT AND ONLINE*) 93500 BEGIN 93510 AOPEN( BOOK, FORREAD + ONLINE, LFN, ORD(BOOK)+BUFFOFFSET ) ; 93520 STATUS := [OPENED,NOTINITIALIZED,NOTRESET,LFE,PAGEOVERFLOW,LINEOVERFLOW,CHARMOOD,LAZY,NOTSET] 93530 END 93540 ELSE 93550 ()+01*) 93560 BEGIN 93570 AOPEN( BOOK, FORREAD, LFN, ORD(BOOK)+BUFFOFFSET ) ; 93580 STATUS := [OPENED,NOTRESET,CHARMOOD,NOTSET(*-01(),LAZY()-01*)] 93590 END; 93600 (*+01() 93610 IF BOOK^.LFN<>'INPUT::' THEN POSSIBLES := POSSIBLES+[RESETPOSS]; 93620 ()+01*) 93630 DOGETS := PROC(*-01()1()-01*)(SIRDSTR); 93640 DONEWLINE := PROC(SINEWLINE); 93650 DONEWPAGE := PROC(SINEWPAGE); 93660 DORESET := PROC(SIRESET); 93670 SETREADMOOD(PCOV) 93680 END 93690 END; 93700 (*+01() (*$X4*) ()+01*) 93710 (**) 93720 (**) 93730 (*-02() 93740 BEGIN (*OF A68*) 93750 END; (*OF A68*) 93760 ()-02*) 93770 (*+01() 93780 BEGIN (*OF MAIN PROGRAM*) 93790 END (* OF EVERYTHING *). 93800 ()+01*)