X-Git-Url: https://git.p6c8.net/devedit.git/blobdiff_plain/ce2840393a79d10c69005a5b5dcaf4a77885d585..d9362f04f15b187354119c4cc835f77103985379:/devedit.pl diff --git a/devedit.pl b/devedit.pl index 2f9c918..fc49a71 100644 --- a/devedit.pl +++ b/devedit.pl @@ -6,7 +6,7 @@ # Dev-Editor's main program # # Author: Patrick Canterino -# Last modified: 2005-02-13 +# Last modified: 2005-02-19 # use strict; @@ -37,7 +37,7 @@ error_template($config->{'templates'}->{'error'}); # Yes, I'm lazy... # 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 @@ -69,14 +69,9 @@ if($newfile ne '' && $newfile !~ /^\s+$/) # ... 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'},'/'); } @@ -104,7 +99,9 @@ if($newfile ne '' && $newfile !~ /^\s+$/) # 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)) {