about summary refs log tree commit homepage
path: root/lib/PublicInbox/LeiMailSync.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2024-01-03 10:23:15 +0000
committerEric Wong <e@80x24.org>2024-01-04 18:37:33 +0000
commit3ee535737524782b6e0d392d5a526b63a0b878f2 (patch)
tree662d6cf02f3413965af28cf87cc350282d7dc83c /lib/PublicInbox/LeiMailSync.pm
parente26488aef99f4b8b28e8bb925704529dbe7d8ae2 (diff)
downloadpublic-inbox-3ee535737524782b6e0d392d5a526b63a0b878f2.tar.gz
This should help us deal with MH sequence number packing and
invalidating mail_sync.sqlite3.
Diffstat (limited to 'lib/PublicInbox/LeiMailSync.pm')
-rw-r--r--lib/PublicInbox/LeiMailSync.pm10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/PublicInbox/LeiMailSync.pm b/lib/PublicInbox/LeiMailSync.pm
index 593715dc..c498421c 100644
--- a/lib/PublicInbox/LeiMailSync.pm
+++ b/lib/PublicInbox/LeiMailSync.pm
@@ -425,9 +425,13 @@ sub folders {
         my $re;
         if (defined($pfx[0])) {
                 $sql .= ' WHERE loc REGEXP ?'; # DBD::SQLite uses perlre
-                $re = !!$pfx[1] ? '.*' : '';
-                $re .= quotemeta($pfx[0]);
-                $re .= '.*';
+                if (ref($pfx[0])) { # assume qr// "Regexp"
+                        $re = $pfx[0];
+                } else {
+                        $re = !!$pfx[1] ? '.*' : '';
+                        $re .= quotemeta($pfx[0]);
+                        $re .= '.*';
+                }
         }
         my $sth = ($self->{dbh} //= dbh_new($self))->prepare($sql);
         $sth->bind_param(1, $re) if defined($re);