.TITLE WSID .IDENT \V02.03\ .SBTTL COMMANDS WSID ;++ ; FUNCTIONAL DESCRIPTION: ; This routine is used to handle the )WSID comand, ; which is both a command and an inquiry. ; ; ROUTINES CALLED: ; WSPRT - Print the name of the WS ; PRINTM - Print "WAS " ; NEWLIN - Print a ; GETNAM - Decode the name string ;-- .PSECT CODE WSID:: PUSH ;SAVE POINTERS TO FILENAME MOV #DFLTSV,R2 ;.TSK DEFAULT BLOCK CALL GETNAM ;DECODE THE NAME .IF GE RT11 BIT #ND.NAM,N.DESC(R4);NAME? .IFF TST N.NAME(R4) ;Any name specified? .IFTF BNE 4$ ;YES, SET NEW NAME .IFT TST N.DESC(R4) ;CHECK FOR ANY NAME SPECIFIED .IFF TST N.EXT(R4) ;How about an extension? BEQ 1$ ;None specified CMP DFLTSV,N.EXT(R4);Is it the default? .IFTF BEQ 1$ ;NO NAME - INQUIRY MOV #WSNAME,R2 ;DEFAULT IS OLD WS NAME 4$: MOV 2(SP),R3 ;STRING LENGTH MOV (SP),R4 ;STRING POINTER CALL GETNAM ;DECODE AGAIN, W/ DEFAULT QPRINT WAS ;PRINT "WAS " 1$: ADD #4,SP ;UP THE STACK MOV #WSNAME,R4 ;POINT TO OLD NAME BLOCK CALL WSPRT ;PRINT THE NAME MOV #CHAN14+C.NAME,R0;POINTER TO SOURCE NAME BLOCK .IFT TST N.DESC(R0) ;ANY NAME IN )WSID COMMAND? .IFF TST N.NAME(R0) ;Any name in )WSID command? .ENDC BEQ 3$ ;NOPE, NO NAME MOV #N.BLSZ/2,R2 ;GET BLOCK LENGTH 2$: MOV (R0)+,(R4)+ ;BLOCK TRANSFER SOB R2,2$ 3$: RETURN ;END UP .PSECT TABLES WAS: .ASCIZ /was / ;For WSID "was foobar" .BLKB