]> git.p6c8.net - devedit.git/blobdiff - devedit.pl
Using the move() function from the File::Copy module is more reliable than using
[devedit.git] / devedit.pl
index 2f9c9184cf9a17cc1198103c60a57c95235dec02..fc49a7189c1a911b72e9e28ec90eeb94450755a0 100644 (file)
@@ -6,7 +6,7 @@
 # Dev-Editor's main program
 #
 # Author:        Patrick Canterino <patrick@patshaping.de>
 # Dev-Editor's main program
 #
 # Author:        Patrick Canterino <patrick@patshaping.de>
-# Last modified: 2005-02-13
+# Last modified: 2005-02-19
 #
 
 use strict;
 #
 
 use strict;
@@ -37,7 +37,7 @@ error_template($config->{'templates'}->{'error'}); # Yes, I'm lazy...
 
 # Check if the root directory exists
 
 
 # Check if the root directory exists
 
-abort($config->{'errors'}->{'no_root_dir'}) unless(-d $config->{'fileroot'});
+abort($config->{'errors'}->{'no_root_dir'}) unless(-d $config->{'fileroot'} && not -l $config->{'fileroot'});
 
 # Check if we are able to access the root directory
 
 
 # Check if we are able to access the root directory
 
@@ -69,14 +69,9 @@ if($newfile ne '' && $newfile !~ /^\s+$/)
 
  # ... check if the directory exists ...
 
 
  # ... check if the directory exists ...
 
- unless(-d clean_path($config->{'fileroot'}.'/'.$dir))
- {
-  abort($config->{'errors'}->{'dir_not_exist'},'/');
- }
+ my $temp_path = clean_path($config->{'fileroot'}.'/'.$dir);
 
 
- # (don't know, why this test has to be done separately)
-
- if(-l clean_path($config->{'fileroot'}.'/'.$dir))
+ unless(-d $temp_path && not -l $temp_path)
  {
   abort($config->{'errors'}->{'dir_not_exist'},'/');
  }
  {
   abort($config->{'errors'}->{'dir_not_exist'},'/');
  }
@@ -104,7 +99,9 @@ if($newfile ne '' && $newfile !~ /^\s+$/)
 
 # This check has to be performed first or abs_path() will be confused
 
 
 # This check has to be performed first or abs_path() will be confused
 
-if(-e clean_path($config->{'fileroot'}.'/'.$file) || -l clean_path($config->{'fileroot'}.'/'.$file))
+my $temp_path = clean_path($config->{'fileroot'}.'/'.$file);
+
+if(-e $temp_path || -l $temp_path)
 {
  if(my ($physical,$virtual) = check_path($config->{'fileroot'},$file))
  {
 {
  if(my ($physical,$virtual) = check_path($config->{'fileroot'},$file))
  {

patrick-canterino.de