]> git.p6c8.net - devedit.git/blobdiff - modules/Tool.pm
Merged changes of revision 1.76 of modules/Command.pm and revision 1.33 of
[devedit.git] / modules / Tool.pm
index 2347445b267fc84df46a578c5d101aace39e7eca..afffeb33e23bc3884ad69551ba346fb45ba38f33 100644 (file)
@@ -6,7 +6,7 @@ package Tool;
 # Some shared sub routines
 #
 # Author:        Patrick Canterino <patrick@patshaping.de>
-# Last modified: 2005-01-08
+# Last modified: 2005-04-22
 #
 
 use strict;
@@ -61,6 +61,7 @@ sub check_path($$)
  # We extract the last part of the path and create the absolute path
 
  my $first = upper_path($path);
+ $first    = File::Spec->canonpath($first);
  $first    = abs_path($first);
 
  my $last  = file_name($path);
@@ -83,7 +84,7 @@ sub check_path($$)
  my $short_path = substr($path,length($root));
  $short_path =~ tr!\\!/!;
  $short_path = '/'.$short_path if($short_path !~ m!^/!);
- $short_path = $short_path.'/' if($short_path !~ m!/$! && -d $path);
+ $short_path = $short_path.'/' if($short_path !~ m!/$! && -d $path && not -l $path);
 
  return ($path,$short_path);
 }
@@ -223,7 +224,7 @@ sub file_name($)
  my $path =  shift;
  $path    =~ tr!\\!/!;
 
- unless($path =~ m!^/+$! || ($^O eq 'MSWin32' && $path =~ m!^[a-z]:/+$!))
+ unless($path =~ m!^/+$! || ($^O eq 'MSWin32' && $path =~ m!^[a-z]:/+$!i))
  {
   $path =~ s!/+$!!;
   $path =  substr($path,rindex($path,'/')+1);
@@ -284,7 +285,7 @@ sub upper_path($)
  my $path =  shift;
  $path    =~ tr!\\!/!;
 
- unless($path =~ m!^/+$! || ($^O eq 'MSWin32' && $path =~ m!^[a-z]:/+$!))
+ unless($path =~ m!^/+$! || ($^O eq 'MSWin32' && $path =~ m!^[a-z]:/+$!i))
  {
   $path =~ s!/+$!!;
   $path =  substr($path,0,rindex($path,'/')+1);

patrick-canterino.de