diff options
author | Richard Levitte <levitte@openssl.org> | 2006-02-26 10:44:57 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2006-02-26 10:44:57 +0000 |
commit | f53ac639c697ac22aa1ae99dfe9a1b276ba159e5 (patch) | |
tree | be7bbdb074336e17e6dd4381201be47df6bf41da /util/deltree.com | |
parent | f71165b556c307ea490b4fb5c59682f1e2678b20 (diff) |
Break out deltree in its' own command procedure.
Diffstat (limited to 'util/deltree.com')
-rw-r--r-- | util/deltree.com | 34 |
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 |