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