require "inc_num.pl";
require "zap_the_dir.pl";
-use Env qw(TMP OS);
+use Env qw(TMP OS DEBUG_FEISTY_MEOW);
#hmmm: need a usage statement.
sub safedel {
# get the list of files and directories to whack.
local(@to_delete) = &glob_list(@_);
-# print "final list of whackees: @to_delete\n";
+#hmmm: make this into a debug option.
+#print "list of whackees: @to_delete\n";
# we store the deleted files in a directory under the temporary directory.
if (! -d $TMP) {
if (substr($file, length($file) - 1, 1) eq ":") {
die "removing the root directory of a drive is not permitted!";
}
+
+#print "file to whack: '$file'\n";
+
if ( ($file =~ /^.*\/\.$/) || ($file =~ /^.*\/\.\.$/) ) {
print "ignoring attempt to remove current or parent directory.\n";
next;
}
push(@deleted, "\"$file\"");
} elsif (-f $file) {
-print "about to chmod file\n";
+#print "about to chmod file\n";
# make the file writable by our user if possible (which resets any
# prior permissions as long as we're the owner).
system("chmod u+rw '$file'");
}
}
if (@deleted) {
- print "Trashed [@deleted].\n";
+ if ($DEBUG_FEISTY_MEOW != "") {
+ print "Trashed [@deleted].\n";
+ }
open(REPORT, ">>$TMP/zz_safedel_report.txt");
local($printable_date) = scalar(localtime());
print REPORT $printable_date . " -- from [@deleted]\n";
close(REPORT);
} else {
- print "No files were deleted.\n";
+#hmmm: oh good, and we should always bug people about nothing having been done?
+# this is especially tiresome when our own scripts cause safedel to be invoked,
+# since then they are automatically noisy and blathery.
+#hmmm: make this into a debug option.
+# print "No files were deleted.\n";
}
}