diff --git a/server-src/amrestore.pl b/server-src/amrestore.pl index dfe521a..d3284ed 100755 --- a/server-src/amrestore.pl +++ b/server-src/amrestore.pl @@ -372,13 +372,14 @@ sub main { my ($err) = @_; return failure($err, $finished_cb) if $err; - $steps->{'next_file'}->(); + $steps->{'next_file'}->('extracted'); }; step next_file => sub { - # amrestore does not loop over multiple files when reading from - # holding or when outputting to a pipe - if ($opt_holding or $opt_pipe) { + my ($extracted) = @_; + # amrestore does not loop over multiple files when reading from holding + # when outputting to a pipe amrestore extracts only the first file + if ($opt_holding or ($opt_pipe and $extracted)) { return $steps->{'finished'}->(); }