Google
 

Trailing-Edge - PDP-10 Archives - bb-y390o-bm_tops20_v41_atpch_20 - autopatch/batcon.c15
There are no other files named batcon.c15 in the archive.
 REP 28/1	;15C1
		BTNEDT==4302		;EDIT NUMBER
 WIT
		BTNEDT==4304		;EDIT NUMBER
 INS 460/9	;15C2
	EDIT 4303	After a system crash, for batch jobs submitted with /RESTART:NO
			and no CHKPNTs, check first for reserved label %RERR::. If
			found, continue processing from that point; otherwise process
			as before, i.e., search for the first occurrence of %FINN::.
			gco 5.1241

	EDIT 4304	Correct the call to CHFDB when zeroing out word .FBBK0 of
			the log file's FDB. Use the log file's JFN, not its IFN.
			Note: this edit requires edit 4216.
			gco 5.1241

 REP 19/38	;15C3
		TRO	F,FR.LSL		;LIST SKIPPED LINES(WHOLE CTL)
		JRST	FINSRC			;GO TO %FIN::
 WIT
	;**;[4303]At NORM.1:+2L replace 2 lines with 6 lines  JCR  6/11/86
		TRO	F,FR.FIN!FR.RER		;[4303]Bypass %FIN::, search for %RERR
		TRZ	F,FR.LSL		;[4303]Don't list skipped lines
		MOVE	S1,[SIXBIT/%RERR/]	;[4303]Look for %RERR
		MOVEM	S1,.JLABL(R)		;[4303]Place in the data base
		SETOM	.JCRER(R)		;[4303]First search for %RERR
		JRST	LABSRC			;[4303]Do the search
 REP 9/45	;15C4
		JRST	NORM.1		;OUTPUT ERROR AND GO TO %FIN::
 WIT
	;**;[4303]At GOTO.1:+1L Change 1 line  JCR  6/11/86
		JRST	SRCFIN		;[4303]Output error and go to %FIN::
 REP 31/45	;15C5
		JRST	NORM.1		;ISSUE ERROR AND GOTO %FIN::
 WIT
	;**;[4303]At BACK.1:+1L change 1 line  JCR  6/11/86
		JRST	SRCFIN		;[4303]Issue error and go to %FIN::
 REP 18/47	;15C6
		JRST	NORM.1		;GIVE ERROR AND GOTO %FIN::

 WIT
	;**;[4303]At IF...E:+2L change 1 line  JCR  6/11/86
		JRST	SRCFIN		;[4303]Give error and go to %FIN::
 REP 26/49	;15C7
		JRST	FINSRC		;GOTO %FIN::
 WIT
	;**;[4303]At ER...1:+7L replace 1 line with 2 lines  JCR  6/11/86
		MOVE	S1,[SIXBIT/%FIN/] ;[4303]Look for a %FIN::
		JRST	FINSR3		;[4303]GOTO %FIN::

 REP 49/49	;15C8
		SKIPA	S1,[SIXBIT/%TERR/]  ;SET UP FOR SEARCH
	FINSRC:	MOVE	S1,[SIXBIT/%FIN/] ;LABEL WE WANT
		MOVEM	S1,.JLABL(R)
		JRST	LABSRC		;NOW SEARCH FOR IT
 WIT
	;**;[4303]At TIMERR:+6L replace 4 lines with 24 lines  JCR  6/11/86
		MOVE	S1,[SIXBIT/%TERR/]  ;[4303]Set up for search
		JRST	FINSR3		;[4303]Do the search
	FINSRC:	$CALL	SAVPOS		;[4303]Save the current file position
		TRO	F,FR.%SG	;[4303]% is legal
		$CALL	GETSIX		;[4303]Get the potential label
		CAIE	CH,":"		;[4303]Was it a label?
		JRST	FINSR2		;[4303]No, so search for %FIN::
		CAMN	S1,[SIXBIT/%RERR/] ;[4303]Was the label a %RERR:: ?
		SKIPA			;[4303]Yes, the one we want
	FINSR2:	MOVE	S1,[SIXBIT/%FIN/] ;[4303]The label we want
		PUSH	P,S1		;[4303]Destroyed by REPOSI
		$CALL	REPOSI		;[4303]Restore the original position
		POP	P,S1		;[4303]Restore the label
	FINSR3:	MOVEM	S1,.JLABL(R)	;[4303]Store in the data base
		JRST	LABSRC		;[4303]NOW SEARCH FOR IT

	;[4303]Here on label errors from GOTO, CHKPNT, IF and operator
	;[4303]response not allowed.

	SRCFIN:	$CALL	L$CMNT##	;[4303]Set up for comment
		$TEXT	(L$OUT1,<? ^T/(T1)/>) ;[4303]Output message to log
		TRO	F,FR.LSL	;[4303]List skipped lines
		MOVE	S1,[SIXBIT/%FIN/] ;[4303]Label we want
		MOVEM	S1,.JLABL(R)	;[4303]Place in the data base

 REP 12/50	;15C9
		PUSHJ	P,GETSIX	;GET A POSSIBLE LABEL
 WIT
	;**;[4303]At LABS.0:+6L replace 1 line with 8 lines  JCR  6/11/86
		JUMPGE	CH,LABS0A	;[4303]End of the file found?
		SETZM	.JCUSI(R)	;[4303]Yes, position the file to the start
		$CALL	REPOSI		;[4303]Yes, Reposition the file
		TRZ	F,FR.FIN	;[4303]Do not skip over %FIN::
		TRO	F,FR.LSL	;[4303]List skipped lines
		MOVE	S1,[SIXBIT/%FIN/] ;[4303]Look for a %FIN:: this time
		JRST	FINSR3		;[4303]Try for a %FIN this time
	LABS0A:	PUSHJ	P,GETSIX	;[4303]GET A POSSIBLE LABEL
 INS 38/50	;15C10
	;**;[4303]At LABFND:+7L add 11 lines  JCR  6/11/86
		TRNN	F,FR.RER	;[4303]Looking for %RERR:: ?
		JRST	LABF.1		;[4303]No, so just output the label
		CAME	S1,[SIXBIT/%RERR/]  ;[4303]Is this a %RERR:: ?
		  JRST	LABF.1		;[4303]No, so just output the label
		SKIPL	.JCRER(R)	;[4303]Yes, first time for search?
		JRST	FINFND		;[4303]No, treat as a %FIN::
		TRO	F,FR.LSL	;[4303]Yes, this time list skipped lines
		SETZM	.JCRER(R)	;[4303]Second time for %RERR:: search
		SETZM	.JCUSI(R)	;[4303]Position file to the start
		$CALL	REPOSI		;[4303]Position the file
		JRST	LABSRC		;[4303]Find the %RERR:: and list skipped lines
 REP 3/52	;15C11
	FINFND:	CAMN	S1,.JLABL(R)	;WERE WE SEARCHING FOR %FIN::
 WIT
	;**;[4303]At FINFND:+0L replace 1 line with 2 lines  JCR  6/11/86
	FINFND:	TRZ	F,FR.RER	;[4303]Turn off looking for %RERR::
		CAMN	S1,.JLABL(R)	;[4303]Were we searching for %FIN:: (or %RERR)?
 REP 24/68	;15C12

	ZFBBK0:	HRLI	S1,.FBBK0	;[4216]Pick up the word to be changed
		HRR	S1,.JLJFN(R)	;[4216]Log file JFN
 WIT
	;**;[4304]At ZFBBK0:+0L replace 2 lines with 4 lines  JCR  7/18/86
	ZFBBK0:	MOVE	S1,.JLJFN(R)	;[4304]Get the log file's IFN
		MOVEI	S2,FI.CHN	;[4304]Get the log file's JFN
		$CALL	F%INFO		;[4304]Return the JFN in S1
		HRLI	S1,.FBBK0	;[4304]Pick up the word to be changed
 REP 13/75	;15C13
	GETCT1:	JRST	CLOSJB		;END OF CTL..END JOB
 WIT
	;**;[4303]At GETCT1:+0L replace 1 line with 4 lines  JCR  6/11/86
	GETCT1:	TRZN	F,FR.RER	;[4303]Looking for a %RERR:: ?
		JRST	CLOSJB		;[4303]No, end of CTL..end job
		SETO	CH,		;[4303]Indicate failed to find %RERR::
		POPJ	P,		;[4303]And return
 INS 13/89	;15C14
	;**;[4303]At GETONE:+3L add 1 line  JCR  6/11/86
		JUMPL	CH,CPOPJ3	;[4303]End of CTL file while looking for %RERR
 REP 93/102	;15C15
		PJRST	NORM.1			;CHECK ERROR AND RETURN


 WIT
	;**;[4303]At SNWT.E:+5L change 1 line  JCR  6/11/86
		PJRST	SRCFIN			;[4303]Check error and return
 SUM 18645