about summary refs log tree commit homepage
path: root/lib/PublicInbox/Inbox.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/Inbox.pm')
-rw-r--r--lib/PublicInbox/Inbox.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm
index 8c639082..5503980f 100644
--- a/lib/PublicInbox/Inbox.pm
+++ b/lib/PublicInbox/Inbox.pm
@@ -29,11 +29,22 @@ sub _weaken_later ($) {
         $WEAKEN->{"$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\d+\z/;
+        }
+        $opts->{$field} = $val || $default;
+}
+
 sub new {
         my ($class, $opts) = @_;
         my $v = $opts->{address} ||= 'public-inbox@example.com';
         my $p = $opts->{-primary_address} = ref($v) eq 'ARRAY' ? $v->[0] : $v;
         $opts->{domain} = ($p =~ /\@(\S+)\z/) ? $1 : 'localhost';
+        _set_uint($opts, 'feedmax', 25);
         weaken($opts->{-pi_config});
         bless $opts, $class;
 }