-# Copyright (C) 2016-2019 all contributors <meta@public-inbox.org>
+# Copyright (C) 2016-2020 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
# Used for giving serial numbers to messages. This can be tied to
my ($class, $ibx, $spec, $writable) = @_;
my ($type, $prefix, $query) = split(/:/, $spec, 3);
$type eq 'serial' or die "non-serial not supported, yet\n";
-
+ $prefix =~ /\A\w+\z/ or warn "non-word prefix not searchable\n";
my %params = map {
my ($k, $v) = split(/=/, uri_unescape($_), 2);
$v = '' unless defined $v;
} split(/[&;]/, $query);
my $f = $params{file} or die "file: required for $type spec $spec\n";
unless (index($f, '/') == 0) {
- if (($ibx->{version} || 1) == 1) {
+ if ($ibx->version == 1) {
$f = "$ibx->{inboxdir}/public-inbox/$f";
} else {
$f = "$ibx->{inboxdir}/$f";
bless {
filename => $f,
writable => $writable,
+ prefix => $prefix,
xprefix => 'X'.uc($prefix),
}, $class;
}