summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2006-02-26 10:44:57 +0000
committerRichard Levitte <levitte@openssl.org>2006-02-26 10:44:57 +0000
commitf53ac639c697ac22aa1ae99dfe9a1b276ba159e5 (patch)
treebe7bbdb074336e17e6dd4381201be47df6bf41da /util
parentf71165b556c307ea490b4fb5c59682f1e2678b20 (diff)
Break out deltree in its' own command procedure.
Diffstat (limited to 'util')
-rw-r--r--util/deltree.com34
1 files changed, 34 insertions, 0 deletions
diff --git a/util/deltree.com b/util/deltree.com
new file mode 100644
index 0000000000..9f36b1a5e9
--- /dev/null
+++ b/util/deltree.com
@@ -0,0 +1,34 @@
+$! 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