X-Git-Url: https://git.p6c8.net/devedit.git/blobdiff_plain/95df6a6a2bb9185cceb1fcf205b4f9f07690ca27..cd639d72ba42aa0aa966729d41be24eb050aa0fc:/modules/File/Access.pm diff --git a/modules/File/Access.pm b/modules/File/Access.pm index 31377d9..4c4d0da 100644 --- a/modules/File/Access.pm +++ b/modules/File/Access.pm @@ -3,11 +3,11 @@ package File::Access; # # Dev-Editor - Module File::Access # -# Some simple routines for doing things with files -# with only one command +# Some simple routines for doing things with files by +# using only one command # # Author: Patrick Canterino -# Last modified: 2004-12-17 +# Last modified: 2005-02-10 # use strict; @@ -70,9 +70,9 @@ sub dir_read($) foreach my $entry(@entries) { - next if($entry eq "." || $entry eq ".."); + next if($entry eq '.' || $entry eq '..'); - if(-d $dir."/".$entry) + if(-d $dir.'/'.$entry) { push(@dirs,$entry); } @@ -134,17 +134,20 @@ sub file_lock(*$) # # Read out a file completely # -# Params: File +# Params: 1. File +# 2. true => open in binary mode +# false => open in normal mode (default) # # Return: Contents of the file (Scalar Reference) -sub file_read($) +sub file_read($;$) { - my $file = shift; + my ($file,$binary) = @_; local *FILE; sysopen(FILE,$file,O_RDONLY) or return; file_lock(FILE,LOCK_SH) or do { close(FILE); return }; + binmode(FILE) if($binary); read(FILE, my $content, -s $file); @@ -189,16 +192,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 ;-)