From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 4927D1FBA1 for ; Tue, 4 Jun 2019 11:27:52 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 21/24] require ASCII digits for local FS items Date: Tue, 4 Jun 2019 11:27:45 +0000 Message-Id: <20190604112748.23598-22-e@80x24.org> In-Reply-To: <20190604112748.23598-1-e@80x24.org> References: <20190604112748.23598-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: In case some BOFH decides to randomly create directories using non-ASCII digits all over the place. --- lib/PublicInbox/Inbox.pm | 4 ++-- lib/PublicInbox/Search.pm | 2 +- lib/PublicInbox/V2Writable.pm | 4 ++-- lib/PublicInbox/Xapcmd.pm | 6 +++--- script/public-inbox-purge | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm index 04d2f83..c933033 100644 --- a/lib/PublicInbox/Inbox.pm +++ b/lib/PublicInbox/Inbox.pm @@ -87,7 +87,7 @@ sub _set_limiter ($$$) { my $mkey = $pfx.'max'; my $val = $self->{$mkey} or return; my $lim; - if ($val =~ /\A\d+\z/) { + if ($val =~ /\A[0-9]+\z/) { require PublicInbox::Qspawn; $lim = PublicInbox::Qspawn::Limiter->new($val); } elsif ($val =~ /\A[a-z][a-z0-9]*\z/) { @@ -161,7 +161,7 @@ sub max_git_part { if (opendir my $dh, $gits) { my $max = -1; while (defined(my $git_dir = readdir($dh))) { - $git_dir =~ m!\A(\d+)\.git\z! or next; + $git_dir =~ m!\A([0-9]+)\.git\z! or next; $max = $1 if $1 > $max; } $part = $self->{-max_git_part} = $max if $max >= 0; diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index c054a87..9903f42 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -144,7 +144,7 @@ sub _xdb ($) { my $qpf = \($self->{qp_flags} ||= $QP_FLAGS); if ($self->{version} >= 2) { foreach my $part (<$dir/*>) { - -d $part && $part =~ m!/\d+\z! or next; + -d $part && $part =~ m!/[0-9]+\z! or next; my $sub = Search::Xapian::Database->new($part); if ($xdb) { $xdb->add_database($sub); diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index 76844cd..a8c33ef 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -48,7 +48,7 @@ sub count_partitions ($) { # due to -compact if (-d $xpfx) { foreach my $part (<$xpfx/*>) { - -d $part && $part =~ m!/\d+\z! or next; + -d $part && $part =~ m!/[0-9]+\z! or next; eval { Search::Xapian::Database->new($part)->close; $nparts++; @@ -574,7 +574,7 @@ sub git_dir_latest { my $latest; opendir my $dh, $pfx or die "opendir $pfx: $!\n"; while (defined(my $git_dir = readdir($dh))) { - $git_dir =~ m!\A(\d+)\.git\z! or next; + $git_dir =~ m!\A([0-9]+)\.git\z! or next; if ($1 > $$max) { $$max = $1; $latest = "$pfx/$git_dir"; diff --git a/lib/PublicInbox/Xapcmd.pm b/lib/PublicInbox/Xapcmd.pm index 9067231..dad080c 100644 --- a/lib/PublicInbox/Xapcmd.pm +++ b/lib/PublicInbox/Xapcmd.pm @@ -150,7 +150,7 @@ sub run { } else { opendir my $dh, $old or die "Failed to opendir $old: $!\n"; while (defined(my $dn = readdir($dh))) { - if ($dn =~ /\A\d+\z/) { + if ($dn =~ /\A[0-9]+\z/) { my $tmpl = "$dn-XXXXXXXX"; my $dst = tempdir($tmpl, DIR => $old); same_fs_or_die($old, $dst); @@ -200,7 +200,7 @@ sub progress_pfx ($) { my @p = split('/', $_[0]); # return "xap15/0" for v2, or "xapian15" for v1: - ($p[-1] =~ /\A\d+\z/) ? "$p[-2]/$p[-1]" : $p[-1]; + ($p[-1] =~ /\A[0-9]+\z/) ? "$p[-2]/$p[-1]" : $p[-1]; } # xapian-compact wrapper @@ -276,7 +276,7 @@ sub cpdb ($$) { $dst->set_metadata('last_commit', $lc) if $lc; # only the first xapian partition (0) gets 'indexlevel' - if ($old =~ m!(?:xapian\d+|xap\d+/0)\z!) { + if ($old =~ m!(?:xapian[0-9]+|xap[0-9]+/0)\z!) { my $l = $src->get_metadata('indexlevel'); if ($l eq 'medium') { $dst->set_metadata('indexlevel', $l); diff --git a/script/public-inbox-purge b/script/public-inbox-purge index 381826d..25e6cc9 100755 --- a/script/public-inbox-purge +++ b/script/public-inbox-purge @@ -91,7 +91,7 @@ foreach my $ibx (@inboxes) { my $xdir_ro = $ibx->{search}->xdir(1); my $npart = 0; foreach my $part (<$xdir_ro/*>) { - if (-d $part && $part =~ m!/\d+\z!) { + if (-d $part && $part =~ m!/[0-9]+\z!) { my $bytes = 0; $bytes += -s $_ foreach glob("$part/*"); $npart++ if $bytes; -- EW