15 22FL #SEG NAMEPRIV [M.B.KINGHAM 8 22_= #OPT K0NAMEPRIV=0 9 23DW #OPT K6NAMEPRIV=K6ALLGEO 9 23YG #LIS K0NAMEPRIV>K0ALLGEO 10 24D6 8HNAMEPRIV 13 24XQ SEGENTRY K1NAMEPRIV,QK1NAMEPRIV 18 257J ...WKPT WKPTABLE [TABLE OF WELLKNOWN PRIVS 20 25CB # THIS SEGMENT IMPLEMENTS THE NAMEPRIV COMMAND. THE NAMEPRIV COMMAND 13 25X2 # PERMITS :MANAGER TO RENAME A PRIVILEGE 6 26BL QK1NAMEPRIV 17 26W= # THIS SECTION CHECKS THAT THE PROPER USER IS :MANAGER 4 27*W # 20 27TG CJOBLOCK 3 [GET POINTER TO CURRENT JOBLOCK 13 28*6 LDX 4 PUSER(1) [MANA 13 28SQ LDX 5 PUSER+1(1) [GER 16 29#B LDX 6 ACES [ SPACES 9 29S2 TXU 4 JUSER(3) 10 2=?L TXU 5 JUSER+1(3) 10 2=R= TXU 6 JUSER+2(3) 19 2?=W BCC PARACHEC [IF :MANAGER,GO CHECK PARAMS 8 2?QG CALL 1 ONERR 21 2#=6 +JMAN [ONLY :MANAGER CAN RENAME PRIVILEGES 4 2#PQ # 20 2*9B # THIS SECTION PASSES OUT THE NEW PRIVILEGE NAME PARAMETER,CHECKING 17 2*P2 # THAT IT EXISTS AND IS NOT MORE THAN 8 CHARACTERS LONG. 4 2B8L # 5 2BN= PARACHEC 9 2C7W CALL 5 NEXTPARA 17 2CMG +JNEWPRIV [NO NEW PRIV PARAM 4 2D76 # 20 2DLQ # THIS SECTION PASSES OUT THE OLD PRIVILEGE NAME PARAMETER,CHECKING 18 2F6B # THAT IT EXISTS AND IS NOT MORE THAN EIGHT CHARACTERS LONG. 4 2FL2 # 9 2G5L CALL 5 NEXTPARA 17 2GK= +JOLDPRIV [NO OLD PRIV PARAM 4 2H4W # 21 2HJG # THIS SECTION SETS UP A FILE/FABSNB BLOCK,10 WORDS LONG AND SETS IN IT 16 2J46 # THE INFORMATION NECESSARY TO OPEN THE DICTIONARY 4 2JHQ # 20 2K3B SETNCORE 10,5,FILE,FABSNB [GET 10 WORD FILE/ ABSNB BLOCK 8 2KH2 ADN 5 A1 9 2L2L LDN 4 PDICT(1) 20 2LG= MOVE 4 10 [MOVE IN NECESSARY INFORMATION 4 2L_W # 20 2MFG # THIS SECTION OPENS UP THE DICTIONARY AND READS THE FIRST RECORD 4 2M_6 # 12 2NDQ OPEN XBREAK,GENERAL,QUERY 16 2NYB TESTRPN2 OK,X10 [J IF NOT OPEN 18 2PD2 READ [READ THE FIRST RECORD 10 2PXL MHUNTW 2,FILE,FRB 4 2QC= # 20 2QWW # THIS SECTION LOCATES THE OLD PRIVILEGE NAME IN THE FIRST RECORD 4 2RBG # 19 2RW6 LDX 7 IZPRIV(2) [LOAD THE COUNT OF PRIVILEGES 20 2S*Q HUNT 3,CPB,CUNI [FIND BLOCK HOLDING OLD PRIVILEGE 20 2STB X7 LDX 4 APARA(3) [LOAD FIRST WORD OF OLD PRIVILEGE 21 2T*2 LDX 5 ACES [LOAD SPACES IN CASE OLD PRIVILEGE 21 2TSL [IS LESS THAN FIVE CHARACTERS LONG 7 2W#= SBN 6 5 18 2WRW BNG 6 X4 [J IF LESS THAN 5 CHARS 20 2X?G LDX 5 APARA+1(3) [LOAD 2ND WORD OF OLD PRIVILEGE 20 2XR6 X4 TXU 4 IZPRIV+2(2) [TEST 1ST WORD OF OLD PRIVILEGE 20 2Y=Q BCS X5 [AGAINST 1ST WORD OF PRIVILEGE IN 21 2YQB [FIRST RECORD OF DICTIONARY JUMPING 15 2_=2 [IF UNEQUAL 21 2_PL TXU 5 IZPRIV+3(2) [TEST 2ND WORD SIMILARY,JUMPING IF 14 329= BCC X6 [EQUAL 20 32NW X5 ADN 2 IZLINE [UPDATE X2 TO POINT TO NEXT ENTRY 18 338G BCT 7 X4 [J IF MORE ENTRIES LEFT 17 33N6 CLOSE [CLOSE THE DICTIONARY 8 347Q CALL 1 ONERR 18 34MB +JPRIVX1 [ERROR:PRIVILEGE DOES NO 4 3572 # 20 35LL # THIS SECTION OVERWRITES OLD PRIVILEGE NAME WITH NEW PRIVILEGE 4 366= # 18 36KW X6 LDX 6 2 [SAVE POINTER TO ENTRY 20 375G FREECORE 3 [FREE BLOCK HOLDING OLD PRIVILEGE 21 37K6 HUNT 3,CPB,CUNI [LOCATE BLOCK HOLDING NEW PRIVILEGE 18 384Q LDX 2 6 [RESTORE POINTER TO ENTRY 9 38JB LDX 6 ANUM(3) 18 3942 ANDN 6 #7777 [RETAIN PARAMETER LENGTH 20 39HL LDX 4 APARA(3) [LOAD FIRST WORD OF NEW PRIVILEGE 21 3=3= LDX 5 ACES [LOAD SPACES IN CASE NEW PRIVILEGE 20 3=GW [IS LESS THAN 5 CHARACTERS LONG 7 3?2G SBN 6 5 19 3?G6 BNG 6 X8 [J IF LESS THAN FIVE CHARS 20 3?_Q LDX 5 APARA+1(3) [LOAD 2ND WORD OF NEW PRIVILEGE 17 3#9J ...X8 LDX 6 IZPRIV+2(2) [RETAIN OLD PRIV NAME 10 3#FB ... LDX 7 IZPRIV+3(2) 20 3#P8 ... STO 4 IZPRIV+2(2) [OVERWRITE OLD PRIVILEGE NAME WITH 17 3#_2 STO 5 IZPRIV+3(2) [NEW PRIVILEGE NAME 18 3*39 ... WKPFIND 6,WKPT(1),3,NOTWKA [IS OLD PRIV WELLKNOWN 17 3*5D ... DICTWELL PUSER(1),PRIV,3,OFF [YES-RECORD IT AS OFF 5 3*7M ...NOTWKA 18 3*9W ... WKPFIND 4,WKPT(1),6,NOTWK [IS NEW PRIV WELLKNOWN 16 3*#5 ... DICTWELL PUSER(1),PRIV,6,ON [YES-RECORD IT 5 3*B# ...NOTWK 4 3*DL # 20 3*Y= # THIS SECTION REWRITES THE FIRST RECORD AND CLOSES THE DICTIONARY 4 3BCW # 10 3BXG MHUNTW 3,FILE,FRB 18 3CC6 NAME 3,FILE,FWB [RENAME BLOCK FOR WRITING 16 3CWQ REWRITE [REWRITE RECORD 17 3DBB CLOSE [CLOSE THE DICTIONARY 16 3DL8 ... DICTJL [UPDATE JOBLIST 19 3DW2 ENDCOM [RETURN TO COMMAND PROCESSOR 4 3F*L X10 10 3FT= TESTREP CLUDGE,X10A 17 3G#W GEOERR BRIEFPM,NOTOPEN [DICTIONARY NOT OPEN 4 3GSG X10A 7 3H#6 UNIFREE 11 3HRQ COMERR ERSYSCLUDG,FDIC 5 3J?B XBREAK 20 3JR2 GEOERR BRIEFPM,BREAKIN [BREAK IN DETECTED WHILE OPENING 15 3K=L [DICTIONARY 4 3KQ= [ 16 3L9W [ SUBROUTINE TO READ NEXT PARAM - CORRUPTS X6 4 3LPG [ 5 3M96 NEXTPARA 8 3MNQ SBX 5 FX1 7 3N8B SPARAPAS 10 3NN2 HUNT 3,CPB,CUNI 8 3P7L ADX 5 FX1 9 3PM= LDX 6 ANUM(3) 16 3Q6W BZE 6 NULL [J IF PARAM NULL 16 3QLG BNG 6 NULL [OR NONEXISTENT 16 3R66 ANDN 6 #7777 [ LENGTH OF PARAM 7 3RKQ SBN 6 9 18 3S5B BPZ 6 TOOLONG [J IF MORE THAN 8 CHARS 7 3SK2 ADN 6 9 7 3T4L EXIT 5 1 4 3TJ= NULL 7 3W3W SMO 5 18 3WHG LDX 5 0 [ADDRESS OF ERROR MESSAGE 9 3X36 LDX 6 PARMIS(1) 17 3XGQ COMERRX 6,5 [PARAMETER MISSING 5 3Y2B TOOLONG 8 3YG2 CALL 1 ONERR 10 3Y_L +JPRIVLONG 4 3_F= [ 10 3_YW [ SR TO DO COMMAND ERROR 4 42DG [ 5 42Y6 ONERR 18 43CQ LDX 5 0(1) [PICK UP ERROR MESSAGE 7 43XB COMERRX 5 8 44C2 PDICT +10 9 44WL 12HMASTER 10 45B= 12HDICTIONARY 8 45TW +1 8 46*G +1 8 46T6 4HB1 9 47#Q PARMIS +JPARMIS 10 47SB ...PUSER 12HMANAGER 11 48#2 MENDAREA 50,K99NAMEPRIV 4 48RL #END 8 ____ ...26036132000400000000