}
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);
}