]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Config.pm
index: v2: --sequential-shard option
[public-inbox.git] / lib / PublicInbox / Config.pm
index c0e2cc575ec640ff1532edcc16d501660e5e4f28..f9184bd2872061411c7043592772da778a130346 100644 (file)
@@ -369,8 +369,8 @@ sub _fill_code_repo {
        $git;
 }
 
-sub _git_config_bool ($) {
-       my ($val) = @_;
+sub git_bool {
+       my ($val) = $_[-1]; # $_[0] may be $self, or $val
        if ($val =~ /\A(?:false|no|off|[\-\+]?(?:0x)?0+)\z/i) {
                0;
        } elsif ($val =~ /\A(?:true|yes|on|[\-\+]?(?:0x)?[0-9]+)\z/i) {
@@ -386,18 +386,22 @@ sub _fill {
 
        foreach my $k (qw(inboxdir filter newsgroup
                        watch httpbackendmax
-                       replyto feedmax nntpserver indexlevel)) {
+                       replyto feedmax nntpserver
+                       indexlevel indexsequentialshard)) {
                my $v = $self->{"$pfx.$k"};
                $ibx->{$k} = $v if defined $v;
        }
 
        # backwards compatibility:
        $ibx->{inboxdir} //= $self->{"$pfx.mainrepo"};
-
+       if (($ibx->{inboxdir} // '') =~ /\n/s) {
+               warn "E: `$ibx->{inboxdir}' must not contain `\\n'\n";
+               return;
+       }
        foreach my $k (qw(obfuscate)) {
                my $v = $self->{"$pfx.$k"};
                defined $v or next;
-               if (defined(my $bval = _git_config_bool($v))) {
+               if (defined(my $bval = git_bool($v))) {
                        $ibx->{$k} = $bval;
                } else {
                        warn "Ignoring $pfx.$k=$v in config, not boolean\n";