.TITLE USEACT - USERS ACTION ROUTINES .IDENT /1.0/ .ENABL LC ;+ ; ; Free software BY ; Project Software & Development, Inc. ; ; This software is furnished for free and may be used and copied as ; desired. This software or any other copies thereof may be provided or ; otherwise made available to any other person. No title to and ; ownership of the software is hereby transferred or allowed. ; ; The information in this software is subject to change without notice ; and should not be construed as a commitment by PROJECT SOFTWARE ; AND DEVELOPMENT, INC. ; ; PROJECT SOFTWARE assumes no responsibility for the use or reliability ; of this software on any equipment whatsoever. ; ; Project Software & Development, Inc. ; 14 Story St. ; Cambridge, Ma. 02138 ; 617-661-1444 ; ; ; Title: USEACT.MAC ; Author: Robin Miller ; Date: July 27, 1982 ; ; Description: ; ; Table parse action routines for USERS program. ; ; ; Modification History: ; ;- .ENABL AMA .NLIST BEX .MCALL GTSK$S ; Action routines for TPARS. ; Registers R0, R1, and R2 may be used by the action routines. ; All other registers must be preserved. ;********************************************************************** ; Disable full report output. NOFULL::BIC #B.FULL,STATUS ; DISABLE FULL REPORT RETURN ; Disable the header messsage. NOHDR:: BIC #B.HDR,STATUS ; DISABLE HEADER MESSAGE RETURN ;********************************************************************** ; Save character for output file name. SFILE:: BIT #B.FILE,STATUS ; OUTPUT FILE ALREADY OPEN ? BEQ 10$ ; IF EQ, NO CALL CLOFIL ; YES, CLOSE IT 10$: TSTB @FILPTR ; ROOM IN FILE BUFFER ? BPL 20$ ; IF PL, YES JMP FAIL ; NO, RETURN FAILURE 20$: MOVB .PCHAR,@FILPTR ; SAVE CHARACTER FOR FILE NAME INC FILPTR ; POINT TO NEXT LOCATION RETURN ; Open the specified output file. OFILE:: CLRB @FILPTR ; TERMINATE WITH NULL MOV #OUTFDB,R0 ; ADDRESS OF THE OUTPUT FDB MOV #FILNAM,R1 ; ADDRESS OF THE FILE NAME CALL OPENW ; OPEN THE FILE FOR WRITE BCC 10$ ; IF CC, SUCCESS MOV F.ERR(R0),R0 ; COPY THE ERROR CODE CALL WRTERR ; AND WRITE THE ERROR JMP FAIL ; RETURN FAILURE 10$: BIS #B.FILE,STATUS ; SHOW OUTPUT TO FILE RETURN ;********************************************************************** ; Save the users name. SUSER:: TSTB @USEPTR ; ROOM IN USER BUFFER ? BPL 10$ ; IF PL, YES JMP FAIL ; NO, RETURN FAILURE 10$: MOVB .PCHAR,@USEPTR ; SAVE THIS CHARACTER INC USEPTR ; POINT TO NEXT LOCATION TSTB @USEPTR ; AT END OF BUFFER ? BMI 20$ ; IF MI, YES (NO NULL) CLRB @USEPTR ; TERMINATE WITH A NULL 20$: RETURN ;********************************************************************** ; Bad line number encountered. FAIL: ADD #2,(SP) ; RETURN FAILURE RETURN ; TO .TPARS .END