X-Git-Url: https://diplodocus.org/git/flac-archive/blobdiff_plain/ebce593fdc5b49818dc49f02b9aacb9a53e3ddd1..47d96a9a3eb7548d2f154c931cbd9a488c5dc866:/fa-flacd?ds=sidebyside diff --git a/fa-flacd b/fa-flacd index cbcc5c6..37e0772 100755 --- a/fa-flacd +++ b/fa-flacd @@ -30,7 +30,7 @@ my @jobs; my @finished; sub verbose { - $verbose and map({ print(STDERR $_) } @_); + $verbose and print(STDERR $_) for @_; } # Return the ARTIST, ALBUM, and DATE followed by a list of all the @@ -41,7 +41,6 @@ sub get_tags { my $value; my $artist; my $album; - my $date; my @tags; verbose("Opening tags file $fn\n"); @@ -58,14 +57,11 @@ sub get_tags { } elsif (/^ALBUM=/) { $album = $value; verbose("ALBUM $album from $fn\n"); - } elsif (/^DATE=/) { - $date = $value; - verbose("DATE $date from $fn\n"); } } - close(TAGS); + close(TAGS) or die("close($fn): $!"); - return ($artist, $album, $date, @tags); + return ($artist, $album, @tags); } # Process the fa-rip output in the directory DIR. @@ -73,7 +69,6 @@ sub flac { my $dir = shift; my $artist; my $album; - my $date; my @tags; my $status; @@ -81,7 +76,7 @@ sub flac { rename("$dir/tags", "$dir/using-tags") or die("rename($dir/tags, $dir/using-tags): $!"); - ($artist, $album, $date, @tags) = get_tags("$dir/using-tags"); + ($artist, $album, @tags) = get_tags("$dir/using-tags"); verbose("mkdir($artist)\n"); -d $artist or mkdir($artist) or die("mkdir($artist): $!"); @@ -115,6 +110,8 @@ sub flac { rename("$artist/$album.flac-tmp", "$artist/$album.flac") or die("rename($artist/$album.flac-tmp, $artist/$album.flac): $!"); + + return 0; } sub reaper { @@ -132,13 +129,12 @@ sub newjob { my $pid; $pid = fork(); - if ($pid == -1) { + if (not defined($pid)) { die("fork: $!"); } elsif ($pid == 0) { $SIG{CHLD} = 'IGNORE'; open(STDERR, ">$dir/log") or die("open(STDERR, >$dir/log): $!"); - flac($dir); - exit(0); + exit(flac($dir)); } verbose("new job $pid for $dir\n"); @@ -152,7 +148,7 @@ sub deljob { my $status; $pid = $finished[$i][0]; - $status = WEXITSTATUS($finished[$i][1]); + $status = $finished[$i][1]; verbose("$pid finished ("); if (WIFEXITED($status)) {