.TITLE DELINI .IDENT /V2.0/ ; ;+ ;***** ; ; DELINI PERFORMS ALL THE SPECIFIC INITIALIZATION, SWITCH SETTING ; AND SWITCH CHECKING FOR THE "DELETE" AND "PURGE" COMMANDS. THIS MODULE ; IS CALLED DURING THE SECOND PHASE OF THE TASK'S COMMON INITIALIZATION ; PROCEDURE. ; ; WHEN CALLED, DELINI ASSUMES THE COMMAND HAS BEEN PREPROCESSED ; SUCH THAT THERE IS ONLY AN INPUT FILE SPEC FOLLOWED BY ALL THE ; SWITCHES THAT WERE SELECTED. THIS FUNCTION WAS PERFORMED BY ; THE FIRST PHASE OF INITIALIZATION--INIT1. ; ; PAUL SORENSON ; PULMONARY RESEARCH ; S3, MAYO CLINIC ; ROCHESTER, MN 55904 ; ;***** ; ; LAST UPDATE 8/80--PRS ; ; UPDATE 2/10/82 -- PRS; ADD CHECK FOR EXPLICIT VERSION # OTHER THAN 0 ; OR -1 WHEN DOING PURGE...ABORT IT ; ; UPDATE 3/82 -- PRS; ADD SUPPORT FOR "/NULL", "/LOCKED" AND "/EXP" ; SWITCHES TO SELECT NULL LENGTH, LOCKED, AND EXPIRED FILES. ; SELECTION BASED ON EXPIRATION DATE IS NOT CURRENTLY ; IMPLEMENTED (SEE COMMENTS IN DIRPRE.MAC). ; ;***** ;- ; .MCALL CSI$,CSI$1,CSI$2,CSI$SW,CSI$SV,CSI$ND,EXIT$S CSI$ ;DEFINE CSI SYMBOLIC OFFSETS .PSECT $PDATA,RO,D,LCL,CON,REL .EVEN SWTABL: CSI$SW LOG,LISW,SWMSK$,SET,NEG,,LONG ;LOG DELETIONS CSI$SW Q,SDSW,SWMSK$,SET,NEG,,LONG ;QUERY OPTION ; *** END OF DELETE/PURGE SPECIFIC SWITCHES-REMAINING ARE COMMON CSI$SW EXC,NESW,SWMSK$,SET,NEG,,LONG ;SELECT EVERYTHING BUT ; INPUT SPEC. CSI$SW LOC,LKSW,SWMS1$,SET,,,LONG ;SELECT LOCKED FILES CSI$SW NULL,NLSW,SWMS1$,SET ;SELECT 0 LENGTH FILES CSI$SW CON,COSW,SWMS1$,SET,,,LONG ;SELECT CONTIG. FILES CSI$SW SYSTEM,SYSW,SWMSK$,SET,NEG ;INCLUDE GROUP #<11 CSI$SW BEFORE,BESW,SWMS1$,SET,,BEDVAL CSI$SW AFTER,AFSW,SWMS1$,SET,,AFDVAL CSI$SW SINCE,AFSW,SWMS1$,SET,,AFDVAL ;SINCE=AFTER CSI$SW DATE,DASW,SWMS1$,SET,,DAVAL CSI$SW NEW,DASW,SWMS1$,SET,,,LONG ;NEW=DATE WITH NO VALUE CSI$SW CREATED,CDSW,SWMS2$,SET,NEG ;USE CREATION DATE CSI$SW REVISED,RDSW,SWMS2$,SET,NEG ;USE REVISION DATE .IF DF EX$DAT CSI$SW EXP,EDSW,SWMS2$,SET,NEG,,LONG ;USE EXPIRATION DATE .ENDC CSI$ND CSI$SV ASCII,BEBUF$,11.,BEDVAL CSI$SV ASCII,AFBUF$,11.,AFDVAL CSI$SV ASCII,DABUF$,11.,DAVAL CSI$ND .EVEN .PSECT $CODE1,RO,I,LCL,CON,REL DELINI:: BIS #SRSW!NASW!DESW!SDSW,SWMSK$ ;SET SOME DEFAULTS CMP CMDNAM,#DE$CMD ;COMMAND FOR DELETION ? BEQ 10$ ;BRANCH IF YES BIT #SVSW,SWMS1$ ;WAS SPECIFIC VERSION GIVEN ? BEQ 10$ ;BRANCH IF NO, MUST HAVE BEEN ';*' ; SWITCH PURGE TO DELETE TST SVNUM$ ;CHECK VERSION # SPECIFIED BGT 10$ ;BRANCH IF NOT 0 OR -1, ; SWITCH PURGE TO DELETE 8$: BIS #PUSW,SWMSK$ ;SET PURGE SWITCH BIC #DESW!SDSW,SWMSK$ ; SET DEFAULT TO NOT ASK USER 10$: CSI$1 #CSIBLK,CMDADR,CMDSIZ ;CHECK SYNTAX WITH CSI$1 BCC 12$ ;BRANCH IF NO ERROR FERR CS1E ;SIGNAL ERROR 12$: CSI$2 R0,INPUT,#SWTABL ;CALL CSI$2 TO PARSE LINE BCC SWCHK ;BRANCH IF NO ERRORS FERR CS2I ;SIGNAL ERROR SWCHK: BIT #SDSW,SWMSK$ ;SELECTIVE DELETE STILL IN EFFECT ? BEQ 2$ ;BRANCH IF NO BIS #MISW!LISW,SWMSK$ ;YES, SET DEFAULT PROMPT TO MIDDLE LIST BR 10$ 2$: BIT #LISW!PUSW,SWMSK$ ;LOGGING DELETIONS OR PURGING ? BNE 10$ ;BRANCH IF YES--MUST SORT BIT #SVSW,SWMS1$ ;VERSION NUMBER SPECIFIED ? BNE 10$ ;BRANCH IF YES--MUST SORT BIC #SRSW,SWMSK$ ;NO, DISABLE SORT 10$: BIT #SESW,SWMS1$ ;WAS FILENAME EXPLICITELY DEFINED ? BNE 15$ ;BRANCH IF YES--OKAY FERR NOFILE ;NO-FLAG ERROR 15$: .IF DF EX$DAT BIT #EDSW,SWMS2$ ;EXPIRATION DATE SELECTED ? BEQ 26$ ;BRANCH IF NO BIT #,SWMS1$ ;ANY DATES GIVEN EXPLICITELY ? BNE 26$ ;BRANCH IF YES BIS #BESW,SWMS1$ ;OTHERWISE, SET BEFORE SWITCH- ; SELECT ALL EXPIRED FILES = FILES ; WITH EXPIRATION DATE < SYSTEM DATE 26$: .ENDC DONE: RETURN .END