Commit f53ac639 authored by Richard Levitte's avatar Richard Levitte
Browse files

Break out deltree in its' own command procedure.

parent f71165b5
Loading
Loading
Loading
Loading
+2 −31
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ $
$	set noon
$	if f$search("demoCA.dir") .nes. ""
$	then
$	    call deltree [.demoCA]*.*
$	    @[-.utils]deltree [.demoCA]*.*
$	    set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) demoCA.dir;*
$	    delete demoCA.dir;*
$	endif
@@ -38,7 +38,7 @@ $ @[-.apps]CA.com -verify newcert.pem
$	if $severity .ne. 1 then exit 3
$
$	set noon
$	call deltree [.demoCA]*.*
$	@[-.utils]deltree [.demoCA]*.*
$	set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) demoCA.dir;*
$	delete demoCA.dir;*
$	if f$search("newcert.pem") .nes. "" then delete newcert.pem;*
@@ -47,32 +47,3 @@ $ set on
$!	#usage: CA -newcert|-newreq|-newca|-sign|-verify
$
$	exit
$
$ deltree: subroutine ! P1 is a name of a directory
$	on control_y then goto dt_STOP
$	on warning then goto dt_exit
$	_dt_def = f$trnlnm("SYS$DISK")+f$directory()
$	if f$parse(p1) .eqs. "" then exit
$	set default 'f$parse(p1,,,"DEVICE")''f$parse(p1,,,"DIRECTORY")'
$	p1 = f$parse(p1,,,"NAME") + f$parse(p1,,,"TYPE")
$	_fp = f$parse(".DIR",p1)
$ dt_loop:
$	_f = f$search(_fp)
$	if _f .eqs. "" then goto dt_loopend
$	call deltree [.'f$parse(_f,,,"NAME")']*.*
$	goto dt_loop
$ dt_loopend:
$	_fp = f$parse(p1,".;*")
$	if f$search(_fp) .eqs. "" then goto dt_exit
$	set noon
$	set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) '_fp'
$	set on
$	delete/nolog '_fp'
$ dt_exit:
$	set default '_dt_def'
$	exit
$ dt_STOP:
$	set default '_dt_def'
$	stop/id=""
$	exit
$	endsubroutine

util/deltree.com

0 → 100644
+34 −0
Original line number Diff line number Diff line
$! DELTREE.COM
$
$ call deltree 'p1'
$ exit $status
$
$ deltree: subroutine ! P1 is a name of a directory
$	on control_y then goto dt_STOP
$	on warning then goto dt_exit
$	_dt_def = f$trnlnm("SYS$DISK")+f$directory()
$	if f$parse(p1) .eqs. "" then exit
$	set default 'f$parse(p1,,,"DEVICE")''f$parse(p1,,,"DIRECTORY")'
$	p1 = f$parse(p1,,,"NAME") + f$parse(p1,,,"TYPE")
$	_fp = f$parse(".DIR",p1)
$ dt_loop:
$	_f = f$search(_fp)
$	if _f .eqs. "" then goto dt_loopend
$	call deltree [.'f$parse(_f,,,"NAME")']*.*
$	goto dt_loop
$ dt_loopend:
$	_fp = f$parse(p1,".;*")
$	if f$search(_fp) .eqs. "" then goto dt_exit
$	set noon
$	set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) '_fp'
$	set on
$	delete/nolog '_fp'
$ dt_exit:
$	set default '_dt_def'
$	goto dt_end
$ dt_STOP:
$	set default '_dt_def'
$	stop/id=""
$	exit
$ dt_end:
$	endsubroutine