X-Git-Url: https://git.p6c8.net/devedit.git/blobdiff_plain/7cf8cb75f44d1e189cec159cf5c50fb14a13e85c..e3a5b5b0a960dd8657ae7c7f195deba01ecdff5a:/modules/File/UseList.pm diff --git a/modules/File/UseList.pm b/modules/File/UseList.pm index 33ef12c..6f7ff62 100644 --- a/modules/File/UseList.pm +++ b/modules/File/UseList.pm @@ -1,21 +1,19 @@ package File::UseList; # -# File::UseList +# File::UseList 1.2 # # Run a list with files that are currently in use -# (bases upon Filing::UseList by Roland Bluethgen ) +# (bases on Filing::UseList by Roland Bluethgen ) # # Author: Patrick Canterino -# Last modified: 09-26-2003 +# Last modified: 2003-11-21 # use strict; use Carp qw(croak); -our $VERSION = '1.1'; - # new() # # Constructor @@ -24,7 +22,7 @@ our $VERSION = '1.1'; # lockfile => Lock file (Default: List file + .lock) # timeout => Lock timeout in seconds (Default: 10) # -# Return: File::UseList object +# Return: File::UseList object (Blessed Reference) sub new(%) { @@ -32,17 +30,16 @@ sub new(%) # Check if we got all the necessary information - croak "Missing path of list file" unless($args{'listfile'}); - $args{'lockfile'} = $args{'listfile'}.".lock" unless($args{'lockfile'}); # Default filename of lock file - $args{'timeout'} = 10 unless($args{'timeout'}); # Default timeout + croak "Missing path to list file" unless($args{'listfile'}); + $args{'lockfile'} = $args{'listfile'}.".lock" unless($args{'lockfile'}); # Default filename of lock file + $args{'timeout'} = 10 unless($args{'timeout'}); # Default timeout - # Create $self + # Add some other information - my $self = \%args; - $self->{'files'} = []; - $self->{'locked'} = 0; + $args{'files'} = []; + $args{'locked'} = 0; - return bless($self,$class); + return bless(\%args,$class); } # lock() @@ -98,24 +95,21 @@ sub unlock if($self->{'locked'}) { - return 1 if(-f $lockfile); # Hmmm... - - open(LOCKFILE,">",$lockfile) or return; - close(LOCKFILE) or return; + open(LOCKFILE,">$lockfile") or return; + close(LOCKFILE) or return; $self->{'locked'} = 0; - return 1; } - # The list wasn't lock by ourselves + # The list wasn't lock by us or it isn't locked at all return; } # load() # -# Load the list with files +# Load the list with files from the list file # # Params: -nothing- # @@ -129,9 +123,9 @@ sub load # Read out the file and split the content line-per-line - open(FILE,"<".$file) or return; + open(FILE,"<$file") or return; read(FILE, my $content, -s $file); - close(FILE) or return; + close(FILE) or return; my @files = split(/\015\012|\012|\015/,$content); @@ -152,7 +146,7 @@ sub load # save() # -# Save the list with files +# Write the list with files back to the list file # # Params: -nothing- # @@ -168,15 +162,13 @@ sub save my $data = (@$files) ? join("\n",@$files) : ''; - open(FILE,">",$temp) or return; - print FILE $data or do { close(FILE); return }; - close(FILE) or return; + open(FILE,">$temp") or return; + print FILE $data or do { close(FILE); return }; + close(FILE) or return; - rename($temp,$file) and return 1; + rename($temp,$file) or return; - # Rubbish - - return; + return 1; } # add_file() @@ -184,6 +176,8 @@ sub save # Add a file to the list # # Params: File +# +# Return: Status code (Boolean) sub add_file($) { @@ -195,6 +189,7 @@ sub add_file($) return if($self->in_use($file)); push(@$files,$file); + return 1; } # remove_file() @@ -202,6 +197,8 @@ sub add_file($) # Remove a file from the list # # Params: File +# +# Return: Status code (Boolean) sub remove_file($) { @@ -219,7 +216,7 @@ sub remove_file($) if($files->[$x] eq $file) { splice(@$files,$x,1); - last; + return 1; } } } @@ -263,4 +260,4 @@ sub unused($) 1; # -### Ende ### \ No newline at end of file +### End ### \ No newline at end of file