about summary refs log tree commit homepage
path: root/lib/PublicInbox/Admin.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/Admin.pm')
-rw-r--r--lib/PublicInbox/Admin.pm7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/PublicInbox/Admin.pm b/lib/PublicInbox/Admin.pm
index 3b38a5a3..b21fb241 100644
--- a/lib/PublicInbox/Admin.pm
+++ b/lib/PublicInbox/Admin.pm
@@ -273,8 +273,8 @@ EOM
         $idx->{nidx} // 0; # returns number processed
 }
 
-sub progress_prepare ($) {
-        my ($opt) = @_;
+sub progress_prepare ($;$) {
+        my ($opt, $dst) = @_;
 
         # public-inbox-index defaults to quiet, -xcpdb and -compact do not
         if (defined($opt->{quiet}) && $opt->{quiet} < 0) {
@@ -286,7 +286,8 @@ sub progress_prepare ($) {
                 $opt->{1} = $null; # suitable for spawn() redirect
         } else {
                 $opt->{verbose} ||= 1;
-                $opt->{-progress} = sub { print STDERR @_ };
+                $dst //= *STDERR{GLOB};
+                $opt->{-progress} = sub { print $dst @_ };
         }
 }