sub recent_msgs {
my ($ctx) = @_;
my $ibx = $ctx->{ibx};
- my $max = $ibx->{feedmax};
+ my $max = $ibx->{feedmax} // 25;
return PublicInbox::View::paginate_recent($ctx, $max) if $ibx->over;
# only for rare v1 inboxes which aren't indexed at all
$CLEANUP->{"$self"} = $self;
}
-sub _set_uint ($$$) {
- my ($opts, $field, $default) = @_;
- my $val = $opts->{$field};
- if (defined $val) {
- $val = $val->[-1] if ref($val) eq 'ARRAY';
- $val = undef if $val !~ /\A[0-9]+\z/;
- }
- $opts->{$field} = $val || $default;
-}
-
sub _set_limiter ($$$) {
my ($self, $pi_cfg, $pfx) = @_;
my $lkey = "-${pfx}_limiter";
$opts->{domain} = ($p =~ /\@(\S+)\z/) ? $1 : 'localhost';
my $pi_cfg = delete $opts->{-pi_cfg};
_set_limiter($opts, $pi_cfg, 'httpbackend');
- _set_uint($opts, 'feedmax', 25);
+ my $fmax = $opts->{feedmax};
+ if (defined($fmax) && $fmax =~ /\A[0-9]+\z/) {
+ $opts->{feedmax} += 0;
+ } else {
+ delete $opts->{feedmax};
+ }
$opts->{nntpserver} ||= $pi_cfg->{'publicinbox.nntpserver'};
my $dir = $opts->{inboxdir};
if (defined $dir && -f "$dir/inbox.lock") {
'url' => [ 'http://example.com/meta' ],
-primary_address => 'meta@public-inbox.org',
'name' => 'meta',
- feedmax => 25,
-httpbackend_limiter => undef,
nntpserver => undef,
}, "lookup matches expected output");
'inboxdir' => '/home/pi/test-main.git',
'domain' => 'public-inbox.org',
'name' => 'test',
- feedmax => 25,
'url' => [ 'http://example.com/test' ],
-httpbackend_limiter => undef,
nntpserver => undef,