my ($fid) = $dbh->selectrow_array($sel, undef, $folder);
return $fid if defined $fid;
+ # caller had trailing slash (LeiToMail)
if ($folder =~ s!\A((?:maildir|mh):.*?)/+\z!$1!i) {
- warn "folder: $folder/ had trailing slash in arg\n";
($fid) = $dbh->selectrow_array($sel, undef, $folder);
if (defined $fid) {
$dbh->do(<<EOM, undef, $folder, $fid) if $rw;
$dbh->do('DELETE FROM folders WHERE fid = ?', undef, $fid);
}
+# only used for changing canonicalization errors
+sub rename_folder {
+ my ($self, $old, $new) = @_;
+ my $fid = delete($self->{fmap}->{$old}) //
+ fid_for($self, $old) // return;
+ $self->{dbh}->do(<<EOM, undef, $new, $fid);
+UPDATE folders SET loc = ? WHERE fid = ?
+EOM
+}
+
sub imap_oidbin ($$$) {
my ($self, $url, $uid) = @_; # $url MUST have UIDVALIDITY
my $fid = $self->{fmap}->{$url} //= fid_for($self, $url) // return;