REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 1 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (1) ; 0001 MODULE REAUDIT ( ; 0002 MAIN = REAUDIT, ; 0003 ADDRESSING_MODE (EXTERNAL=LONG_RELATIVE, NONEXTERNAL=LONG_RELATIVE), ; 0004 LANGUAGE (BLISS32), ; 0005 IDENT = 'X0001E' ; 0006 ) = ; 0007 BEGIN ; 0008 ; 0009 ! ; 0010 ! Copyright (c) 1979 ; 0011 ! Digital Equipment Corporation, Maynard, Massachusetts 01754 ; 0012 ! ; 0013 ! This software is furnished under a license for use only on a single ; 0014 ! computer system and may be copied only with the inclusion of the ; 0015 ! above copyright notice. This software, or any other copies thereof, ; 0016 ! may not be provided or otherwise made available to any other person ; 0017 ! except for use on such system and to one who agrees to these license ; 0018 ! terms. Title to and ownership of the software shall at all times ; 0019 ! remain in DEC. ; 0020 ! ; 0021 ! The information in this software is subject to change without notice ; 0022 ! and should not be construed as a commitment by Digital Equipment ; 0023 ! Corporation. ; 0024 ! ; 0025 ! DEC assumes no responsibility for the use or reliability of its ; 0026 ! software on equipment which is not supplied by DEC. ; 0027 ; 0028 !++ ; 0029 ! ; 0030 ! FACILITY: System Update Procedure Utilities ; 0031 ! ; 0032 ! ABSTRACT: ; 0033 ! ; 0034 ! This program compares two SLP update files and applies the audit trail ; 0035 ! of any update of file 1 that is found in file 2 to the matching section ; 0036 ! of file 2. Thus the original audit trail of an old update file (file 1) ; 0037 ! is restored to a new version of that update file (file 2) where old ; 0038 ! updates are found. ; 0039 ! ; 0040 ! ENVIRONMENT: ; 0041 ! ; 0042 ! VAX/VMS Operating System ; 0043 ! ; 0044 !-- ; 0045 ! ; 0046 ! ; 0047 ! AUTHOR: Andrew C. Goldstein, CREATION DATE: 31-Jan-1979 20:54 ; 0048 ! ; 0049 ! MODIFIED BY: ; 0050 ! ; 0051 !** ; 0052 ; 0053 ; 0054 LIBRARY 'SYS$LIBRARY:STARLET.L32'; ; 0055 LIBRARY 'SYS$LIBRARY:CLIMAC.L32'; ; 0056 LIBRARY 'SYS$LIBRARY:TPAMAC.L32'; ; 0057 ; 0058 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 2 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (1) ; 0059 FORWARD ROUTINE ; 0060 REAUDIT, ! main program ; 0061 GET_UPDATE : NOVALUE, ! get next SLP update from file ; 0062 READ_LINE : NOVALUE, ! read a line from a file ; 0063 OUTPUT_COMMAND : NOVALUE, ! output a SLP command ; 0064 OUTPUT_TEXT : NOVALUE, ! output update text ; 0065 WRITE_LINE : NOVALUE, ! write line to output file ; 0066 HANDLER; ! facility condition handler ; 0067 ; 0068 ; 0069 MACRO ; M 0070 DESCRIPTOR (STRING) = ; M 0071 UPLIT (%CHARCOUNT (STRING), UPLIT BYTE (STRING)) ; 0072 %; ; 0073 ; 0074 MACRO ; M 0075 ERR_EXIT [] = ; M 0076 SIGNAL_STOP (%REMAINING) ; 0077 %; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 3 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (2) ; 0078 !+ ; 0079 ! ; 0080 ! Module own data ; 0081 ! ; 0082 !- ; 0083 ; 0084 ! ; 0085 ! Format of command data blocks allocated below. ; 0086 ! ; 0087 MACRO ; 0088 RANGE_TOP = 0, 0, 32, 0 %, ; 0089 RANGE_END = 1, 0, 32, 0 %, ; 0090 AUDIT_LEN = 2, 0, 32, 0 %, ; 0091 AUDIT_ADR = 3, 0, 32, 0 %, ; 0092 COMMENT_LEN = 4, 0, 32, 0 %, ; 0093 COMMENT_ADR = 5, 0, 32, 0 %, ; 0094 UPD_SIZE = 6, 0, 32, 0 %, ; 0095 UPD_LINE = 7, 0, 00, 0 %, ; 0096 AUDIT_TEXT = 40, 0, 00, 0 %, ; 0097 COMMENT_TEXT = 73, 0, 00, 0 %, ; 0098 UPD_TEXT =106, 0, 00, 0 %; ; 0099 ; 0100 ; 0101 OWN ; 0102 OUT_LINE : VECTOR [132, BYTE], ! output file line buffer ; 0103 PREV_AUDIT : VECTOR [2], ! descriptor of last compare audit string ; 0104 PREV_TEXT : VECTOR [132, BYTE], ! text buffer of above ; 0105 PREV_LINE, ! end line number of last primary command ; 0106 ! ; 0107 ! Parameters of current SLP command in each file ; 0108 ! ; 0109 RANGE1 : VECTOR [2], ! range of lines deleted ; 0110 AUDIT1 : VECTOR [2], ! descriptor of audit trail ; 0111 COMMENT1 : VECTOR [2], ! descriptor of comment ; 0112 SIZE1, ! number of bytes of text ; 0113 LINE1 : VECTOR [132, BYTE], ! file 1 input line ; 0114 AU_TEXT1 : VECTOR [132, BYTE], ! file 1 audit string ; 0115 CM_TEXT1 : VECTOR [132, BYTE], ! file 1 comment string ; 0116 TEXT1 : VECTOR [100000, BYTE], ! file 1 text buffer ; 0117 ; 0118 RANGE2 : VECTOR [2], ! range of lines deleted ; 0119 AUDIT2 : VECTOR [2], ! descriptor of audit trail ; 0120 COMMENT2 : VECTOR [2], ! descriptor of comment ; 0121 SIZE2, ! number of bytes of text ; 0122 LINE2 : VECTOR [132, BYTE], ! file 2 input line ; 0123 AU_TEXT2 : VECTOR [132, BYTE], ! file 2 audit string ; 0124 CM_TEXT2 : VECTOR [132, BYTE], ! file 2 comment string ; 0125 TEXT2 : VECTOR [100000, BYTE], ! file 2 text buffer ; 0126 ! ; 0127 ! SLP parser output area ; 0128 ! ; 0129 START_LINE, ! starting line number ; 0130 END_LINE, ! ending line number ; 0131 AUDIT_STRING : VECTOR [2], ! descriptor of audit trail ; 0132 COMMENT_STRING : VECTOR [2], ! descriptor of comment ; 0133 ! ; 0134 ! Command parser output area ; 0135 ! REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 4 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (2) ; 0136 FILE1 : VECTOR [2], ! descriptor of input file 1 ; 0137 FILE2 : VECTOR [2], ! descriptor of input file 2 ; 0138 OUTFILE : VECTOR [2], ! descriptor of output file ; 0139 ! ; 0140 ! TPARSE parameter block ; 0141 ! ; 0142 TPARSE_BLOCK : BLOCK [TPA$K_LENGTH0, BYTE] ; 0143 INITIAL (TPA$K_COUNT0), ; 0144 ! ; 0145 ! Request block to get command line from CLI ; 0146 ! ; 0147 GET_COMMAND : $CLIREQDESC (RQTYPE = GETCMD); ; 0148 ; 0149 ! ; 0150 ! Forward reference to TPARSE state tables ; 0151 ! ; 0152 FORWARD ; 0153 CMD_TABLE : VECTOR [0], ; 0154 CMD_KEY : VECTOR [0], ; 0155 SLP_TABLE : VECTOR [0], ; 0156 SLP_KEY : VECTOR [0]; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 5 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (3) ; 0157 ! ; 0158 ! Junk for opening files ; 0159 ! ; 0160 OWN ; 0161 INRES1 : VECTOR [132, BYTE], ! input file 1 result string ; 0162 ; P 0163 INNAM1 : $NAM ( ; P 0164 ESA = INRES1, ; P 0165 ESS = 132, ; P 0166 RSA = INRES1, ; P 0167 RSS = 132 ; 0168 ), ; P 0169 INFAB1 : $FAB ( ; P 0170 DNA = UPLIT BYTE ('.UPD'), ; P 0171 DNS = 4, ; P 0172 FAC = GET, ; P 0173 FOP = SQO, ; P 0174 NAM = INNAM1 ; 0175 ), ; P 0176 INRAB1 : $RAB ( ; P 0177 FAB = INFAB1, ; P 0178 UBF = LINE1, ; P 0179 USZ = 132 ; 0180 ), ; 0181 ; 0182 INRES2 : VECTOR [132, BYTE], ! input file 2 result string ; 0183 ; P 0184 INNAM2 : $NAM ( ; P 0185 ESA = INRES2, ; P 0186 ESS = 132, ; P 0187 RSA = INRES2, ; P 0188 RSS = 132, ; P 0189 RLF = INNAM1 ; 0190 ), ; P 0191 INFAB2 : $FAB ( ; P 0192 DNA = UPLIT BYTE ('.UPD'), ; P 0193 DNS = 4, ; P 0194 FAC = GET, ; P 0195 FOP = SQO, ; P 0196 NAM = INNAM2 ; 0197 ), ; P 0198 INRAB2 : $RAB ( ; P 0199 FAB = INFAB2, ; P 0200 UBF = LINE2, ; P 0201 USZ = 132 ; 0202 ), ; 0203 ; 0204 OUTRES : VECTOR [132, BYTE], ! output file result string ; 0205 ; P 0206 OUTNAM : $NAM ( ; P 0207 ESA = OUTRES, ; P 0208 ESS = 132, ; P 0209 RSA = OUTRES, ; P 0210 RSS = 132, ; P 0211 RLF = INNAM1 ; 0212 ), ; P 0213 OUTFAB : $FAB ( ; P 0214 FAC = PUT, REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 6 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (3) ; P 0215 FOP = (MXV, OFP, SQO), ; P 0216 NAM = OUTNAM, ; P 0217 ORG = SEQ, ; P 0218 RAT = CR, ; P 0219 RFM = VAR ; 0220 ), ; 0221 ; P 0222 OUTRAB : $RAB ( ; P 0223 FAB = OUTFAB, ; P 0224 RBF = OUT_LINE ; 0225 ); REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 7 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (4) ; 0226 !+ ; 0227 ! ; 0228 ! Error messages ; 0229 ! ; 0230 ! Macro to generate each error message. ; 0231 ! ; 0232 !- ; 0233 ; 0234 MACRO ; M 0235 ERR_MESSAGE (CODE, STRING) = ; M 0236 LITERAL %NAME ('ERR_',CODE) = MSG_CODE + FAC_CODE^16; ; M 0237 SWITCHES UNAMES; ; M 0238 PSECT OWN = $MSG_TEXT; ; M 0239 OWN MSG_TEXT : VECTOR [%CHARCOUNT(STRING)+1, BYTE] ; M 0240 INITIAL (BYTE (%CHARCOUNT (STRING), STRING)); ; M 0241 PSECT OWN = $MSG_INDEX; ; M 0242 OWN MSG_INDEX : INITIAL (MSG_TEXT); ; M 0243 UNDECLARE MSG_TEXT, MSG_INDEX; ; M 0244 SWITCHES NOUNAMES; ; M 0245 %ASSIGN (MSG_CODE, MSG_CODE+8) ; 0246 %; ; 0247 ; 0248 ! ; 0249 ! Initialize and label the message sections. ; 0250 ! ; 0251 ; 0252 PSECT ; 0253 OWN = $MSG_TEXT (NOWRITE, ALIGN(0)); ; 0254 OWN ; 0255 MESSAGE_TEXT : VECTOR [0, BYTE]; ; 0256 PSECT ; 0257 OWN = $MSG_INDEX (NOWRITE, ALIGN (2)); ; 0258 OWN ; 0259 MESSAGE_TABLE : VECTOR [0]; ; 0260 ; 0261 COMPILETIME ; 0262 MSG_CODE = 0; ; 0263 ; 0264 ! ; 0265 ! Generate the error messages ; 0266 ! ; 0267 ; 0268 LITERAL ; 0269 FAC_CODE = 69; ! or whatever ; 0270 ; 0271 ERR_MESSAGE (CMD_SYNTAX, 'Command line syntax error'); ; 0272 ERR_MESSAGE (INFILEOPEN, 'Error opening input file '); ; 0273 ERR_MESSAGE (OUTFILEOPEN, 'Error opening output file '); ; 0274 ERR_MESSAGE (OUTCLOSE, 'Error closing output file '); ; 0275 ERR_MESSAGE (SLPSYNTAX, 'SLP syntax error in file '); ; 0276 ERR_MESSAGE (BUFFOVER, 'Compare buffer overflow'); ; 0277 ERR_MESSAGE (READIN, 'I/O error on input file '); ; 0278 ERR_MESSAGE (WRITEOUT, 'I/O error on output file '); ; 0279 ; 0280 PSECT ; 0281 OWN = $OWN$; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 8 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) ; 0282 GLOBAL ROUTINE REAUDIT (START_ADDR, CLI_CALLBACK) = ; 0283 BEGIN ; 0284 ; 0285 !++ ; 0286 ! ; 0287 ! Functional Description: ; 0288 ! ; 0289 ! This is the main routine of the REAUDIT utility. It acquires and ; 0290 ! parses the command line, opens files, and does the main line ; 0291 ! processing. ; 0292 ! ; 0293 ! Calling Sequence: ; 0294 ! standard ; 0295 ! ; 0296 ! Input Parameters: ; 0297 MAP ; 0298 CLI_CALLBACK; ! CLI callback address ; 0299 ! ; 0300 ! Implicit Inputs: ; 0301 ! none ; 0302 ! ; 0303 ! Output Parameters: ; 0304 ! none ; 0305 ! ; 0306 ! Implicit Outputs: ; 0307 ! none ; 0308 ! ; 0309 ! Routines Called: ; 0310 ! none ; 0311 ! ; 0312 ! Routine Value: ; 0313 ! 1 if successful ; 0314 ! assorted error statuses if not ; 0315 ! ; 0316 ! Signals: ; 0317 ! none ; 0318 ! ; 0319 ! Side Effects: ; 0320 ! update file with merged audit trails created ; 0321 ! ; 0322 !-- ; 0323 ; 0324 LABEL ; 0325 MAIN_LOOP; ! main processing loop ; 0326 ; 0327 LOCAL ; 0328 CONTINUE, ! update continuation flag ; 0329 P : REF VECTOR [,BYTE], ! general string pointer ; 0330 P1 : REF VECTOR [,BYTE]; ! general string pointer ; 0331 ; 0332 EXTERNAL ROUTINE ; 0333 LIB$TPARSE; ! library parsing routine ; 0334 ; 0335 ENABLE HANDLER; ; 0336 ; 0337 ; 0338 ! Begin by parsing the command line and opening the files. ; 0339 ! REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 9 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) ; 0340 ; 0341 (.CLI_CALLBACK) (GET_COMMAND, 0, 0); ; 0342 ; 0343 TPARSE_BLOCK[TPA$V_ABBREV] = 1; ; 0344 TPARSE_BLOCK[TPA$V_BLANKS] = 1; ; 0345 TPARSE_BLOCK[TPA$L_STRINGCNT] = .GET_COMMAND[CLI$W_RQSIZE]; ; 0346 TPARSE_BLOCK[TPA$L_STRINGPTR] = .GET_COMMAND[CLI$A_RQADDR]; ; 0347 IF NOT LIB$TPARSE (TPARSE_BLOCK, CMD_TABLE, CMD_KEY) ; 0348 THEN ERR_EXIT (ERR_CMD_SYNTAX); ; 0349 ; 0350 INFAB1[FAB$B_FNS] = .FILE1[0]; ; 0351 INFAB1[FAB$L_FNA] = .FILE1[1]; ; 0352 IF NOT $OPEN (FAB = INFAB1) ; 0353 THEN ERR_EXIT (ERR_INFILEOPEN, INFAB1); ; 0354 IF NOT $CONNECT (RAB = INRAB1) ; 0355 THEN ERR_EXIT (ERR_INFILEOPEN, INRAB1); ; 0356 ; 0357 INFAB2[FAB$B_FNS] = .FILE2[0]; ; 0358 INFAB2[FAB$L_FNA] = .FILE2[1]; ; 0359 IF NOT $OPEN (FAB = INFAB2) ; 0360 THEN ERR_EXIT (ERR_INFILEOPEN, INFAB2); ; 0361 IF NOT $CONNECT (RAB = INRAB2) ; 0362 THEN ERR_EXIT (ERR_INFILEOPEN, INRAB2); ; 0363 ; 0364 OUTFAB[FAB$B_FNS] = .OUTFILE[0]; ; 0365 OUTFAB[FAB$L_FNA] = .OUTFILE[1]; ; 0366 IF NOT $CREATE (FAB = OUTFAB) ; 0367 THEN ERR_EXIT (ERR_OUTFILEOPEN, OUTFAB); ; 0368 IF NOT $CONNECT (RAB = OUTRAB) ; 0369 THEN ERR_EXIT (ERR_OUTFILEOPEN, OUTRAB); ; 0370 ; 0371 ! Initialize running variables. ; 0372 ! ; 0373 ; 0374 PREV_AUDIT[0] = 0; ; 0375 PREV_AUDIT[1] = PREV_TEXT; ; 0376 CH$FILL (0, 28, RANGE1); ; 0377 CH$FILL (0, 28, RANGE2); ; 0378 ; 0379 ! Read the first record of each file into the read ahead buffers. ; 0380 ! ; 0381 ; 0382 READ_LINE (INRAB1); ; 0383 READ_LINE (INRAB2); ; 0384 ; 0385 ! Now loop, reading update commands from the primary and compare files. If ; 0386 ! the SLP command in the compare file precedes the primary, we discard it ; 0387 ! and read the compare file until we find one that doesn't. If it follows ; 0388 ! the primary, it is held for future use and we just regurgitate the ; 0389 ! the command from the primary file into the output file. If they overlap, ; 0390 ! we do the collision processing that this utility is all about. ; 0391 ! ; 0392 ; 0393 MAIN_LOOP: ; 0394 BEGIN ; 0395 WHILE 1 ; 0396 DO ; 0397 BEGIN REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 10 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) ; 0398 WHILE .SIZE1 EQL 0 AND .RANGE1[1] EQL 0 ; 0399 DO ; 0400 BEGIN ; 0401 GET_UPDATE (INRAB1, RANGE1); ; 0402 CONTINUE = .START_LINE EQL 0; ; 0403 ; 0404 IF .RANGE1[1] EQL 0 ; 0405 AND .PREV_LINE EQL .RANGE1[0] ; 0406 THEN CONTINUE = 1; ; 0407 PREV_LINE = .RANGE1[1]; ; 0408 IF .PREV_LINE EQL 0 ; 0409 THEN PREV_LINE = .RANGE1[0]; ; 0410 ; 0411 IF .RANGE1[0] EQL -1 THEN LEAVE MAIN_LOOP; ; 0412 END; ; 0413 ; 0414 WHILE .SIZE2 EQL 0 AND .RANGE2[0] NEQ -1 AND .RANGE2[1] EQL 0 ; 0415 DO GET_UPDATE (INRAB2, RANGE2); ; 0416 ; 0417 ! Check for overlap. ; 0418 ! ; 0419 ; 0420 IF ( ; 0421 IF .RANGE1[1] EQL 0 ; 0422 AND .RANGE2[1] EQL 0 ; 0423 THEN .RANGE1[0] EQL .RANGE2[0] ; 0424 ; 0425 ELSE ( ; 0426 (.RANGE1[0] GEQU .RANGE2[0] AND .RANGE1[0] LEQU .RANGE2[1]) ; 0427 OR ; 0428 (.RANGE2[0] GEQU .RANGE1[0] AND .RANGE2[0] LEQU .RANGE1[1]) ; 0429 OR ; 0430 (.RANGE1[1] EQL 0 AND .RANGE1[0] EQL .RANGE2[0] - 1) ; 0431 OR ; 0432 (.RANGE2[1] EQL 0 AND .RANGE2[0] EQL .RANGE1[0] - 1) ; 0433 ) ; 0434 ) ; 0435 ; 0436 ! They overlap. What we do now is search the primary update for an occurrence ; 0437 ! of the compare update. Do not compare nulls (deletes). ; 0438 ! ; 0439 ; 0440 THEN ; 0441 BEGIN ; 0442 P = TEXT1; ; 0443 IF ( ; 0444 IF .SIZE2 NEQ 0 ; 0445 THEN NOT CH$FAIL (P = CH$FIND_SUB (.SIZE1, TEXT1, .SIZE2, TEXT2)) ; 0446 ELSE .SIZE1 EQL 0 ; 0447 ) ; 0448 ; 0449 ! If the compare update is found, we produce a composite update. First output ; 0450 ! any of the primary before the match. Then output the matching section using ; 0451 ! the old audit trail. ; 0452 ! ; 0453 ! We special case the situation where an insert in the compare file is ; 0454 ! found matching all but the first line of a one line replace in the primary. ; 0455 ! This occurrs when the compare file was produced allowing inserts and the REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 11 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) ; 0456 ! primary was not. We credit all of the text to the compare update. ; 0457 ! ; 0458 THEN ; 0459 BEGIN ; 0460 IF NOT .CONTINUE ; 0461 AND .RANGE2[1] EQL 0 ; 0462 AND .RANGE1[0] EQL .RANGE1[1] ; 0463 THEN ; 0464 BEGIN ; 0465 P1 = 1 + CH$FIND_CH (.SIZE1, TEXT1, 255); ; 0466 IF .P1 EQL .P ; 0467 THEN ; 0468 BEGIN ; 0469 SIZE2 = .SIZE2 + (.P - TEXT1); ; 0470 P = TEXT1; ; 0471 END; ; 0472 END; ; 0473 ; 0474 IF .P NEQ TEXT1 ; 0475 THEN ; 0476 BEGIN ; 0477 OUTPUT_COMMAND (IF NOT .CONTINUE THEN RANGE1 ELSE UPLIT (0, 0), ; 0478 AUDIT1, COMMENT1, PREV_AUDIT); ; 0479 OUTPUT_TEXT (.P-TEXT1, TEXT1); ; 0480 CONTINUE = 1; ; 0481 END; ; 0482 ; 0483 OUTPUT_COMMAND (IF NOT .CONTINUE THEN RANGE1 ELSE UPLIT (0, 0), ; 0484 AUDIT2, COMMENT2, UPLIT (0, 0)); ; 0485 OUTPUT_TEXT (.SIZE2, .P); ; 0486 CONTINUE = 1; ; 0487 PREV_AUDIT[0] = 0; ; 0488 ; 0489 ! Now discard the compare update and the portion of the primary update that ; 0490 ! has been output. ; 0491 ! ; 0492 ; 0493 SIZE1 = .SIZE1 - .SIZE2 - (.P-TEXT1); ; 0494 CH$MOVE (.SIZE1, .P+.SIZE2, TEXT1); ; 0495 RANGE2[1] = 0; ; 0496 SIZE2 = 0; ; 0497 END ; 0498 ; 0499 ! If the updates overlap but the compare update is not found in the primary, ; 0500 ! then we discard the compare update, keeping its audit trail and comment ; 0501 ! for inclusion in the comment field of the current primary update when it ; 0502 ! is output. ; 0503 ! ; 0504 ; 0505 ELSE ; 0506 BEGIN ; 0507 IF .AUDIT2[0] NEQ 0 ; 0508 THEN ; 0509 BEGIN ; 0510 CH$COPY (1, UPLIT BYTE (' '), .AUDIT2[0], .AUDIT2[1], ; 0511 ' ', 132-.PREV_AUDIT[0], PREV_TEXT[.PREV_AUDIT[0]]); ; 0512 PREV_AUDIT[0] = MINU (.PREV_AUDIT[0] + .AUDIT2[0] + 1, 132); ; 0513 END; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 12 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) ; 0514 IF .COMMENT2[0] NEQ 0 ; 0515 THEN ; 0516 BEGIN ; 0517 CH$COPY (1, UPLIT BYTE (' '), .COMMENT2[0], .COMMENT2[1], ; 0518 ' ', 132-.PREV_AUDIT[0], PREV_TEXT[.PREV_AUDIT[0]]); ; 0519 PREV_AUDIT[0] = MINU (.PREV_AUDIT[0] + .COMMENT2[0] + 1, 132); ; 0520 END; ; 0521 RANGE2[1] = 0; ; 0522 SIZE2 = 0; ; 0523 END; ; 0524 END ; 0525 ; 0526 ! If we have not detected an overlap, we advance whatever file is behind. ; 0527 ! If the compare file is behind, we read the next command. If the primary ; 0528 ! if behind, we output it as is and discard, so the next command will be read ; 0529 ! at the top of the loop. ; 0530 ! ; 0531 ; 0532 ELSE ; 0533 BEGIN ; 0534 IF .RANGE2[0] LEQU .RANGE1[0] ; 0535 THEN ; 0536 BEGIN ; 0537 RANGE2[1] = 0; ; 0538 SIZE2 = 0; ; 0539 END ; 0540 ; 0541 ELSE ; 0542 BEGIN ; 0543 IF .SIZE1 NEQ 0 OR NOT .CONTINUE ; 0544 THEN ; 0545 BEGIN ; 0546 OUTPUT_COMMAND (IF NOT .CONTINUE THEN RANGE1 ELSE UPLIT (0, 0), ; 0547 AUDIT1, COMMENT1, PREV_AUDIT); ; 0548 OUTPUT_TEXT (.SIZE1, TEXT1); ; 0549 END; ; 0550 PREV_AUDIT[0] = 0; ; 0551 RANGE1[1] = 0; ; 0552 SIZE1 = 0; ; 0553 END; ; 0554 END; ; 0555 ; 0556 END; ! end of file processing loop ; 0557 END; ! end of block MAIN_LOOP ; 0558 ; 0559 ! We have reached the end of the primary input file. Output the end command ; 0560 ! and close up shop. ; 0561 ! ; 0562 ; 0563 TEXT1[0] = '/'; ; 0564 OUTRAB[RAB$W_RSZ] = 1; ; 0565 OUTRAB[RAB$L_RBF] = TEXT1; ; 0566 WRITE_LINE (OUTRAB); ; 0567 ; 0568 IF NOT $CLOSE (FAB = OUTFAB) ; 0569 THEN ERR_EXIT (ERR_OUTCLOSE, OUTFAB); ; 0570 ; 0571 $CLOSE (FAB = INFAB1); REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 13 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) ; 0572 $CLOSE (FAB = INFAB2); ; 0573 ; 0574 1 ; 0575 ; 0576 END; ! end of routine REAUDIT .TITLE REAUDIT .IDENT \X0001E\ .PSECT $MSG_INDEX,NOWRT,NOEXE,2 00000 MESSAGE_TABLE: .BLKB 0 00000000' 00000 U.2: .ADDRESS U.1 ; 00000000' 00004 U.4: .ADDRESS U.3 ; 00000000' 00008 U.6: .ADDRESS U.5 ; 00000000' 0000C U.8: .ADDRESS U.7 ; 00000000' 00010 U.10: .ADDRESS U.9 ; 00000000' 00014 U.12: .ADDRESS U.11 ; 00000000' 00018 U.14: .ADDRESS U.13 ; 00000000' 0001C U.16: .ADDRESS U.15 ; .PSECT $MSG_TEXT,NOWRT,NOEXE,0 00000 MESSAGE_TEXT: .BLKB 0 19 00000 U.1: .BYTE 25 ; 79 73 20 65 6E 69 6C 20 64 6E 61 6D 6D 6F 43 00001 .ASCII \Command line syntax error\ ; 72 6F 72 72 65 20 78 61 74 6E 00010 ; 0001A .BLKB 2 19 0001C U.3: .BYTE 25 ; 69 20 67 6E 69 6E 65 70 6F 20 72 6F 72 72 45 0001D .ASCII \Error opening input file \ ; 20 65 6C 69 66 20 74 75 70 6E 0002C ; 00036 .BLKB 2 1A 00038 U.5: .BYTE 26 ; 6F 20 67 6E 69 6E 65 70 6F 20 72 6F 72 72 45 00039 .ASCII \Error opening output file \ ; 20 65 6C 69 66 20 74 75 70 74 75 00048 ; 00053 .BLKB 1 1A 00054 U.7: .BYTE 26 ; 6F 20 67 6E 69 73 6F 6C 63 20 72 6F 72 72 45 00055 .ASCII \Error closing output file \ ; 20 65 6C 69 66 20 74 75 70 74 75 00064 ; 0006F .BLKB 1 19 00070 U.9: .BYTE 25 ; 6F 72 72 65 20 78 61 74 6E 79 73 20 50 4C 53 00071 .ASCII \SLP syntax error in file \ ; 20 65 6C 69 66 20 6E 69 20 72 00080 ; 0008A .BLKB 2 17 0008C U.11: .BYTE 23 ; 20 72 65 66 66 75 62 20 65 72 61 70 6D 6F 43 0008D .ASCII \Compare buffer overflow\ ; 77 6F 6C 66 72 65 76 6F 0009C ; 18 000A4 U.13: .BYTE 24 ; 6E 69 20 6E 6F 20 72 6F 72 72 65 20 4F 2F 49 000A5 .ASCII \I/O error on input file \ ; 20 65 6C 69 66 20 74 75 70 000B4 ; 000BD .BLKB 3 19 000C0 U.15: .BYTE 25 ; 75 6F 20 6E 6F 20 72 6F 72 72 65 20 4F 2F 49 000C1 .ASCII \I/O error on output file \ ; 20 65 6C 69 66 20 74 75 70 74 000D0 ; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 14 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) .PSECT $PLIT$,NOWRT,NOEXE,2 44 50 55 2E 00000 P.AAA: .ASCII \.UPD\ ; 44 50 55 2E 00004 P.AAB: .ASCII \.UPD\ ; 00000000 00000000 00008 P.AAC: .LONG 0, 0 ; 00000000 00000000 00010 P.AAD: .LONG 0, 0 ; 00000000 00000000 00018 P.AAE: .LONG 0, 0 ; 20 00020 P.AAF: .ASCII \ \ ; 20 00021 P.AAG: .ASCII \ \ ; 00022 .BLKB 2 00000000 00000000 00024 P.AAH: .LONG 0, 0 ; .PSECT $OWN$,NOEXE,2 00000 OUT_LINE: .BLKB 132 00084 PREV_AUDIT: .BLKB 8 0008C PREV_TEXT: .BLKB 132 00110 PREV_LINE: .BLKB 4 00114 RANGE1: .BLKB 8 0011C AUDIT1: .BLKB 8 00124 COMMENT1: .BLKB 8 0012C SIZE1: .BLKB 4 00130 LINE1: .BLKB 132 001B4 AU_TEXT1: .BLKB 132 00238 CM_TEXT1: .BLKB 132 002BC TEXT1: .BLKB 100000 1895C RANGE2: .BLKB 8 18964 AUDIT2: .BLKB 8 1896C COMMENT2: .BLKB 8 18974 SIZE2: .BLKB 4 18978 LINE2: .BLKB 132 189FC AU_TEXT2: .BLKB 132 18A80 CM_TEXT2: .BLKB 132 18B04 TEXT2: .BLKB 100000 311A4 START_LINE: .BLKB 4 311A8 END_LINE: .BLKB 4 311AC AUDIT_STRING: .BLKB 8 311B4 COMMENT_STRING: .BLKB 8 311BC FILE1: .BLKB 8 311C4 FILE2: .BLKB 8 311CC OUTFILE:.BLKB 8 00000008 311D4 TPARSE_BLOCK: .LONG 8 ; 311D8 .BLKB 32 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 15 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) 01 311F8 GET_COMMAND: .BYTE 1 ; 00 311F9 .BYTE 0 ; 00 311FA .BYTE 0 ; 00 311FB .BYTE 0 ; 00000000 311FC .LONG 0 ; 00000000 00000000 31200 .LONG 0, 0 ; 00000000 31208 .LONG 0 ; 00000000 3120C .LONG 0 ; 00000000 31210 .LONG 0 ; 31214 INRES1: .BLKB 132 02 31298 INNAM1: .BYTE 2 ; 38 31299 .BYTE 56 ; 84 3129A .BYTE -124 ; 00 3129B .BYTE 0 ; 00000000' 3129C .ADDRESS INRES1 ; 0000 312A0 .WORD 0 ; 84 312A2 .BYTE -124 ; 00 312A3 .BYTE 0 ; 00000000' 312A4 .ADDRESS INRES1 ; 00000000 312A8 .LONG 0 ; 0000# 312AC .WORD 0[8] ; 0000# 312BC .WORD 0[3] ; 0000# 312C2 .WORD 0[3] ; 00000000 312C8 .LONG 0 ; 00000000 312CC .LONG 0 ; 03 312D0 INFAB1: .BYTE 3 ; 50 312D1 .BYTE 80 ; 0000 312D2 .WORD 0 ; 00000040 312D4 .LONG 64 ; 00000000 312D8 .LONG 0 ; 00000000 312DC .LONG 0 ; 00000000 312E0 .LONG 0 ; 0000 312E4 .WORD 0 ; 02 312E6 .BYTE 2 ; 00 312E7 .BYTE 0 ; 00000000 312E8 .LONG 0 ; 00 312EC .BYTE 0 ; 00 312ED .BYTE 0 ; 00 312EE .BYTE 0 ; 02 312EF .BYTE 2 ; 00000000 312F0 .LONG 0 ; 00000000 312F4 .LONG 0 ; 00000000' 312F8 .ADDRESS INNAM1 ; 00000000 312FC .LONG 0 ; 00000000' 31300 .ADDRESS P.AAA ; 00 31304 .BYTE 0 ; 04 31305 .BYTE 4 ; 0000 31306 .WORD 0 ; 00000000 31308 .LONG 0 ; 0000 3130C .WORD 0 ; 00 3130E .BYTE 0 ; 00 3130F .BYTE 0 ; 00000000 31310 .LONG 0 ; 00000000 31314 .LONG 0 ; 00000000# 31318 .LONG 0[2] ; 01 31320 INRAB1: .BYTE 1 ; 44 31321 .BYTE 68 ; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 16 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) 0000 31322 .WORD 0 ; 00000000 31324 .LONG 0 ; 00000000 31328 .LONG 0 ; 00000000 3132C .LONG 0 ; 0000# 31330 .WORD 0[3] ; 0000 31336 .WORD 0 ; 00000000 31338 .LONG 0 ; 0000 3133C .WORD 0 ; 00 3133E .BYTE 0 ; 00 3133F .BYTE 0 ; 0084 31340 .WORD 132 ; 0000 31342 .WORD 0 ; 00000000' 31344 .ADDRESS LINE1 ; 00000000 31348 .LONG 0 ; 00000000 3134C .LONG 0 ; 00000000 31350 .LONG 0 ; 00 31354 .BYTE 0 ; 00 31355 .BYTE 0 ; 00 31356 .BYTE 0 ; 00 31357 .BYTE 0 ; 00000000 31358 .LONG 0 ; 00000000' 3135C .ADDRESS INFAB1 ; 00000000 31360 .LONG 0 ; 31364 INRES2: .BLKB 132 02 313E8 INNAM2: .BYTE 2 ; 38 313E9 .BYTE 56 ; 84 313EA .BYTE -124 ; 00 313EB .BYTE 0 ; 00000000' 313EC .ADDRESS INRES2 ; 0000 313F0 .WORD 0 ; 84 313F2 .BYTE -124 ; 00 313F3 .BYTE 0 ; 00000000' 313F4 .ADDRESS INRES2 ; 00000000' 313F8 .ADDRESS INNAM1 ; 0000# 313FC .WORD 0[8] ; 0000# 3140C .WORD 0[3] ; 0000# 31412 .WORD 0[3] ; 00000000 31418 .LONG 0 ; 00000000 3141C .LONG 0 ; 03 31420 INFAB2: .BYTE 3 ; 50 31421 .BYTE 80 ; 0000 31422 .WORD 0 ; 00000040 31424 .LONG 64 ; 00000000 31428 .LONG 0 ; 00000000 3142C .LONG 0 ; 00000000 31430 .LONG 0 ; 0000 31434 .WORD 0 ; 02 31436 .BYTE 2 ; 00 31437 .BYTE 0 ; 00000000 31438 .LONG 0 ; 00 3143C .BYTE 0 ; 00 3143D .BYTE 0 ; 00 3143E .BYTE 0 ; 02 3143F .BYTE 2 ; 00000000 31440 .LONG 0 ; 00000000 31444 .LONG 0 ; 00000000' 31448 .ADDRESS INNAM2 ; 00000000 3144C .LONG 0 ; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 17 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) 00000000' 31450 .ADDRESS P.AAB ; 00 31454 .BYTE 0 ; 04 31455 .BYTE 4 ; 0000 31456 .WORD 0 ; 00000000 31458 .LONG 0 ; 0000 3145C .WORD 0 ; 00 3145E .BYTE 0 ; 00 3145F .BYTE 0 ; 00000000 31460 .LONG 0 ; 00000000 31464 .LONG 0 ; 00000000# 31468 .LONG 0[2] ; 01 31470 INRAB2: .BYTE 1 ; 44 31471 .BYTE 68 ; 0000 31472 .WORD 0 ; 00000000 31474 .LONG 0 ; 00000000 31478 .LONG 0 ; 00000000 3147C .LONG 0 ; 0000# 31480 .WORD 0[3] ; 0000 31486 .WORD 0 ; 00000000 31488 .LONG 0 ; 0000 3148C .WORD 0 ; 00 3148E .BYTE 0 ; 00 3148F .BYTE 0 ; 0084 31490 .WORD 132 ; 0000 31492 .WORD 0 ; 00000000' 31494 .ADDRESS LINE2 ; 00000000 31498 .LONG 0 ; 00000000 3149C .LONG 0 ; 00000000 314A0 .LONG 0 ; 00 314A4 .BYTE 0 ; 00 314A5 .BYTE 0 ; 00 314A6 .BYTE 0 ; 00 314A7 .BYTE 0 ; 00000000 314A8 .LONG 0 ; 00000000' 314AC .ADDRESS INFAB2 ; 00000000 314B0 .LONG 0 ; 314B4 OUTRES: .BLKB 132 02 31538 OUTNAM: .BYTE 2 ; 38 31539 .BYTE 56 ; 84 3153A .BYTE -124 ; 00 3153B .BYTE 0 ; 00000000' 3153C .ADDRESS OUTRES ; 0000 31540 .WORD 0 ; 84 31542 .BYTE -124 ; 00 31543 .BYTE 0 ; 00000000' 31544 .ADDRESS OUTRES ; 00000000' 31548 .ADDRESS INNAM1 ; 0000# 3154C .WORD 0[8] ; 0000# 3155C .WORD 0[3] ; 0000# 31562 .WORD 0[3] ; 00000000 31568 .LONG 0 ; 00000000 3156C .LONG 0 ; 03 31570 OUTFAB: .BYTE 3 ; 50 31571 .BYTE 80 ; 0000 31572 .WORD 0 ; 20000042 31574 .LONG 536870978 ; 00000000 31578 .LONG 0 ; 00000000 3157C .LONG 0 ; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 18 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) 00000000 31580 .LONG 0 ; 0000 31584 .WORD 0 ; 01 31586 .BYTE 1 ; 00 31587 .BYTE 0 ; 00000000 31588 .LONG 0 ; 00 3158C .BYTE 0 ; 00 3158D .BYTE 0 ; 02 3158E .BYTE 2 ; 02 3158F .BYTE 2 ; 00000000 31590 .LONG 0 ; 00000000 31594 .LONG 0 ; 00000000' 31598 .ADDRESS OUTNAM ; 00000000 3159C .LONG 0 ; 00000000 315A0 .LONG 0 ; 00 315A4 .BYTE 0 ; 00 315A5 .BYTE 0 ; 0000 315A6 .WORD 0 ; 00000000 315A8 .LONG 0 ; 0000 315AC .WORD 0 ; 00 315AE .BYTE 0 ; 00 315AF .BYTE 0 ; 00000000 315B0 .LONG 0 ; 00000000 315B4 .LONG 0 ; 00000000# 315B8 .LONG 0[2] ; 01 315C0 OUTRAB: .BYTE 1 ; 44 315C1 .BYTE 68 ; 0000 315C2 .WORD 0 ; 00000000 315C4 .LONG 0 ; 00000000 315C8 .LONG 0 ; 00000000 315CC .LONG 0 ; 0000# 315D0 .WORD 0[3] ; 0000 315D6 .WORD 0 ; 00000000 315D8 .LONG 0 ; 0000 315DC .WORD 0 ; 00 315DE .BYTE 0 ; 00 315DF .BYTE 0 ; 0000 315E0 .WORD 0 ; 0000 315E2 .WORD 0 ; 00000000 315E4 .LONG 0 ; 00000000' 315E8 .ADDRESS OUT_LINE ; 00000000 315EC .LONG 0 ; 00000000 315F0 .LONG 0 ; 00 315F4 .BYTE 0 ; 00 315F5 .BYTE 0 ; 00 315F6 .BYTE 0 ; 00 315F7 .BYTE 0 ; 00000000 315F8 .LONG 0 ; 00000000' 315FC .ADDRESS OUTFAB ; 00000000 31600 .LONG 0 ; .EXTRN LIB$TPARSE, SYS$OPEN .EXTRN SYS$CONNECT, SYS$CREATE .EXTRN SYS$CLOSE .PSECT $CODE$,NOWRT,2 0FFC 00000 .ENTRY REAUDIT, Save R2,R3,R4,R5,R6,R7,R8,R9,R10,- ; 0282 R11 ; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 19 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) 5E 04 C2 00002 SUBL2 #4, SP ; 6D 0000057C EF DE 00005 MOVAL 47$, (FP) ; 0283 7E 7C 0000C CLRQ -(SP) ; 0341 00000000' EF 9F 0000E PUSHAB GET_COMMAND ; 08 BC 03 FB 00014 CALLS #3, @CLI_CALLBACK ; 00000000' EF 03 88 00018 BISB2 #3, TPARSE_BLOCK+4 ; 0344 00000000' EF 00000000' EF 3C 0001F MOVZWL GET_COMMAND+8, TPARSE_BLOCK+8 ; 0345 00000000' EF 00000000' EF D0 0002A MOVL GET_COMMAND+12, TPARSE_BLOCK+12 ; 0346 00000000V EF 9F 00035 PUSHAB CMD_KEY ; 0347 00000000V EF 9F 0003B PUSHAB CMD_TABLE ; 00000000' EF 9F 00041 PUSHAB TPARSE_BLOCK ; 00000000G EF 03 FB 00047 CALLS #3, LIB$TPARSE ; 0D 50 E8 0004E BLBS R0, 1$ ; 00450000 8F DD 00051 PUSHL #4521984 ; 0348 00000000G 00 01 FB 00057 CALLS #1, LIB$STOP ; 00000000' EF 00000000' EF 90 0005E 1$: MOVB FILE1, INFAB1+52 ; 0350 00000000' EF 00000000' EF D0 00069 MOVL FILE1+4, INFAB1+44 ; 0351 00000000' EF 9F 00074 PUSHAB INFAB1 ; 0352 00000000G 9F 01 FB 0007A CALLS #1, @#SYS$OPEN ; 13 50 E8 00081 BLBS R0, 2$ ; 00000000' EF 9F 00084 PUSHAB INFAB1 ; 0353 00450008 8F DD 0008A PUSHL #4521992 ; 00000000G 00 02 FB 00090 CALLS #2, LIB$STOP ; 00000000' EF 9F 00097 2$: PUSHAB INRAB1 ; 0354 00000000G 9F 01 FB 0009D CALLS #1, @#SYS$CONNECT ; 13 50 E8 000A4 BLBS R0, 3$ ; 00000000' EF 9F 000A7 PUSHAB INRAB1 ; 0355 00450008 8F DD 000AD PUSHL #4521992 ; 00000000G 00 02 FB 000B3 CALLS #2, LIB$STOP ; 00000000' EF 00000000' EF 90 000BA 3$: MOVB FILE2, INFAB2+52 ; 0357 00000000' EF 00000000' EF D0 000C5 MOVL FILE2+4, INFAB2+44 ; 0358 00000000' EF 9F 000D0 PUSHAB INFAB2 ; 0359 00000000G 9F 01 FB 000D6 CALLS #1, @#SYS$OPEN ; 13 50 E8 000DD BLBS R0, 4$ ; 00000000' EF 9F 000E0 PUSHAB INFAB2 ; 0360 00450008 8F DD 000E6 PUSHL #4521992 ; 00000000G 00 02 FB 000EC CALLS #2, LIB$STOP ; 00000000' EF 9F 000F3 4$: PUSHAB INRAB2 ; 0361 00000000G 9F 01 FB 000F9 CALLS #1, @#SYS$CONNECT ; 13 50 E8 00100 BLBS R0, 5$ ; 00000000' EF 9F 00103 PUSHAB INRAB2 ; 0362 00450008 8F DD 00109 PUSHL #4521992 ; 00000000G 00 02 FB 0010F CALLS #2, LIB$STOP ; 00000000' EF 00000000' EF 90 00116 5$: MOVB OUTFILE, OUTFAB+52 ; 0364 00000000' EF 00000000' EF D0 00121 MOVL OUTFILE+4, OUTFAB+44 ; 0365 00000000' EF 9F 0012C PUSHAB OUTFAB ; 0366 00000000G 9F 01 FB 00132 CALLS #1, @#SYS$CREATE ; 13 50 E8 00139 BLBS R0, 6$ ; 00000000' EF 9F 0013C PUSHAB OUTFAB ; 0367 00450010 8F DD 00142 PUSHL #4522000 ; 00000000G 00 02 FB 00148 CALLS #2, LIB$STOP ; 00000000' EF 9F 0014F 6$: PUSHAB OUTRAB ; 0368 00000000G 9F 01 FB 00155 CALLS #1, @#SYS$CONNECT ; 13 50 E8 0015C BLBS R0, 7$ ; 00000000' EF 9F 0015F PUSHAB OUTRAB ; 0369 00450010 8F DD 00165 PUSHL #4522000 ; 00000000G 00 02 FB 0016B CALLS #2, LIB$STOP ; 00000000' EF D4 00172 7$: CLRL PREV_AUDIT ; 0374 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 20 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) 00000000' EF 00000000' EF 9E 00178 MOVAB PREV_TEXT, PREV_AUDIT+4 ; 0375 1C 00 6E 00 2C 00183 MOVC5 #0, (SP), #0, #28, RANGE1 ; 0376 00000000' EF 00188 ; 1C 00 6E 00 2C 0018D MOVC5 #0, (SP), #0, #28, RANGE2 ; 0377 00000000' EF 00192 ; 00000000' EF 9F 00197 PUSHAB INRAB1 ; 0382 00000000V EF 01 FB 0019D CALLS #1, READ_LINE ; 00000000' EF 9F 001A4 PUSHAB INRAB2 ; 0383 00000000V EF 01 FB 001AA CALLS #1, READ_LINE ; 00000000' EF D5 001B1 8$: TSTL SIZE1 ; 0398 67 12 001B7 BNEQ 12$ ; 00000000' EF D5 001B9 TSTL RANGE1+4 ; 5F 12 001BF BNEQ 12$ ; 00000000' EF 9F 001C1 PUSHAB RANGE1 ; 0401 00000000' EF 9F 001C7 PUSHAB INRAB1 ; 00000000V EF 02 FB 001CD CALLS #2, GET_UPDATE ; 50 D4 001D4 CLRL R0 ; 0402 00000000' EF D5 001D6 TSTL START_LINE ; 02 12 001DC BNEQ 9$ ; 50 D6 001DE INCL R0 ; 5B 50 D0 001E0 9$: MOVL R0, CONTINUE ; 50 00000000' EF D0 001E3 MOVL RANGE1+4, R0 ; 0404 10 12 001EA BNEQ 10$ ; 00000000' EF 00000000' EF D1 001EC CMPL PREV_LINE, RANGE1 ; 0405 03 12 001F7 BNEQ 10$ ; 5B 01 D0 001F9 MOVL #1, CONTINUE ; 0406 00000000' EF 50 D0 001FC 10$: MOVL R0, PREV_LINE ; 0407 0B 12 00203 BNEQ 11$ ; 0408 00000000' EF 00000000' EF D0 00205 MOVL RANGE1, PREV_LINE ; 0409 FFFFFFFF 8F 00000000' EF D1 00210 11$: CMPL RANGE1, #-1 ; 0411 94 12 0021B BNEQ 8$ ; 0300 31 0021D BRW 45$ ; 00000000' EF D5 00220 12$: TSTL SIZE2 ; 0414 2A 12 00226 BNEQ 13$ ; FFFFFFFF 8F 00000000' EF D1 00228 CMPL RANGE2, #-1 ; 1D 13 00233 BEQL 13$ ; 00000000' EF D5 00235 TSTL RANGE2+4 ; 15 12 0023B BNEQ 13$ ; 00000000' EF 9F 0023D PUSHAB RANGE2 ; 0415 00000000' EF 9F 00243 PUSHAB INRAB2 ; 00000000V EF 02 FB 00249 CALLS #2, GET_UPDATE ; CE 11 00250 BRB 12$ ; 0414 50 00000000' EF D0 00252 13$: MOVL RANGE2, R0 ; 0423 54 00000000' EF D0 00259 MOVL RANGE1, R4 ; 57 00000000' EF D0 00260 MOVL RANGE1+4, R7 ; 0421 51 D4 00267 CLRL R1 ; 57 D5 00269 TSTL R7 ; 0F 12 0026B BNEQ 14$ ; 51 D6 0026D INCL R1 ; 00000000' EF D5 0026F TSTL RANGE2+4 ; 0422 05 12 00275 BNEQ 14$ ; 50 54 D1 00277 CMPL R4, R0 ; 0423 33 11 0027A BRB 18$ ; 50 54 D1 0027C 14$: CMPL R4, R0 ; 0426 09 1F 0027F BLSSU 15$ ; 00000000' EF 54 D1 00281 CMPL R4, RANGE2+4 ; 2A 1B 00288 BLEQU 19$ ; 54 50 D1 0028A 15$: CMPL R0, R4 ; 0428 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 21 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) 05 1F 0028D BLSSU 16$ ; 57 50 D1 0028F CMPL R0, R7 ; 20 1B 00292 BLEQU 19$ ; 09 51 E9 00294 16$: BLBC R1, 17$ ; 0430 51 FF A0 9E 00297 MOVAB -1(R0), R1 ; 51 54 D1 0029B CMPL R4, R1 ; 14 13 0029E BEQL 19$ ; 00000000' EF D5 002A0 17$: TSTL RANGE2+4 ; 0432 07 12 002A6 BNEQ 18$ ; 51 FF A4 9E 002A8 MOVAB -1(R4), R1 ; 51 50 D1 002AC CMPL R0, R1 ; 03 13 002AF 18$: BEQL 19$ ; 01F8 31 002B1 BRW 38$ ; 5A 00000000' EF 9E 002B4 19$: MOVAB TEXT1, P ; 0442 56 00000000' EF D0 002BB MOVL SIZE1, R6 ; 0445 55 00000000' EF D0 002C2 MOVL SIZE2, R5 ; 0444 1D 13 002C9 BEQL 22$ ; 00000000' EF 56 00000000' EF 55 39 002CB MATCHC R5, TEXT2, R6, TEXT1 ; 0445 03 13 002D8 BEQL 20$ ; 53 55 D0 002DA MOVL R5, R3 ; 53 55 C2 002DD 20$: SUBL2 R5, R3 ; 5A 53 D0 002E0 MOVL R3, P ; 07 12 002E3 BNEQ 23$ ; 0110 31 002E5 21$: BRW 31$ ; 56 D5 002E8 22$: TSTL R6 ; 0446 F9 12 002EA BNEQ 21$ ; 3C 5B E8 002EC 23$: BLBS CONTINUE, 25$ ; 0460 00000000' EF D5 002EF TSTL RANGE2+4 ; 0461 34 12 002F5 BNEQ 25$ ; 57 54 D1 002F7 CMPL R4, R7 ; 0462 2F 12 002FA BNEQ 25$ ; 00000000' EF 56 FF 8F 3A 002FC LOCC #255, R6, TEXT1 ; 0465 02 12 00305 BNEQ 24$ ; 51 D4 00307 CLRL R1 ; 6E 01 A1 9E 00309 24$: MOVAB 1(R1), P1 ; 5A 6E D1 0030D CMPL P1, P ; 0466 19 12 00310 BNEQ 25$ ; 50 00000000' EF 9E 00312 MOVAB TEXT1, R0 ; 0469 53 5A 50 C3 00319 SUBL3 R0, P, R3 ; 00000000' EF 53 C0 0031D ADDL2 R3, SIZE2 ; 5A 00000000' EF 9E 00324 MOVAB TEXT1, P ; 0470 50 00000000' EF 9E 0032B 25$: MOVAB TEXT1, R0 ; 0474 50 5A D1 00332 CMPL P, R0 ; 49 13 00335 BEQL 28$ ; 00000000' EF 9F 00337 PUSHAB PREV_AUDIT ; 0477 00000000' EF 9F 0033D PUSHAB COMMENT1 ; 00000000' EF 9F 00343 PUSHAB AUDIT1 ; 09 5B E8 00349 BLBS CONTINUE, 26$ ; 50 00000000' EF 9E 0034C MOVAB RANGE1, R0 ; 07 11 00353 BRB 27$ ; 50 00000000' EF 9E 00355 26$: MOVAB P.AAC, R0 ; 50 DD 0035C 27$: PUSHL R0 ; 00000000V EF 04 FB 0035E CALLS #4, OUTPUT_COMMAND ; 00000000' EF 9F 00365 PUSHAB TEXT1 ; 0479 50 00000000' EF 9E 0036B MOVAB TEXT1, R0 ; 7E 5A 50 C3 00372 SUBL3 R0, P, -(SP) ; 00000000V EF 02 FB 00376 CALLS #2, OUTPUT_TEXT ; 5B 01 D0 0037D MOVL #1, CONTINUE ; 0480 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 22 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) 00000000' EF 9F 00380 28$: PUSHAB P.AAE ; 0484 00000000' EF 9F 00386 PUSHAB COMMENT2 ; 0483 00000000' EF 9F 0038C PUSHAB AUDIT2 ; 09 5B E8 00392 BLBS CONTINUE, 29$ ; 50 00000000' EF 9E 00395 MOVAB RANGE1, R0 ; 07 11 0039C BRB 30$ ; 50 00000000' EF 9E 0039E 29$: MOVAB P.AAD, R0 ; 50 DD 003A5 30$: PUSHL R0 ; 00000000V EF 04 FB 003A7 CALLS #4, OUTPUT_COMMAND ; 5A DD 003AE PUSHL P ; 0485 00000000' EF DD 003B0 PUSHL SIZE2 ; 00000000V EF 02 FB 003B6 CALLS #2, OUTPUT_TEXT ; 5B 01 D0 003BD MOVL #1, CONTINUE ; 0486 00000000' EF D4 003C0 CLRL PREV_AUDIT ; 0487 51 00000000' EF 00000000' EF C3 003C6 SUBL3 SIZE2, SIZE1, R1 ; 0493 50 00000000' EF 9E 003D2 MOVAB TEXT1, R0 ; 50 5A C2 003D9 SUBL2 P, R0 ; 00000000' EF 51 50 C1 003DC ADDL3 R0, R1, SIZE1 ; 00000000' EF 00000000'FF4A 00000000' EF 28 003E4 MOVC3 SIZE1, @SIZE2[P], TEXT1 ; 0494 00A6 31 003F5 BRW 37$ ; 0443 57 00000000' EF D0 003F8 31$: MOVL AUDIT2, R7 ; 0507 4A 13 003FF BEQL 34$ ; 56 00000000' EF D0 00401 MOVL PREV_AUDIT, R6 ; 0511 58 00000084 8F 56 C3 00408 SUBL3 R6, #132, R8 ; 59 00000000'EF46 9E 00410 MOVAB PREV_TEXT[R6], R9 ; 58 20 00000000' EF 01 2C 00418 MOVC5 #1, P.AAF, #32, R8, (R9) ; 0510 69 00421 ; 0E 18 00422 BGEQ 32$ ; 59 D6 00424 INCL R9 ; 58 D7 00426 DECL R8 ; 58 20 00000000' FF 57 2C 00428 MOVC5 R7, @AUDIT2+4, #32, R8, (R9) ; 69 00431 ; 50 01 A746 9E 00432 32$: MOVAB 1(R7)[R6], R0 ; 0512 00000084 8F 50 D1 00437 CMPL R0, #132 ; 04 1B 0043E BLEQU 33$ ; 50 84 8F 9A 00440 MOVZBL #132, R0 ; 00000000' EF 50 D0 00444 33$: MOVL R0, PREV_AUDIT ; 57 00000000' EF D0 0044B 34$: MOVL COMMENT2, R7 ; 0514 4A 13 00452 BEQL 37$ ; 56 00000000' EF D0 00454 MOVL PREV_AUDIT, R6 ; 0518 58 00000084 8F 56 C3 0045B SUBL3 R6, #132, R8 ; 59 00000000'EF46 9E 00463 MOVAB PREV_TEXT[R6], R9 ; 58 20 00000000' EF 01 2C 0046B MOVC5 #1, P.AAG, #32, R8, (R9) ; 0517 69 00474 ; 0E 18 00475 BGEQ 35$ ; 59 D6 00477 INCL R9 ; 58 D7 00479 DECL R8 ; 58 20 00000000' FF 57 2C 0047B MOVC5 R7, @COMMENT2+4, #32, R8, (R9) ; 69 00484 ; 50 01 A746 9E 00485 35$: MOVAB 1(R7)[R6], R0 ; 0519 00000084 8F 50 D1 0048A CMPL R0, #132 ; 04 1B 00491 BLEQU 36$ ; 50 84 8F 9A 00493 MOVZBL #132, R0 ; 00000000' EF 50 D0 00497 36$: MOVL R0, PREV_AUDIT ; 00000000' EF D4 0049E 37$: CLRL SIZE2 ; 0496 00000000' EF D4 004A4 CLRL RANGE2+4 ; 0495 71 11 004AA BRB 44$ ; 0420 54 50 D1 004AC 38$: CMPL R0, R4 ; 0534 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 23 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (5) 0E 1A 004AF BGTRU 39$ ; 00000000' EF D4 004B1 CLRL RANGE2+4 ; 0537 00000000' EF D4 004B7 CLRL SIZE2 ; 0538 5E 11 004BD BRB 44$ ; 0534 00000000' EF D5 004BF 39$: TSTL SIZE1 ; 0543 03 12 004C5 BNEQ 40$ ; 41 5B E8 004C7 BLBS CONTINUE, 43$ ; 00000000' EF 9F 004CA 40$: PUSHAB PREV_AUDIT ; 0546 00000000' EF 9F 004D0 PUSHAB COMMENT1 ; 00000000' EF 9F 004D6 PUSHAB AUDIT1 ; 09 5B E8 004DC BLBS CONTINUE, 41$ ; 50 00000000' EF 9E 004DF MOVAB RANGE1, R0 ; 07 11 004E6 BRB 42$ ; 50 00000000' EF 9E 004E8 41$: MOVAB P.AAH, R0 ; 50 DD 004EF 42$: PUSHL R0 ; 00000000V EF 04 FB 004F1 CALLS #4, OUTPUT_COMMAND ; 00000000' EF 9F 004F8 PUSHAB TEXT1 ; 0548 00000000' EF DD 004FE PUSHL SIZE1 ; 00000000V EF 02 FB 00504 CALLS #2, OUTPUT_TEXT ; 00000000' EF D4 0050B 43$: CLRL PREV_AUDIT ; 0550 00000000' EF D4 00511 CLRL RANGE1+4 ; 0551 00000000' EF D4 00517 CLRL SIZE1 ; 0552 FC91 31 0051D 44$: BRW 8$ ; 0395 00000000' EF 2F 90 00520 45$: MOVB #47, TEXT1 ; 0563 00000000' EF 01 B0 00527 MOVW #1, OUTRAB+34 ; 0564 00000000' EF 00000000' EF 9E 0052E MOVAB TEXT1, OUTRAB+40 ; 0565 00000000' EF 9F 00539 PUSHAB OUTRAB ; 0566 00000000V EF 01 FB 0053F CALLS #1, WRITE_LINE ; 00000000' EF 9F 00546 PUSHAB OUTFAB ; 0568 00000000G 9F 01 FB 0054C CALLS #1, @#SYS$CLOSE ; 13 50 E8 00553 BLBS R0, 46$ ; 00000000' EF 9F 00556 PUSHAB OUTFAB ; 0569 00450018 8F DD 0055C PUSHL #4522008 ; 00000000G 00 02 FB 00562 CALLS #2, LIB$STOP ; 00000000' EF 9F 00569 46$: PUSHAB INFAB1 ; 0571 00000000G 9F 01 FB 0056F CALLS #1, @#SYS$CLOSE ; 00000000' EF 9F 00576 PUSHAB INFAB2 ; 0572 00000000G 9F 01 FB 0057C CALLS #1, @#SYS$CLOSE ; 50 01 D0 00583 MOVL #1, R0 ; 0282 04 00586 RET ; 0000 00587 47$: .WORD Save nothing ; 0283 7E D4 00589 CLRL -(SP) ; 5E DD 0058B PUSHL SP ; 7E 04 AC 7D 0058D MOVQ 4(AP), -(SP) ; 00000000V EF 03 FB 00591 CALLS #3, HANDLER ; 04 00598 RET ; ; Routine Size: 1433 bytes, Routine Base: $CODE$ + 0000 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 24 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (6) ; 0577 ROUTINE GET_UPDATE (RAB, BUFFER) : NOVALUE = ; 0578 BEGIN ; 0579 ; 0580 !++ ; 0581 ! ; 0582 ! Functional Description: ; 0583 ! ; 0584 ! This routine reads the next SLP update into the specified update ; 0585 ! buffer, parsing the command and accumulating the text. ; 0586 ! ; 0587 ! Calling Sequence: ; 0588 ! standard ; 0589 ! ; 0590 ! Input Parameters: ; 0591 MAP ; 0592 RAB : REF $RAB_DECL; ! RAB of input file to read ; 0593 ! ; 0594 ! Implicit Inputs: ; 0595 ! TPARSE SLP output area ; 0596 ! ; 0597 ! Output Parameters: ; 0598 MAP ; 0599 BUFFER : REF BLOCK; ! command buffer to build update in ; 0600 ! ; 0601 ! Implicit Outputs: ; 0602 ! none ; 0603 ! ; 0604 ! Routines Called: ; 0605 ! READ_LINE : NOVALUE; ! read a record from input file ; 0606 EXTERNAL ROUTINE ; 0607 LIB$TPARSE; ! library parser ; 0608 ! ; 0609 ! Routine Value: ; 0610 ! none ; 0611 ! ; 0612 ! Signals: ; 0613 ! none ; 0614 ! ; 0615 ! Side Effects: ; 0616 ! none ; 0617 ! ; 0618 !-- ; 0619 ; 0620 LOCAL ; 0621 BUFFER_END; ! pointer to text at end of buffer ; 0622 ; 0623 ; 0624 ! Start with the record read ahead in the line buffer. If it is a SLP command, ; 0625 ! parse it. Otherwise just copy it into the text buffer. Then read and copy ; 0626 ! into the text buffer until another SLP command appears in the line buffer. ; 0627 ! ; 0628 ; 0629 BUFFER_END = BUFFER[UPD_TEXT]; ! init text pointer ; 0630 ; 0631 IF .RAB[RAB$W_RSZ] NEQ 0 ; 0632 AND (.(BUFFER[UPD_LINE])<0,8> EQL '-' ! look for SLP command ; 0633 OR .(BUFFER[UPD_LINE])<0,8> EQL '/') ; 0634 THEN REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 25 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (6) ; 0635 BEGIN ; 0636 CH$FILL (0, 24, START_LINE); ; 0637 TPARSE_BLOCK[TPA$V_BLANKS] = 0; ; 0638 TPARSE_BLOCK[TPA$L_STRINGCNT] = .RAB[RAB$W_RSZ]; ; 0639 TPARSE_BLOCK[TPA$L_STRINGPTR] = .RAB[RAB$L_RBF]; ; 0640 IF NOT LIB$TPARSE (TPARSE_BLOCK, SLP_TABLE, SLP_KEY) ; 0641 THEN ERR_EXIT (ERR_SLPSYNTAX, .RAB); ; 0642 ; 0643 IF .START_LINE NEQ 0 ; 0644 THEN ; 0645 BEGIN ; 0646 BUFFER[RANGE_TOP] = .START_LINE; ; 0647 BUFFER[RANGE_END] = .END_LINE; ; 0648 END; ; 0649 IF .AUDIT_STRING[0] NEQ 0 ; 0650 THEN ; 0651 BEGIN ; 0652 BUFFER[AUDIT_LEN] = .AUDIT_STRING[0]; ; 0653 BUFFER[AUDIT_ADR] = BUFFER[AUDIT_TEXT]; ; 0654 CH$MOVE (.AUDIT_STRING[0], .AUDIT_STRING[1], BUFFER[AUDIT_TEXT]); ; 0655 END; ; 0656 BUFFER[COMMENT_LEN] = .COMMENT_STRING[0]; ; 0657 BUFFER[COMMENT_ADR] = BUFFER[COMMENT_TEXT]; ; 0658 CH$MOVE (.COMMENT_STRING[0], .COMMENT_STRING[1], BUFFER[COMMENT_TEXT]); ; 0659 END ; 0660 ; 0661 ELSE ; 0662 BEGIN ; 0663 CH$COPY (1, UPLIT BYTE (0), ; 0664 .RAB[RAB$W_RSZ], .RAB[RAB$L_RBF], ; 0665 255, ; 0666 .RAB[RAB$W_RSZ]+2, .BUFFER_END); ; 0667 BUFFER_END = .BUFFER_END + .RAB[RAB$W_RSZ] + 2; ; 0668 END; ; 0669 ; 0670 ! The SLP end of edit command appears as a line number of -1. If this has ; 0671 ! happened, stop reading. ; 0672 ! ; 0673 ; 0674 IF .BUFFER[RANGE_TOP] EQL -1 ; 0675 THEN ; 0676 BEGIN ; 0677 BUFFER[UPD_SIZE] = 0; ; 0678 RETURN; ; 0679 END; ; 0680 ; 0681 ! Now read records and copy into the text buffer until another SLP command ; 0682 ! shows up. ; 0683 ! ; 0684 ; 0685 WHILE 1 DO ; 0686 BEGIN ; 0687 READ_LINE (.RAB); ; 0688 IF .RAB[RAB$W_RSZ] NEQ 0 ; 0689 AND (.(BUFFER[UPD_LINE])<0,8> EQL '-' ! look for SLP command ; 0690 OR .(BUFFER[UPD_LINE])<0,8> EQL '/') ; 0691 THEN ; 0692 BEGIN REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 26 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (6) ; 0693 BUFFER[UPD_SIZE] = .BUFFER_END - BUFFER[UPD_TEXT]; ; 0694 RETURN; ; 0695 END; ; 0696 ; 0697 IF .BUFFER_END + .RAB[RAB$W_RSZ] + 2 GEQA BUFFER[UPD_TEXT] + 100000 ; 0698 THEN ERR_EXIT (ERR_BUFFOVER); ; 0699 ; 0700 CH$COPY (1, UPLIT BYTE (0), ; 0701 .RAB[RAB$W_RSZ], .RAB[RAB$L_RBF], ; 0702 255, ; 0703 .RAB[RAB$W_RSZ]+2, .BUFFER_END); ; 0704 BUFFER_END = .BUFFER_END + .RAB[RAB$W_RSZ] + 2; ; 0705 END; ; 0706 ; 0707 END; ! end of routine GET_UPDATE .PSECT $PLIT$,NOWRT,NOEXE,2 00 0002C P.AAI: .BYTE 0 ; 00 0002D P.AAJ: .BYTE 0 ; .PSECT $CODE$,NOWRT,2 0FFC 00000 GET_UPDATE: .WORD Save R2,R3,R4,R5,R6,R7,R8,R9,R10,R11 ; 0577 5E 08 C2 00002 SUBL2 #8, SP ; 56 08 AC D0 00005 MOVL BUFFER, R6 ; 0629 01A8 C6 9F 00009 PUSHAB 424(R6) ; 58 6E D0 0000D MOVL (SP), BUFFER_END ; 59 04 AC D0 00010 MOVL RAB, R9 ; 0639 04 AC DD 00014 PUSHL RAB ; 0631 50 6E 22 C1 00017 ADDL3 #34, (SP), R0 ; 57 60 3C 0001B MOVZWL (R0), R7 ; 03 12 0001E BNEQ 2$ ; 00A7 31 00020 1$: BRW 7$ ; 2D 1C A6 91 00023 2$: CMPB 28(R6), #45 ; 0632 06 13 00027 BEQL 3$ ; 2F 1C A6 91 00029 CMPB 28(R6), #47 ; 0633 F1 12 0002D BNEQ 1$ ; 18 00 6E 00 2C 0002F 3$: MOVC5 #0, (SP), #0, #24, START_LINE ; 0636 00000000' EF 00034 ; 00000000' EF 01 8A 00039 BICB2 #1, TPARSE_BLOCK+4 ; 0637 00000000' EF 57 D0 00040 MOVL R7, TPARSE_BLOCK+8 ; 0638 00000000' EF 28 A9 D0 00047 MOVL 40(R9), TPARSE_BLOCK+12 ; 0639 00000000V EF 9F 0004F PUSHAB SLP_KEY ; 0640 00000000V EF 9F 00055 PUSHAB SLP_TABLE ; 00000000' EF 9F 0005B PUSHAB TPARSE_BLOCK ; 00000000G EF 03 FB 00061 CALLS #3, LIB$TPARSE ; 10 50 E8 00068 BLBS R0, 4$ ; 04 AC DD 0006B PUSHL RAB ; 0641 00450020 8F DD 0006E PUSHL #4522016 ; 00000000G 00 02 FB 00074 CALLS #2, LIB$STOP ; 50 00000000' EF D0 0007B 4$: MOVL START_LINE, R0 ; 0643 0B 13 00082 BEQL 5$ ; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 27 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (6) 66 50 D0 00084 MOVL R0, (R6) ; 0646 04 A6 00000000' EF D0 00087 MOVL END_LINE, 4(R6) ; 0647 50 00000000' EF D0 0008F 5$: MOVL AUDIT_STRING, R0 ; 0649 14 13 00096 BEQL 6$ ; 08 A6 50 D0 00098 MOVL R0, 8(R6) ; 0652 0C A6 00A0 C6 9E 0009C MOVAB 160(R6), 12(R6) ; 0653 00A0 C6 00000000' FF 50 28 000A2 MOVC3 R0, @AUDIT_STRING+4, 160(R6) ; 0654 10 A6 00000000' EF D0 000AC 6$: MOVL COMMENT_STRING, 16(R6) ; 0656 14 A6 0124 C6 9E 000B4 MOVAB 292(R6), 20(R6) ; 0657 0124 C6 00000000' FF 00000000' EF 28 000BA MOVC3 COMMENT_STRING, @COMMENT_STRING+4, 292(R6) ; 0658 25 11 000C8 BRB 9$ ; 0631 5B 02 A7 9E 000CA 7$: MOVAB 2(R7), R11 ; 0666 5A 58 D0 000CE MOVL BUFFER_END, R10 ; 5B FF 8F 00000000' EF 01 2C 000D1 MOVC5 #1, P.AAI, #255, R11, (R10) ; 0663 6A 000DB ; 0C 18 000DC BGEQ 8$ ; 5A D6 000DE INCL R10 ; 5B D7 000E0 DECL R11 ; 5B FF 8F 28 B9 57 2C 000E2 MOVC5 R7, @40(R9), #255, R11, (R10) ; 6A 000E9 ; 58 02 A748 9E 000EA 8$: MOVAB 2(R7)[BUFFER_END], BUFFER_END ; 0667 FFFFFFFF 8F 66 D1 000EF 9$: CMPL (R6), #-1 ; 0674 04 12 000F6 BNEQ 10$ ; 18 A6 D4 000F8 CLRL 24(R6) ; 0677 04 000FB RET ; 0676 0C AE 00018848 E6 9E 000FC 10$: MOVAB 100424(R6), 12(SP) ; 0697 04 AC DD 00104 11$: PUSHL RAB ; 0687 00000000V EF 01 FB 00107 CALLS #1, READ_LINE ; 50 6E 22 C1 0010E ADDL3 #34, (SP), R0 ; 0688 57 60 3C 00112 MOVZWL (R0), R7 ; 13 13 00115 BEQL 13$ ; 2D 1C A6 91 00117 CMPB 28(R6), #45 ; 0689 06 13 0011B BEQL 12$ ; 2F 1C A6 91 0011D CMPB 28(R6), #47 ; 0690 07 12 00121 BNEQ 13$ ; 18 A6 58 04 AE C3 00123 12$: SUBL3 4(SP), BUFFER_END, 24(R6) ; 0693 04 00129 RET ; 0692 08 AE 02 A748 9E 0012A 13$: MOVAB 2(R7)[BUFFER_END], 8(SP) ; 0697 0C AE 08 AE D1 00130 CMPL 8(SP), 12(SP) ; 0D 1F 00135 BLSSU 14$ ; 00450028 8F DD 00137 PUSHL #4522024 ; 0698 00000000G 00 01 FB 0013D CALLS #1, LIB$STOP ; 5B 02 A7 9E 00144 14$: MOVAB 2(R7), R11 ; 0703 5A 58 D0 00148 MOVL BUFFER_END, R10 ; 5B FF 8F 00000000' EF 01 2C 0014B MOVC5 #1, P.AAJ, #255, R11, (R10) ; 0700 6A 00155 ; 0C 18 00156 BGEQ 15$ ; 5A D6 00158 INCL R10 ; 5B D7 0015A DECL R11 ; 5B FF 8F 28 B9 57 2C 0015C MOVC5 R7, @40(R9), #255, R11, (R10) ; 6A 00163 ; 58 08 AE D0 00164 15$: MOVL 8(SP), BUFFER_END ; 0704 9A 11 00168 BRB 11$ ; 0685 ; Routine Size: 362 bytes, Routine Base: $CODE$ + 0599 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 28 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (7) ; 0708 ROUTINE READ_LINE (RAB) : NOVALUE = ; 0709 BEGIN ; 0710 ; 0711 !++ ; 0712 ! ; 0713 ! Functional Description: ; 0714 ! ; 0715 ! This routine reads the next line from the specified input file. ; 0716 ! ; 0717 ! Calling Sequence: ; 0718 ! standard ; 0719 ! ; 0720 ! Input Parameters: ; 0721 MAP ; 0722 RAB : REF $RAB_DECL; ! RAB to read with ; 0723 ! ; 0724 ! Implicit Inputs: ; 0725 ! none ; 0726 ! ; 0727 ! Output Parameters: ; 0728 ! none ; 0729 ! ; 0730 ! Implicit Outputs: ; 0731 ! line buffer pointed to by RAB ; 0732 ! ; 0733 ! Routines Called: ; 0734 ! SYS$GET ; 0735 ! ; 0736 ! Routine Value: ; 0737 ! none ; 0738 ! ; 0739 ! Signals: ; 0740 ! none ; 0741 ! ; 0742 ! Side Effects: ; 0743 ! none ; 0744 ! ; 0745 !-- ; 0746 ; 0747 ; 0748 ! Just get the record and check for errors. ; 0749 ! ; 0750 ; 0751 IF NOT $GET (RAB = .RAB) ; 0752 THEN ERR_EXIT (ERR_READIN, .RAB); ; 0753 ; 0754 END; ! end of routine READ_LINE .EXTRN SYS$GET 0000 00000 READ_LINE: .WORD Save nothing ; 0708 04 AC DD 00002 PUSHL RAB ; 0751 00000000G 9F 01 FB 00005 CALLS #1, @#SYS$GET ; 10 50 E8 0000C BLBS R0, 1$ ; 04 AC DD 0000F PUSHL RAB ; 0752 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 29 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (7) 00450030 8F DD 00012 PUSHL #4522032 ; 00000000G 00 02 FB 00018 CALLS #2, LIB$STOP ; 04 0001F 1$: RET ; 0708 ; Routine Size: 32 bytes, Routine Base: $CODE$ + 0703 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 30 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (8) ; 0755 ROUTINE OUTPUT_COMMAND (RANGE, AUDIT, COMMENT1, COMMENT2) : NOVALUE = ; 0756 BEGIN ; 0757 ; 0758 !++ ; 0759 ! ; 0760 ! Functional Description: ; 0761 ! ; 0762 ! This routine outputs a SLP command containing the given data. ; 0763 ! ; 0764 ! Calling Sequence: ; 0765 ! standard ; 0766 ! ; 0767 ! Input Parameters: ; 0768 MAP ; 0769 RANGE : REF VECTOR [2], ! start and end line numbers ; 0770 AUDIT : REF VECTOR [2], ! descriptor of audit trail string ; 0771 COMMENT1 : REF VECTOR [2], ! descriptor of comment string ; 0772 COMMENT2 : REF VECTOR [2]; ! descriptor of second comment string ; 0773 ! COMMENT2 is optional and is concatenated if non-null ; 0774 ! ; 0775 ! Implicit Inputs: ; 0776 ! OUTRAB : $RAB_DECL; ! RAB of output file ; 0777 ! ; 0778 ! Output Parameters: ; 0779 ! none ; 0780 ! ; 0781 ! Implicit Outputs: ; 0782 ! OUT_LINE : VECTOR [132, BYTE]; ! buffer to build output record ; 0783 ! ; 0784 ! Routines Called: ; 0785 ! SYS$PUT ; 0786 ! ; 0787 ! Routine Value: ; 0788 ! none ; 0789 ! ; 0790 ! Signals: ; 0791 ! none ; 0792 ! ; 0793 ! Side Effects: ; 0794 ! record written ; 0795 ! ; 0796 !-- ; 0797 ; 0798 LOCAL ; 0799 C, ! character counter ; 0800 FORMAT : REF VECTOR [,BYTE], ! format string pointer ; 0801 OUT_STRING : VECTOR [2]; ! descriptor for FAO output buffer ; 0802 ; 0803 ! ; 0804 ! FAO control strings to generate SLP commands ; 0805 ! ; 0806 BIND ; 0807 NULL_CMD = DESCRIPTOR ('-!+,!+,/!AS/'), ; 0808 INSERT_CMD = DESCRIPTOR ('-!UL,!+,/!AS/'), ; 0809 REPLACE_CMD = DESCRIPTOR ('-!UL,!UL,/!AS/'); ; 0810 ; 0811 ; 0812 ! Select the appropriate format string according to the range values. REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 31 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (8) ; 0813 ! ; 0814 ; 0815 FORMAT = NULL_CMD; ! assume null ; 0816 IF .RANGE[0] NEQ 0 ; 0817 THEN ; 0818 BEGIN ; 0819 FORMAT = INSERT_CMD; ! use insert ; 0820 IF .RANGE[1] NEQ 0 ; 0821 THEN FORMAT = REPLACE_CMD; ! use replace ; 0822 END; ; 0823 ; 0824 ! Now generate the SLP command with FAO ; 0825 ! ; 0826 ; 0827 OUT_STRING[0] = 132; ! buffer length ; 0828 OUT_STRING[1] = OUT_LINE; ! buffer address ; P 0829 $FAO ( ; P 0830 .FORMAT, ; P 0831 OUT_STRING[0], ; P 0832 OUT_STRING[0], ; P 0833 .RANGE[0], ; P 0834 .RANGE[1], ; P 0835 AUDIT[0] ; 0836 ); ; 0837 C = .OUT_STRING[0]; ; 0838 ; 0839 ! Append the comment strings, if any are present. ; 0840 ! ; 0841 ; 0842 IF .COMMENT1[0] NEQ 0 ; 0843 OR .COMMENT2[0] NEQ 0 ; 0844 THEN ; 0845 BEGIN ; 0846 (OUT_LINE[.C])<0,16> = ' ; '; ; 0847 C = .C + 2; ; 0848 ; 0849 IF .COMMENT1[0] NEQ 0 ; 0850 THEN ; 0851 BEGIN ; 0852 CH$COPY (1, UPLIT BYTE (' '), .COMMENT1[0], .COMMENT1[1], ; 0853 ' ', 132-.C, OUT_LINE[.C]); ; 0854 C = MINU (.C+.COMMENT1[0]+1, 132); ; 0855 END; ; 0856 ; 0857 IF .COMMENT2[0] NEQ 0 ; 0858 THEN ; 0859 BEGIN ; 0860 CH$COPY (.COMMENT2[0], .COMMENT2[1], ' ', 132-.C, OUT_LINE[.C]); ; 0861 C = MINU (.C+.COMMENT2[0], 132); ; 0862 END; ; 0863 END; ; 0864 ; 0865 ! Finally write the record. ; 0866 ! ; 0867 ; 0868 OUTRAB[RAB$W_RSZ] = .C; ; 0869 OUTRAB[RAB$L_RBF] = OUT_LINE; ; 0870 WRITE_LINE (OUTRAB); REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 32 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (8) ; 0871 ; 0872 END; ! end of routine OUTPUT_COMMAND .PSECT $PLIT$,NOWRT,NOEXE,2 2F 53 41 21 2F 2C 2B 21 2C 2B 21 2D 0002E P.AAL: .ASCII \-!+,!+,/!AS/\ ; 0003A .BLKB 2 0000000C 0003C P.AAK: .LONG 12 ; 00000000' 00040 .ADDRESS P.AAL ; 2F 53 41 21 2F 2C 2B 21 2C 4C 55 21 2D 00044 P.AAN: .ASCII \-!UL,!+,/!AS/\ ; 00051 .BLKB 3 0000000D 00054 P.AAM: .LONG 13 ; 00000000' 00058 .ADDRESS P.AAN ; 2F 53 41 21 2F 2C 4C 55 21 2C 4C 55 21 2D 0005C P.AAP: .ASCII \-!UL,!UL,/!AS/\ ; 0006A .BLKB 2 0000000E 0006C P.AAO: .LONG 14 ; 00000000' 00070 .ADDRESS P.AAP ; 20 00074 P.AAQ: .ASCII \ \ ; NULL_CMD= P.AAK INSERT_CMD= P.AAM REPLACE_CMD= P.AAO .EXTRN SYS$FAO .PSECT $CODE$,NOWRT,2 0FFC 00000 OUTPUT_COMMAND: .WORD Save R2,R3,R4,R5,R6,R7,R8,R9,R10,R11 ; 0755 5B 00000000' EF 9E 00002 MOVAB OUT_LINE, R11 ; 5E 08 C2 00009 SUBL2 #8, SP ; 51 00000000' EF 9E 0000C MOVAB NULL_CMD, FORMAT ; 0756 50 04 AC D0 00013 MOVL RANGE, R0 ; 0816 60 D5 00017 TSTL (R0) ; 13 13 00019 BEQL 1$ ; 51 00000000' EF 9E 0001B MOVAB INSERT_CMD, FORMAT ; 0818 04 A0 D5 00022 TSTL 4(R0) ; 0820 07 13 00025 BEQL 1$ ; 51 00000000' EF 9E 00027 MOVAB REPLACE_CMD, FORMAT ; 6E 84 8F 9A 0002E 1$: MOVZBL #132, OUT_STRING ; 0827 04 AE 6B 9E 00032 MOVAB OUT_LINE, OUT_STRING+4 ; 0828 08 AC DD 00036 PUSHL AUDIT ; 0836 7E 60 7D 00039 MOVQ (R0), -(SP) ; 0C AE 9F 0003C PUSHAB OUT_STRING ; 10 AE 9F 0003F PUSHAB OUT_STRING ; 51 DD 00042 PUSHL FORMAT ; 00000000G 9F 06 FB 00044 CALLS #6, @#SYS$FAO ; 56 6E D0 0004B MOVL OUT_STRING, C ; 0837 57 0C AC D0 0004E MOVL COMMENT1, R7 ; 0842 59 67 D0 00052 MOVL (R7), R9 ; 50 D4 00055 CLRL R0 ; 59 D5 00057 TSTL R9 ; 04 13 00059 BEQL 2$ ; 50 D6 0005B INCL R0 ; 05 11 0005D BRB 3$ ; 10 BC D5 0005F 2$: TSTL @COMMENT2 ; 0843 72 13 00062 BEQL 8$ ; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 33 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (8) 6B46 9F 00064 3$: PUSHAB OUT_LINE[C] ; 0846 9E 3B09 8F B0 00067 MOVW #15113, @(SP)+ ; 56 02 C0 0006C ADDL2 #2, C ; 0847 38 50 E9 0006F BLBC R0, 6$ ; 0849 58 00000084 8F 56 C3 00072 SUBL3 C, #132, R8 ; 0853 5A 56 5B C1 0007A ADDL3 R11, C, R10 ; 58 20 00000000' EF 01 2C 0007E MOVC5 #1, P.AAQ, #32, R8, (R10) ; 0852 6A 00087 ; 0B 18 00088 BGEQ 4$ ; 5A D6 0008A INCL R10 ; 58 D7 0008C DECL R8 ; 58 20 04 B7 59 2C 0008E MOVC5 R9, @4(R7), #32, R8, (R10) ; 6A 00094 ; 50 01 A946 9E 00095 4$: MOVAB 1(R9)[C], R0 ; 0854 00000084 8F 50 D1 0009A CMPL R0, #132 ; 04 1B 000A1 BLEQU 5$ ; 50 84 8F 9A 000A3 MOVZBL #132, R0 ; 56 50 D0 000A7 5$: MOVL R0, C ; 57 10 AC D0 000AA 6$: MOVL COMMENT2, R7 ; 0857 67 D5 000AE TSTL (R7) ; 24 13 000B0 BEQL 8$ ; 50 00000084 8F 56 C3 000B2 SUBL3 C, #132, R0 ; 0860 50 20 04 B7 67 2C 000BA MOVC5 (R7), @4(R7), #32, R0, OUT_LINE[C] ; 6B46 000C0 ; 50 56 67 C1 000C2 ADDL3 (R7), C, R0 ; 0861 00000084 8F 50 D1 000C6 CMPL R0, #132 ; 04 1B 000CD BLEQU 7$ ; 50 84 8F 9A 000CF MOVZBL #132, R0 ; 56 50 D0 000D3 7$: MOVL R0, C ; 00000000' EF 56 B0 000D6 8$: MOVW C, OUTRAB+34 ; 0868 00000000' EF 6B 9E 000DD MOVAB OUT_LINE, OUTRAB+40 ; 0869 00000000' EF 9F 000E4 PUSHAB OUTRAB ; 0870 00000000V EF 01 FB 000EA CALLS #1, WRITE_LINE ; 04 000F1 RET ; 0755 ; Routine Size: 242 bytes, Routine Base: $CODE$ + 0723 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 34 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (9) ; 0873 ROUTINE OUTPUT_TEXT (SIZE, BUFFER) : NOVALUE = ; 0874 BEGIN ; 0875 ; 0876 !++ ; 0877 ! ; 0878 ! Functional Description: ; 0879 ! ; 0880 ! This routine writes the contents of the indicated text buffer to ; 0881 ! the output file. Lines of text are terminated with nulls. ; 0882 ! ; 0883 ! Calling Sequence: ; 0884 ! standard ; 0885 ! ; 0886 ! Input Parameters: ; 0887 MAP ; 0888 SIZE, ! byte count of buffer ; 0889 BUFFER : REF VECTOR [,BYTE]; ; 0890 ! ; 0891 ! Implicit Inputs: ; 0892 MAP ; 0893 OUTRAB : $RAB_DECL; ! RAB for output file ; 0894 ! ; 0895 ! Output Parameters: ; 0896 ! none ; 0897 ! ; 0898 ! Implicit Outputs: ; 0899 ! none ; 0900 ! ; 0901 ! Routines Called: ; 0902 ! WRITE_LINE; ! write line of text to output ; 0903 ! ; 0904 ! Routine Value: ; 0905 ! none ; 0906 ! ; 0907 ! Signals: ; 0908 ! none ; 0909 ! ; 0910 ! Side Effects: ; 0911 ! records written ; 0912 ! ; 0913 !-- ; 0914 ; 0915 LOCAL ; 0916 P, ! text pointer ; 0917 P0; ! another text pointer ; 0918 ; 0919 ; 0920 ! Loop, scanning the text for line end markers. As each is found, write that ; 0921 ! line. Stop when the buffer has been scanned. ; 0922 ! ; 0923 ; 0924 P = .BUFFER; ! init pointer ; 0925 UNTIL .P GEQA .BUFFER + .SIZE ; 0926 DO ; 0927 BEGIN ; 0928 P0 = .P + 1; ! mark start of current line ; 0929 P = CH$FIND_CH (.SIZE-(.P0-.BUFFER), .P0, 255); ; 0930 OUTRAB[RAB$W_RSZ] = .P - .P0; ! set record length REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 35 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (9) ; 0931 OUTRAB[RAB$L_RBF] = .P0; ! and record address ; 0932 WRITE_LINE (OUTRAB); ; 0933 P = .P + 1; ! eat the terminator ; 0934 END; ; 0935 ; 0936 END; ! end of routine OUTPUT_TEXT 003C 00000 OUTPUT_TEXT: .WORD Save R2,R3,R4,R5 ; 0873 55 00000000' EF 9E 00002 MOVAB OUTRAB+34, R5 ; 52 08 AC D0 00009 MOVL BUFFER, P ; 0924 54 08 AC 04 AC C1 0000D ADDL3 SIZE, BUFFER, R4 ; 0925 54 52 D1 00013 1$: CMPL P, R4 ; 2F 1E 00016 BGEQU 3$ ; 53 01 A2 9E 00018 MOVAB 1(R2), P0 ; 0928 50 08 AC 53 C3 0001C SUBL3 P0, BUFFER, R0 ; 0929 50 04 AC C0 00021 ADDL2 SIZE, R0 ; 63 50 FF 8F 3A 00025 LOCC #255, R0, (P0) ; 02 12 0002A BNEQ 2$ ; 51 D4 0002C CLRL R1 ; 52 51 D0 0002E 2$: MOVL R1, P ; 65 52 53 A3 00031 SUBW3 P0, P, OUTRAB+34 ; 0930 06 A5 53 D0 00035 MOVL P0, OUTRAB+40 ; 0931 DE A5 9F 00039 PUSHAB OUTRAB ; 0932 00000000V EF 01 FB 0003C CALLS #1, WRITE_LINE ; 52 D6 00043 INCL P ; 0933 CC 11 00045 BRB 1$ ; 0925 04 00047 3$: RET ; 0873 ; Routine Size: 72 bytes, Routine Base: $CODE$ + 0815 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 36 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (10) ; 0937 ROUTINE WRITE_LINE (RAB) : NOVALUE = ; 0938 BEGIN ; 0939 ; 0940 !++ ; 0941 ! ; 0942 ! Functional Description: ; 0943 ! ; 0944 ! This routine writes the next line to the specified output file. ; 0945 ! ; 0946 ! Calling Sequence: ; 0947 ! standard ; 0948 ! ; 0949 ! Input Parameters: ; 0950 MAP ; 0951 RAB : REF $RAB_DECL; ! RAB to write with ; 0952 ! ; 0953 ! Implicit Inputs: ; 0954 ! line buffer pointed to by RAB ; 0955 ! ; 0956 ! Output Parameters: ; 0957 ! none ; 0958 ! ; 0959 ! Implicit Outputs: ; 0960 ! none ; 0961 ! ; 0962 ! Routines Called: ; 0963 ! SYS$PUT ; 0964 ! ; 0965 ! Routine Value: ; 0966 ! none ; 0967 ! ; 0968 ! Signals: ; 0969 ! none ; 0970 ! ; 0971 ! Side Effects: ; 0972 ! none ; 0973 ! ; 0974 !-- ; 0975 ; 0976 ; 0977 ! Just put the record and check for errors. ; 0978 ! ; 0979 ; 0980 IF NOT $PUT (RAB = .RAB) ; 0981 THEN ERR_EXIT (ERR_WRITEOUT, .RAB); ; 0982 ; 0983 END; ! end of routine WRITE_LINE .EXTRN SYS$PUT 0000 00000 WRITE_LINE: .WORD Save nothing ; 0937 04 AC DD 00002 PUSHL RAB ; 0980 00000000G 9F 01 FB 00005 CALLS #1, @#SYS$PUT ; 10 50 E8 0000C BLBS R0, 1$ ; 04 AC DD 0000F PUSHL RAB ; 0981 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 37 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (10) 00450038 8F DD 00012 PUSHL #4522040 ; 00000000G 00 02 FB 00018 CALLS #2, LIB$STOP ; 04 0001F 1$: RET ; 0937 ; Routine Size: 32 bytes, Routine Base: $CODE$ + 085D REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 38 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (11) ; 0984 ROUTINE HANDLER (SIGNAL, MECHANISM) = ; 0985 BEGIN ; 0986 ; 0987 !++ ; 0988 ! ; 0989 ! Functional Description: ; 0990 ! ; 0991 ! This routine is the condition handler for the utility. It receives ; 0992 ! a signal which is the error code of the message to print. If ; 0993 ! a secondary signal argument is present, it is the FAB or RAB ; 0994 ! address of the file in question, from which the file name and ; 0995 ! error status will be output. ; 0996 ! ; 0997 ! Calling Sequence: ; 0998 ! standard ; 0999 ! ; 1000 ! Input Parameters: ; 1001 MAP ; 1002 SIGNAL : REF BLOCK [,BYTE], ! address of signal vector ; 1003 MECHANISM : REF BLOCK [,BYTE]; ! address of mechanism vector ; 1004 ! ; 1005 ! Implicit Inputs: ; 1006 ! none ; 1007 ! ; 1008 ! Output Parameters: ; 1009 ! none ; 1010 ! ; 1011 ! Implicit Outputs: ; 1012 ! none ; 1013 ! ; 1014 ! Routines Called: ; 1015 EXTERNAL ROUTINE ; 1016 LIB$PUT_OUTPUT : ADDRESSING_MODE (GENERAL), ; 1017 ! library output routine ; 1018 LIB$SIGNAL : ADDRESSING_MODE (GENERAL); ; 1019 ! library signal routine ; 1020 ! ; 1021 ! Routine Value: ; 1022 ! SS$_RESIGNAL ; 1023 ! ; 1024 ! Signals: ; 1025 ! none ; 1026 ! ; 1027 ! Side Effects: ; 1028 ! stack unwound, control returned to caller of facility ; 1029 ! ; 1030 !-- ; 1031 ; 1032 LOCAL ; 1033 C, ! string character count ; 1034 P : REF VECTOR [,BYTE], ! string pointer ; 1035 STS, ! RMS status ; 1036 STV, ! RMS status value ; 1037 ERR_CODE : BLOCK [4, BYTE], ! error code being signalled ; 1038 MSG_DESC : VECTOR [2], ! message text descriptor ; 1039 MSG_BUFFER : VECTOR [132, BYTE], ! message text buffer ; 1040 FAB : REF $FAB_DECL, ! local FAB pointer ; 1041 NAM : REF $NAM_DECL; ! local NAM pointer REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 39 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (11) ; 1042 ; 1043 ; 1044 ! Get the signal code. If it is a local error message, do error processing. ; 1045 ! Otherwise, just resignal the error. ; 1046 ! ; 1047 ; 1048 STS = 1; ; 1049 ERR_CODE = .SIGNAL[CHF$L_SIG_NAME] - FAC_CODE^16; ; 1050 IF .ERR_CODE[STS$V_FAC_NO] EQL 0 ; 1051 THEN ; 1052 BEGIN ; 1053 ERR_CODE = .ERR_CODE[STS$V_MSG_NO]; ; 1054 P = .MESSAGE_TABLE[.ERR_CODE]; ; 1055 MSG_DESC[0] = .(.P)<0,8>; ; 1056 MSG_DESC[1] = MSG_BUFFER; ; 1057 CH$MOVE (.(.P)<0,8>, .P+1, MSG_BUFFER); ; 1058 ; 1059 IF .SIGNAL[CHF$L_SIG_ARGS] GEQU 4 ; 1060 THEN ; 1061 BEGIN ; 1062 FAB = .SIGNAL[CHF$L_SIG_ARG1]; ; 1063 STS = .FAB[FAB$L_STS]; ; 1064 STV = .FAB[FAB$L_STV]; ; 1065 IF .FAB[FAB$B_BID] EQL RAB$C_BID ; 1066 THEN FAB = .FAB[RAB$L_FAB]; ; 1067 ; 1068 NAM = .FAB[FAB$L_NAM]; ; 1069 C = .NAM[NAM$B_RSL]; ; 1070 P = .NAM[NAM$L_RSA]; ; 1071 IF .C EQL 0 ; 1072 THEN ; 1073 BEGIN ; 1074 C = .NAM[NAM$B_ESL]; ; 1075 P = .NAM[NAM$L_ESA]; ; 1076 END; ; 1077 IF .C EQL 0 ; 1078 THEN ; 1079 BEGIN ; 1080 C = .FAB[FAB$B_FNS]; ; 1081 P = .FAB[FAB$L_FNA]; ; 1082 END; ; 1083 ; 1084 CH$MOVE (.C, .P, .MSG_DESC[1] + .MSG_DESC[0]); ; 1085 MSG_DESC[0] = .MSG_DESC[0] + .C; ; 1086 END; ; 1087 ; 1088 LIB$PUT_OUTPUT (MSG_DESC[0]); ; 1089 ; 1090 IF NOT .STS ; 1091 THEN LIB$SIGNAL (.STS, .STV); ; 1092 MECHANISM[CHF$L_MCH_SAVR0] = STS$K_ERROR OR STS$M_INHIB_MSG; ; 1093 $UNWIND (); ; 1094 END; ; 1095 ; 1096 SS$_RESIGNAL ; 1097 ; 1098 END; ! end of routine HANDLER REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 40 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (11) .EXTRN LIB$PUT_OUTPUT, LIB$SIGNAL .EXTRN SYS$UNWIND 03FC 00000 HANDLER:.WORD Save R2,R3,R4,R5,R6,R7,R8,R9 ; 0984 5E FF74 CE 9E 00002 MOVAB -140(SP), SP ; 58 01 D0 00007 MOVL #1, STS ; 1048 56 04 AC D0 0000A MOVL SIGNAL, R6 ; 1049 50 04 A6 00450000 8F C3 0000E SUBL3 #4521984, 4(R6), ERR_CODE ; 00 50 0C 10 ED 00017 CMPZV #16, #12, ERR_CODE, #0 ; 1050 03 13 0001C BEQL 1$ ; 0091 31 0001E BRW 7$ ; 50 50 0D 03 EF 00021 1$: EXTZV #3, #13, ERR_CODE, ERR_CODE ; 1053 57 00000000'EF40 D0 00026 MOVL MESSAGE_TABLE[ERR_CODE], P ; 1054 F8 AD 67 9A 0002E MOVZBL (P), MSG_DESC ; 1055 FC AD 6E 9E 00032 MOVAB MSG_BUFFER, MSG_DESC+4 ; 1056 50 67 9A 00036 MOVZBL (P), R0 ; 1057 6E 01 A7 50 28 00039 MOVC3 R0, 1(P), MSG_BUFFER ; 04 66 D1 0003E CMPL (R6), #4 ; 1059 43 1F 00041 BLSSU 5$ ; 50 08 A6 D0 00043 MOVL 8(R6), FAB ; 1062 58 08 A0 7D 00047 MOVQ 8(FAB), STS ; 1063 01 60 91 0004B CMPB (FAB), #1 ; 1065 04 12 0004E BNEQ 2$ ; 50 3C A0 D0 00050 MOVL 60(FAB), FAB ; 1066 51 28 A0 D0 00054 2$: MOVL 40(FAB), NAM ; 1068 56 03 A1 9A 00058 MOVZBL 3(NAM), C ; 1069 57 04 A1 D0 0005C MOVL 4(NAM), P ; 1070 56 D5 00060 TSTL C ; 1071 08 12 00062 BNEQ 3$ ; 56 0B A1 9A 00064 MOVZBL 11(NAM), C ; 1074 57 0C A1 D0 00068 MOVL 12(NAM), P ; 1075 56 D5 0006C 3$: TSTL C ; 1077 08 12 0006E BNEQ 4$ ; 56 34 A0 9A 00070 MOVZBL 52(FAB), C ; 1080 57 2C A0 D0 00074 MOVL 44(FAB), P ; 1081 50 FC AD F8 AD C1 00078 4$: ADDL3 MSG_DESC, MSG_DESC+4, R0 ; 1084 60 67 56 28 0007E MOVC3 C, (P), (R0) ; F8 AD 56 C0 00082 ADDL2 C, MSG_DESC ; 1085 F8 AD 9F 00086 5$: PUSHAB MSG_DESC ; 1088 00000000G 00 01 FB 00089 CALLS #1, LIB$PUT_OUTPUT ; 0A 58 E8 00090 BLBS STS, 6$ ; 1090 7E 58 7D 00093 MOVQ STS, -(SP) ; 1091 00000000G 00 02 FB 00096 CALLS #2, LIB$SIGNAL ; 50 08 AC D0 0009D 6$: MOVL MECHANISM, R0 ; 1092 0C A0 10000002 8F D0 000A1 MOVL #268435458, 12(R0) ; 7E 7C 000A9 CLRQ -(SP) ; 1093 00000000G 9F 02 FB 000AB CALLS #2, @#SYS$UNWIND ; 50 0918 8F 3C 000B2 7$: MOVZWL #2328, R0 ; 0984 04 000B7 RET ; ; Routine Size: 184 bytes, Routine Base: $CODE$ + 087D REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 41 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (12) ; 1099 !+ ; 1100 ! ; 1101 ! TPARSE State Tables ; 1102 ! ; 1103 !- ; 1104 ; 1105 ! ; 1106 ! Parse command line ; 1107 ! ; 1108 ; 1109 $INIT_STATE (CMD_TABLE, CMD_KEY); ; 1110 ; P 1111 $STATE (FIRST, ; P 1112 ((FILESPEC),,,,FILE1), ; P 1113 ((OPTION),FIRST) ; 1114 ); ; 1115 ; P 1116 $STATE (, ; P 1117 (TPA$_BLANK), ; P 1118 ((OPTION)) ; 1119 ); ; 1120 ; P 1121 $STATE (SECOND, ; P 1122 ((FILESPEC),,,,FILE2), ; P 1123 ((OPTION), SECOND) ; 1124 ); ; 1125 ; P 1126 $STATE (LAST, ; P 1127 ((OPTION), LAST), ; P 1128 (TPA$_EOS, TPA$_EXIT) ; 1129 ); ; 1130 ; P 1131 $STATE (OPTION, ; P 1132 (TPA$_BLANK), ; P 1133 (TPA$_LAMBDA) ; 1134 ); ; 1135 ; P 1136 $STATE (, ; P 1137 ('/') ; 1138 ); ; 1139 ; P 1140 $STATE (, ; P 1141 ('OUTPUT') ; 1142 ); ; 1143 ; P 1144 $STATE (, ; P 1145 ('='), ; P 1146 (':') ; 1147 ); ; 1148 ; P 1149 $STATE (, ; P 1150 ((FILESPEC),,,, OUTFILE) ; 1151 ); ; 1152 ; P 1153 $STATE (, ; P 1154 (TPA$_BLANK, TPA$_EXIT), ; P 1155 (TPA$_LAMBDA, TPA$_EXIT) ; 1156 ); REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 42 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (12) ; 1157 ; P 1158 $STATE (FILESPEC, ; P 1159 ((FILESPECC)) ; 1160 ); ; 1161 ; P 1162 $STATE (FILESPEC1, ; P 1163 ((FILESPECC), FILESPEC1), ; P 1164 (TPA$_LAMBDA, TPA$_EXIT) ; 1165 ); ; 1166 ; P 1167 $STATE (FILESPECC, ; P 1168 (TPA$_SYMBOL, TPA$_EXIT), ; P 1169 ((QUOTED), TPA$_EXIT), ; P 1170 (':', TPA$_EXIT), ; P 1171 ('[', TPA$_EXIT), ; P 1172 (']', TPA$_EXIT), ; P 1173 ('<', TPA$_EXIT), ; P 1174 ('>', TPA$_EXIT), ; P 1175 ('.', TPA$_EXIT), ; P 1176 (';', TPA$_EXIT), ; P 1177 ('-', TPA$_EXIT) ; 1178 ); ; 1179 ; P 1180 $STATE (QUOTED, ; P 1181 ('"') ; 1182 ); ; 1183 ; P 1184 $STATE (QUOTED1, ; P 1185 ('"', TPA$_EXIT), ; P 1186 (TPA$_ANY, QUOTED1) ; 1187 ); ; 1188 ; 1189 ! ; 1190 ! Parse a SLP command ; 1191 ! ; 1192 ; 1193 $INIT_STATE (SLP_TABLE, SLP_KEY); ; 1194 ; P 1195 $STATE (, ; P 1196 ('/', TPA$_EXIT,, -1, START_LINE), ; P 1197 ('-') ; 1198 ); ; 1199 ; P 1200 $STATE (, ; P 1201 (TPA$_DECIMAL,,,, START_LINE), ; P 1202 (TPA$_LAMBDA) ; 1203 ); ; 1204 ; P 1205 $STATE (, ; P 1206 (','), ; P 1207 (';', CHKCOMM), ; P 1208 (TPA$_EOS, TPA$_EXIT) ; 1209 ); ; 1210 ; P 1211 $STATE (, ; P 1212 (TPA$_DECIMAL,,,, END_LINE), ; P 1213 (TPA$_LAMBDA) ; 1214 ); REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 43 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (12) ; 1215 ; P 1216 $STATE (, ; P 1217 (','), ; P 1218 (';', CHKCOMM), ; P 1219 (TPA$_EOS, TPA$_EXIT) ; 1220 ); ; 1221 ; P 1222 $STATE (, ; P 1223 ('/'), ; P 1224 (';', CHKCOMM), ; P 1225 (TPA$_EOS, TPA$_EXIT) ; 1226 ); ; 1227 ; P 1228 $STATE (, ; P 1229 ((AUDIT),,,, AUDIT_STRING) ; 1230 ); ; 1231 ; P 1232 $STATE (, ; P 1233 ('/'), ; P 1234 (TPA$_EOS, TPA$_EXIT) ; 1235 ); ; 1236 ; P 1237 $STATE (, ; P 1238 (';'), ; P 1239 (TPA$_EOS, TPA$_EXIT) ; 1240 ); ; 1241 ; P 1242 $STATE (CHKCOMM, ; P 1243 ((COMMENT),,,, COMMENT_STRING), ; P 1244 (TPA$_EOS, TPA$_EXIT) ; 1245 ); ; 1246 ; P 1247 $STATE (, ; P 1248 (TPA$_EOS, TPA$_EXIT) ; 1249 ); ; 1250 ; P 1251 $STATE (AUDIT, ; P 1252 ((AUDITC), AUDIT), ; P 1253 (TPA$_LAMBDA, TPA$_EXIT) ; 1254 ); ; 1255 ; P 1256 $STATE (AUDITC, ; P 1257 ('/', TPA$_FAIL), ; P 1258 (TPA$_ANY, TPA$_EXIT) ; 1259 ); ; 1260 ; P 1261 $STATE (COMMENT, ; P 1262 (TPA$_ANY, COMMENT), ; P 1263 (TPA$_EOS, TPA$_EXIT) ; 1264 ); ; 1265 ; 1266 END ; 1267 ELUDOM .PSECT _LIB$KEY1$,NOWRT, SHR, PIC,0 REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 44 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (12) 00000 ;TPA$KEYST0 U.43: .BLKB 0 54 55 50 54 55 4F 00000 U.45: .ASCII \OUTPUT\ ; FF 00006 .BYTE -1 ; FF 00007 U.47: .BYTE -1 ; .PSECT _LIB$STATE$,NOWRT, SHR, PIC,0 00000 CMD_TABLE:: .BLKB 0 00000 FIRST: .BLKB 0 49F8 00000 U.18: .WORD 18936 ; 0000* 00002 U.20: .WORD <-2> ; 00000000* 00004 U.21: .LONG <-4> ; 1DF8 00008 U.22: .WORD 7672 ; 0000* 0000A U.24: .WORD <-2> ; 0000* 0000C U.25: .WORD <-2> ; 01F2 0000E U.26: .WORD 498 ; 0DF8 00010 U.27: .WORD 3576 ; 0000* 00012 U.28: .WORD <-2> ; 00014 SECOND: .BLKB 0 49F8 00014 U.29: .WORD 18936 ; 0000* 00016 U.30: .WORD <-2> ; 00000000* 00018 U.31: .LONG <-4> ; 1DF8 0001C U.32: .WORD 7672 ; 0000* 0001E U.33: .WORD <-2> ; 0000* 00020 U.34: .WORD <-2> ; 00022 LAST: .BLKB 0 19F8 00022 U.35: .WORD 6648 ; 0000* 00024 U.36: .WORD <-2> ; 0000* 00026 U.37: .WORD <-2> ; 15F7 00028 U.38: .WORD 5623 ; FFFF 0002A U.39: .WORD -1 ; 0002C ;OPTION U.23: .BLKB 0 01F2 0002C U.40: .WORD 498 ; 05F6 0002E U.41: .WORD 1526 ; 042F 00030 U.42: .WORD 1071 ; 0500 00032 U.46: .WORD 1280 ; 003D 00034 U.48: .WORD 61 ; 043A 00036 U.49: .WORD 1082 ; 4DF8 00038 U.50: .WORD 19960 ; 0000* 0003A U.51: .WORD <-2> ; 00000000* 0003C U.52: .LONG <-4> ; 11F2 00040 U.53: .WORD 4594 ; FFFF 00042 U.54: .WORD -1 ; 15F6 00044 U.55: .WORD 5622 ; FFFF 00046 U.56: .WORD -1 ; 00048 ;FILESPEC U.19: .BLKB 0 0DF8 00048 U.57: .WORD 3576 ; 0000* 0004A U.59: .WORD <-2> ; 0004C FILESPEC1: .BLKB 0 19F8 0004C U.60: .WORD 6648 ; 0000* 0004E U.61: .WORD <-2> ; 0000* 00050 U.62: .WORD <-2> ; 15F6 00052 U.63: .WORD 5622 ; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 45 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (12) FFFF 00054 U.64: .WORD -1 ; 00056 ;FILESPECC U.58: .BLKB 0 11F1 00056 U.65: .WORD 4593 ; FFFF 00058 U.66: .WORD -1 ; 19F8 0005A U.67: .WORD 6648 ; 0000* 0005C U.69: .WORD <-2> ; FFFF 0005E U.70: .WORD -1 ; 103A 00060 U.71: .WORD 4154 ; FFFF 00062 U.72: .WORD -1 ; 105B 00064 U.73: .WORD 4187 ; FFFF 00066 U.74: .WORD -1 ; 105D 00068 U.75: .WORD 4189 ; FFFF 0006A U.76: .WORD -1 ; 103C 0006C U.77: .WORD 4156 ; FFFF 0006E U.78: .WORD -1 ; 103E 00070 U.79: .WORD 4158 ; FFFF 00072 U.80: .WORD -1 ; 102E 00074 U.81: .WORD 4142 ; FFFF 00076 U.82: .WORD -1 ; 103B 00078 U.83: .WORD 4155 ; FFFF 0007A U.84: .WORD -1 ; 142D 0007C U.85: .WORD 5165 ; FFFF 0007E U.86: .WORD -1 ; 00080 ;QUOTED U.68: .BLKB 0 0422 00080 U.87: .WORD 1058 ; 00082 QUOTED1:.BLKB 0 1022 00082 U.88: .WORD 4130 ; FFFF 00084 U.89: .WORD -1 ; 15ED 00086 U.90: .WORD 5613 ; 0000* 00088 U.91: .WORD <-2> ; 0008A .BLKB 2 0008C SLP_TABLE:: .BLKB 0 702F 0008C U.93: .WORD 28719 ; 00000000* 0008E U.94: .LONG <-4> ; FFFFFFFF 00092 U.95: .LONG -1 ; FFFF 00096 U.96: .WORD -1 ; 042D 00098 U.97: .WORD 1069 ; 41F3 0009A U.98: .WORD 16883 ; 00000000* 0009C U.99: .LONG <-4> ; 05F6 000A0 U.100: .WORD 1526 ; 002C 000A2 U.101: .WORD 44 ; 103B 000A4 U.102: .WORD 4155 ; 0000* 000A6 U.104: .WORD <-2> ; 15F7 000A8 U.105: .WORD 5623 ; FFFF 000AA U.106: .WORD -1 ; 41F3 000AC U.107: .WORD 16883 ; 00000000* 000AE U.108: .LONG <-4> ; 05F6 000B2 U.109: .WORD 1526 ; 002C 000B4 U.110: .WORD 44 ; 103B 000B6 U.111: .WORD 4155 ; 0000* 000B8 U.112: .WORD <-2> ; 15F7 000BA U.113: .WORD 5623 ; FFFF 000BC U.114: .WORD -1 ; 002F 000BE U.115: .WORD 47 ; 103B 000C0 U.116: .WORD 4155 ; REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 46 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (12) 0000* 000C2 U.117: .WORD <-2> ; 15F7 000C4 U.118: .WORD 5623 ; FFFF 000C6 U.119: .WORD -1 ; 4DF8 000C8 U.120: .WORD 19960 ; 0000* 000CA U.122: .WORD <-2> ; 00000000* 000CC U.123: .LONG <-4> ; 002F 000D0 U.124: .WORD 47 ; 15F7 000D2 U.125: .WORD 5623 ; FFFF 000D4 U.126: .WORD -1 ; 003B 000D6 U.127: .WORD 59 ; 15F7 000D8 U.128: .WORD 5623 ; FFFF 000DA U.129: .WORD -1 ; 000DC ;CHKCOMM U.103: .BLKB 0 49F8 000DC U.130: .WORD 18936 ; 0000* 000DE U.132: .WORD <-2> ; 00000000* 000E0 U.133: .LONG <-4> ; 15F7 000E4 U.134: .WORD 5623 ; FFFF 000E6 U.135: .WORD -1 ; 15F7 000E8 U.136: .WORD 5623 ; FFFF 000EA U.137: .WORD -1 ; 000EC ;AUDIT U.121: .BLKB 0 19F8 000EC U.138: .WORD 6648 ; 0000* 000EE U.140: .WORD <-2> ; 0000* 000F0 U.141: .WORD <-2> ; 15F6 000F2 U.142: .WORD 5622 ; FFFF 000F4 U.143: .WORD -1 ; 000F6 ;AUDITC U.139: .BLKB 0 102F 000F6 U.144: .WORD 4143 ; FFFE 000F8 U.145: .WORD -2 ; 15ED 000FA U.146: .WORD 5613 ; FFFF 000FC U.147: .WORD -1 ; 000FE ;COMMENT U.131: .BLKB 0 11ED 000FE U.148: .WORD 4589 ; 0000* 00100 U.149: .WORD <-2> ; 15F7 00102 U.150: .WORD 5623 ; FFFF 00104 U.151: .WORD -1 ; .PSECT _LIB$KEY0$,NOWRT, SHR, PIC,1 00000 CMD_KEY:: .BLKB 0 00000 ;TPA$KEY0 U.17: .BLKB 0 0000* 00000 U.44: .WORD ; 00002 .BLKB 2 00004 SLP_KEY:: .BLKB 0 00004 ;TPA$KEY0 U.92: .BLKB 0 .EXTRN LIB$STOP ; PSECT SUMMARY REAUDIT 31-Oct-1980 18:35:40 VAX-11 Bliss-32 V2-622 Page 47 X0001E 22-Oct-1979 16:30:13 _DBB2:[GOLDSTEIN.UPDATE]REAUDIT.B32;88 (12) ; ; Name Bytes Attributes ; ; $OWN$ 202244 , WRT, RD ,NOEXE,NOSHR, LCL, REL, CON,NOPIC,ALIGN(2) ; $PLIT$ 117 ,NOWRT, RD ,NOEXE,NOSHR, LCL, REL, CON,NOPIC,ALIGN(2) ; $MSG_TEXT 218 ,NOWRT, RD ,NOEXE,NOSHR, LCL, REL, CON,NOPIC,ALIGN(0) ; $MSG_INDEX 32 ,NOWRT, RD ,NOEXE,NOSHR, LCL, REL, CON,NOPIC,ALIGN(2) ; $CODE$ 2357 ,NOWRT, RD , EXE,NOSHR, LCL, REL, CON,NOPIC,ALIGN(2) ; _LIB$KEY0$ 4 ,NOWRT, RD , EXE, SHR, LCL, REL, CON, PIC,ALIGN(1) ; _LIB$STATE$ 262 ,NOWRT, RD , EXE, SHR, LCL, REL, CON, PIC,ALIGN(0) ; _LIB$KEY1$ 8 ,NOWRT, RD , EXE, SHR, LCL, REL, CON, PIC,ALIGN(0) ; LIBRARY STATISTICS ; ; -------- Symbols -------- Blocks ; File Total Loaded Percent Read ; ; _DRA1:[SYSLIB]STARLET.L32;1 3893 67 1 198 ; _DRA1:[SYSLIB]CLIMAC.L32;1 14 2 14 5 ; _DRA1:[SYSLIB]TPAMAC.L32;1 39 29 74 27 ; COMMAND QUALIFIERS ; BLISS /LIS REAUDIT ; Size: 2357 code + 202885 data bytes ; Run Time: 00:58.9 ; Elapsed Time: 01:41.5 ; Memory Used: 362 pages ; Compilation Complete