15 22FL SEG MAKEDIR,8,GEORGE PORTER,FILESTORE 12 22_= SEGENTRY K1MAKEDIR,Z1MAKEDIR 4 23DW [ 21 23YG [ THIS SEGMENT, ENTERED AT K1MAKEDIR ANALYZES THE PARAMETERS FOR THE 21 24D6 [ MAKEDIR COMMAND. IT THEN GOES DOWN TO NEWDIR WHICH DOES ALL THE HA 8 24XQ NDIR +1 8 25CB +1 8 25X2 4HC1 9 26BL PS 4HPSEU 5 26W= PARAM 8 27*W SBX 7 FX1 7 27TG SPARAPASS 10 28*6 MHUNT 1,CPB,CUNI 9 28SQ LDX 0 ANUM(1) 8 29#B ADX 7 FX1 7 29S2 EXIT 7 0 4 2=?L [ 5 2=R= XCOMERR 8 2?=W COMERRX 0(3) 4 2?QG [ 4 2#=6 [ 11 2#PQ Z1MAKEDIR [COMMAND ENTRY 4 2*9B [ 17 2*P2 CALL 7 PARAM [GET FIRST PARAMETER 18 2B8L BNG 0 NPAR [ERROR IF NO PARAMETERS 10 2BN= NAMETOP 1,FILE,FNAME 7 2C7W ... FNORM 1 10 2CMG TESTREP2 NAMEFORM,NAME 10 2D76 MHUNT 1,FILE,FNAME 20 2DLQ NAMETOP 1,CPB,CUNI [RENAME FOR POSSIBLE ERROR USE 10 2DPW ... MHUNT 3,FILE,FABSNB 8 2DT2 ... LDX 0 A1(3) 7 2DY6 ... SBN 0 4 9 2F3= ... BZE 0 USERONLY 20 2F6B FINDNAME [EXPAND FABSNB FOR OPEN ON DIR 10 2FL2 TESTREP2 NOUSER,NOUSER 10 2G5L MHUNT 2,FILE,FABSNB 21 2GK= LDX 0 A1(2) [IF REC. HEAD. > 388 THEN DEPTH > 64 21 2H4W SBN 0 389 [WHICH IS THE MAX. DEPTH OF DIRECTORY 20 2HJG BPZ 0 TOODEEP [CREATEABLE IN MAKEDIR COMMAND 8 2J46 SMO A1(2) 21 2JHQ ADN 2 A1-3 [LOCATE LAST HALF OF LAST LOCAL NAME 13 2K3B LDX 0 1(2) [GEN 16 2KH2 BZE 0 TLAN [DEFAULT SETTING 7 2L2L SBN 0 1 16 2LG= BNZ 0 NDET [WRONG GENERATION 13 2L_W TLAN LDX 0 2(2) [LANG 20 2MFG BZE 0 MLND [ALL DEFAULT SO PUT IN STANDARD 9 2M_6 SBX 0 NDIR+2(1) 16 2NDQ BNZ 0 NDET [WRONG LANGUAGE 4 2NYB MLND 8 2PD2 ADN 1 NDIR 20 2PXL MOVE 1 3 [OVERWRITE WITH LANGUAGE C1 ETC. 16 2QC= CALL 7 PARAM [GET 2ND PARAM 16 2QWW BNG 0 NUSER [J IF NO 2ND PARA 15 2RBG BZE 0 NPAR [J IF NULL 7 2RW6 LDN 0 2 7 2S*Q USERNORM 0 9 2STB TESTREP2 OK,USER 9 2T*2 ... BRN XERUSER 21 2TSL NUSER FREECORE 1 [OTHERWISE FREE CUNI BLOCK AND GO DOW 17 2W#= DOWN NEWDIR,2 [MAKE UP A USERNAME 8 2WRW BRN XBK 8 2X?G BRN TEST 4 2XR6 USER 10 2Y=Q HUNT 1,CPB,CUNI 21 2YQB NAMETOP 1,FILE,FNAME [RENAME FOR ERROR USE, DISTINGUISH FR 18 2_=2 CREATEB 3 [SET UP A CREATE BLOCK 10 2_PL MHUNTW 1,FILE,ADICT 8 329= LDN 2 A1(1) 9 32NW ADN 3 CEUSE1 21 338G MOVE 2 3 [PUT GIVEN USERNAME IN CREATE BLOCK 7 33N6 FREECORE 1 17 347Q CALL 7 PARAM [GET THIRD PARAMETER 17 34MB BPZ 0 PSEUD [J IF THERE IS ONE 21 3572 FREECORE 1 [OTHERWISE FREE CUNI BLOCK AND GO DOW 19 35LL DOWN NEWDIR,3 [SET UP A DICTIONARY ENTRY 8 366= BRN XBK 8 36KW BRN TEST 9 375G PSEUD LDX 6 APARA(1) 8 37K6 LDX 1 FX1 21 384Q BXU 6 PS(1),WRNGP [ERROR IF THIRD PARA IS NOT PSEUDO 9 38JB MFREE CPB,CUNI 21 3942 DOWN NEWDIR,4 [GO DOWN TO SET UP DICTIONARY ENTRY 8 39HL BRN XBK 4 3=3= TEST 6 3=GW NAME ENDCOM 7 3?2G XBK COMBRKIN 5 3?6C ...XERUSER 9 3?=# ... CALL 3 XCOMERR 10 3?B9 ... +ERUSERFORM 4 3?G6 NPAR 9 3?_Q CALL 3 XCOMERR 9 3#FB +JPARMIS 5 3#_2 TOODEEP 9 3*DL CALL 3 XCOMERR 10 3*Y= +ERTOODEEP 4 3BCW NDET 9 3BXG CALL 3 XCOMERR 9 3CC6 +ERDIRDET 5 3CWQ WRNGP 9 3DBB CALL 3 XCOMERR 9 3DW2 +APFERR 5 3F*L NOUSER 9 3FT= CALL 3 XCOMERR 9 3G3G ... +ERNAME 5 3G9Q ...USERONLY 9 3GD2 ... CALL 3 XCOMERR 10 3GL= ... +ERNOLOCNAME 4 3GSG [ 10 3H#6 MENDAREA 10,K99MAKEDIR 4 3HRQ #END 8 ____ ...17224207000500000000