; This file updates SRDREP.MAC;1 from SRD V6.3. SRDREP.MAC;2/AU=SRDREP.MAC;1 \ -/.IDENT/,. .IDENT -6.4- ; NOV-83 .ENABL LC -/CEF001/+1 ; ; ; VERSION 6.4 - 07-Nov-83 (;BT003) ; ; Bob Turkelson ; SRD Working Group ; ; Added the /FO:[g,m] switch to select files by file owner, with ; /FO defaulting to files owned by the directory being listed; ; may be negated to select files with different file owners. -/SD...AS FOR/ ; /FO:[g,m] - Replace [ and ] with blanks ; comma with : ; * with 0 ; /-FO:[g,m] - As for /FO ; ; This module also checks for the occurence of /-FO or /NOFO and if found ; sets the NOFOSW bit in FLAGS$. % -,,/;BT003/ -/SRDREP:/ -/MOV...R2,/ MOV R3,-(SP) -/LOOP1:/ -/BNE...LOOP/ CLR R3 ; Clear negation flag -/INC...R1/ INC R3 ; Set negation flag -/20$:/ -/MOVB...,SWITCH+1/ SUB #2,R2 ; Count the characters BLE END ; LE - at end of command string CMP SWITCH,#"NO ; A "NO" prefix? BNE 30$ ; NE - not a "NO" INC R3 ; Set negation flag BR 20$ ; Get real switch part 30$: -/CMP...SWITCH,#"SD/ -/BEQ...SELECT/ CMP SWITCH,#"FO ; File owner switch? BEQ FILOWN ; EQ - yes, check it -/END:/ MOV (SP)+,R3 ; Restore registers -/SELECT:/ -/10$:/ -/BR...END/ ; FILOWN: TST R3 ; Was switch negated (/-FO or /NOFO)? BEQ 10$ ; EQ - no BIS #NOFOSW,FLAGS$ ; Set bit in flag word 10$: CMPB (R1),#': ; Switch values specified? BNE LOOP ; NE - no, back to main loop CMPB 1(R1),#'[ ; [g,m] format used? BNE LOOP ; NE - no, back to main loop INC R1 ; Skip over colon MOVB #' ,(R1)+ ; Replace bracket with blank SUB #2,R2 ; Count these BLE END ; LE - at end of string, exit CMPB (R1),#'* ; Wildcard specified? BNE 20$ ; NE - no MOVB #0,(R1)+ ; Replace * with 0 20$: CMPB (R1),#'/ ; End of switch? BEQ LOOP ; EQ - yes, back to main loop CMPB (R1)+,#', ; A comma? BEQ 30$ ; EQ - yes SOB R2,20$ ; Otherwise, keep looking for it BR END ; Exit if at end 30$: MOVB #':,-(R1) ; Replace comma with colon INC R1 ; Then skip over it CMPB (R1),#'* ; Wildcard specified? BNE 40$ ; NE - no MOVB #0,(R1)+ ; Replace * with 0 40$: CMPB (R1),#'/ ; End of switch? BEQ LOOP ; EQ - yes, back to main loop CMPB (R1)+,#'] ; Right bracket? BEQ 50$ ; EQ - yes SOB R2,40$ ; Otherwise, keep looking for it BR END ; Exit if at end 50$: MOVB #' ,-(R1) ; Replace bracket with blank INC R1 ; Skip over it BR LOOP ; Done with this switch /