X-Git-Url: https://git.p6c8.net/devedit.git/blobdiff_plain/7897c609d415e2362b8c42c3b918a7ebcb5c4bda..4420382fd54774603ff1d4b23bf321280051a1ce:/modules/File/Access.pm diff --git a/modules/File/Access.pm b/modules/File/Access.pm index d892ed8..ad2bc13 100644 --- a/modules/File/Access.pm +++ b/modules/File/Access.pm @@ -7,7 +7,7 @@ package File::Access; # using only one command # # Author: Patrick Canterino -# Last modified: 2005-02-09 +# Last modified: 2005-02-16 # use strict; @@ -46,7 +46,7 @@ $has_flock = eval { local $SIG{'__DIE__'}; flock(STDOUT,0); 1 }; # Params: Directory # # Return: Hash reference: dirs => directories -# files => files +# files => files and symbolic links sub dir_read($) { @@ -72,7 +72,7 @@ sub dir_read($) { next if($entry eq '.' || $entry eq '..'); - if(-d $dir.'/'.$entry) + if(-d $dir.'/'.$entry && not -l $dir.'/'.$entry) { push(@dirs,$entry); } @@ -151,7 +151,6 @@ sub file_read($;$) read(FILE, my $content, -s $file); - file_lock(FILE,LOCK_UN) or do { close(FILE); return }; close(FILE) or return; return \$content; @@ -179,7 +178,6 @@ sub file_save($$;$) print FILE $$content or do { close(FILE); return }; - file_lock(FILE,LOCK_UN) or do { close(FILE); return }; close(FILE) or return; return 1; @@ -192,16 +190,16 @@ sub file_save($$;$) # Params: 1. File::UseList object # 2. File to remove # -# Return: -nothing- +# Return: Status code (Boolean) sub file_unlock($$) { my ($uselist,$file) = @_; - $uselist->remove_file($file); - $uselist->save; + $uselist->remove_file($file) or return; + $uselist->save or return; - return; + return 1; } # it's true, baby ;-)