X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Ffiles%2Ffilename_helper.pl;h=318e5829dbf6ec629416b3b9737abf4018c07e04;hb=0237507bda3ecd0cebab0eeddc3cfefa4d9b3650;hp=f2567d6957c90dbe0a2545439da61706e35b8c6f;hpb=2952ccf47b80174880141a7ecfa122089f349b8d;p=feisty_meow.git diff --git a/scripts/files/filename_helper.pl b/scripts/files/filename_helper.pl index f2567d69..318e5829 100644 --- a/scripts/files/filename_helper.pl +++ b/scripts/files/filename_helper.pl @@ -18,7 +18,7 @@ # version of the License. Please send any updates to "fred@gruntose.com". # ############################################################################### -require "importenv.pl"; +use Env qw(OS IS_MSYS); ############################################################################ @@ -233,34 +233,22 @@ sub unix_canonicalize { return &canonicalizer(@_, "/"); } -# similar to the normal unix version, but supports msys's weird paths. -sub msys_canonicalize { - return &canonicalizer(@_, "/", 1); -} - -# similar to the msys version, but services cygwin. -sub cygwin_canonicalize { - return &canonicalizer(@_, "/", 2); -} - - # this more general routine gets a directory separator passed in. it then # replaces all the separators with that one. - sub canonicalizer { local($directory_name) = $_[0]; local($dirsep) = $_[1]; - local($do_funky) = $_[2]; -#print "do funky is set to \"$do_funky\"\n"; #print "old dir name is \"$directory_name\"\n"; if ($OS =~ /win/i) { #somewhat abbreviated check; only catches windoze systems, not dos or os2. - if ($do_funky eq "1") { + # IS_MSYS is calculated by feisty meow scripts startup; it will be + # non-empty if this is the msys tool kit. + if (length($IS_MSYS) > 0) { # msys utilities version (http://www.mingw.org) $directory_name =~ s/^(.):[\\\/](.*)$/\/\1\/\2/; - } elsif ($do_funky eq "2") { + } else { # cygwin utilities version (http://www.cygwin.com) $directory_name =~ s/^(.):[\\\/](.*)$/\/cygdrive\/\1\/\2/; } @@ -336,23 +324,17 @@ sub important_filename { # these are endings that we consider unimportant. where a caret is used # at the front, we will match only the whole string. double slashes are # used before periods to ensure we match a real period character. - -# "AssemblyInfo.c.*", -#need to regenerate these automatically. - local(@junk_files) = ("~", "^\\.#.*", "^\\._.*", "\\.aps", "\\.bak", - "^binaries", - "\\.clw", "^cpdiff_tmp\\.txt", "^Debug", "^\\.ds_store", "^diffs\\.txt", + "^binaries", + "\\.clw", "^cpdiff_tmp\\.txt", "^\\.ds_store", "^diffs\\.txt", "^diff_tmp\\.txt", "\\.dsp", "\\.dsw", "\\.gid", "gmon\\.out", "\\.isr", "^isconfig\\.ini", "\\.log", "^manifest.txt", "^obj", "\\.obj", "\\.output", "\\.plg", "^RCa.*", "^Release", "\\.res", "\\.sbr", ".*scc", "^Setup\\.dbg", "^Setup\\.inx", "^Setup\\.map", "^Setup\\.obs", "^Selenium_.*Login.html", "\\.stackdump", "^string1033\\.txt", "\\.suo", "\\.swp", - "^thumbs.db", "\\.tmp", "^trans\\.tbl", "\\.user", "_version\\.h", + "^thumbs.db", "[a-zA-Z0-9]\\.tmp", "^trans\\.tbl", "\\.user", "_version\\.h", "_version\\.rc", "^waste", "\\.ws4", "\\.wsm"); -#this whacks too much. what was it for? -#"^generated_.*", foreach $temp (@junk_files) { $temp = $temp . '$'; @@ -412,9 +394,16 @@ sub upper { # recursively deletes a directory that is passed as the single parameter. # from http://developer.novell.com/wiki/index.php/Recursive_Directory_Remove sub recursive_delete { + +#hmmm: this should iterate across all params. my $dir = shift; - local *DIR; + if ( -f "$dir" ) { +print "this is not a dir: $dir\nshould whack it here?\n"; +return; + } + + local *DIR; opendir DIR, $dir or die "opendir $dir: $!"; my $found = 0; while ($_ = readdir DIR) {