]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Config.pm
config: flatten each_inbox and iterate_start args
[public-inbox.git] / lib / PublicInbox / Config.pm
index ae9ad8deef9e910bd89c35388278522b388e47aa..f78115b6e47b62c91f73b1d1599023774176de39 100644 (file)
@@ -90,29 +90,29 @@ sub lookup_name ($$) {
 }
 
 sub each_inbox {
-       my ($self, $cb, $arg) = @_;
+       my ($self, $cb, @arg) = @_;
        # may auto-vivify if config file is non-existent:
        foreach my $section (@{$self->{-section_order}}) {
                next if $section !~ m!\Apublicinbox\.([^/]+)\z!;
                my $ibx = lookup_name($self, $1) or next;
-               $cb->($ibx, $arg);
+               $cb->($ibx, @arg);
        }
 }
 
 sub iterate_start {
-       my ($self, $cb, $arg) = @_;
+       my ($self, $cb, @arg) = @_;
        my $i = 0;
-       $self->{-iter} = [ \$i, $cb, $arg ];
+       $self->{-iter} = [ \$i, $cb, @arg ];
 }
 
 # for PublicInbox::DS::next_tick, we only call this is if
 # PublicInbox::DS is already loaded
 sub event_step {
        my ($self) = @_;
-       my ($i, $cb, $arg) = @{$self->{-iter}};
+       my ($i, $cb, @arg) = @{$self->{-iter}};
        my $section = $self->{-section_order}->[$$i++];
        delete($self->{-iter}) unless defined($section);
-       eval { $cb->($self, $section, $arg) };
+       eval { $cb->($self, $section, @arg) };
        warn "E: $@ in ${self}::event_step" if $@;
        PublicInbox::DS::requeue($self) if defined($section);
 }