Make moving of MH to mbox format faster

This commit is contained in:
Jamie Cameron
2009-09-14 14:21:29 -07:00
parent ac9d650238
commit 0de69542d6
2 changed files with 15 additions and 5 deletions

View File

@@ -2160,16 +2160,25 @@ foreach $f (@files) {
return @rv;
}
# idlist_mhdir(file)
# idlist_mhdir(directory)
# Returns a list of files in an MH directory, which are the IDs
sub idlist_mhdir
{
opendir(DIR, $file);
local ($dir) = @_;
opendir(DIR, $dir);
local @files = grep { /^\d+$/ } readdir(DIR);
closedir(DIR);
return @files;
}
# get_mhdir_files(directory)
# Returns a list of full paths to files in an MH directory
sub get_mhdir_files
{
local ($dir) = @_;
return map { "$dir/$_" } &idlist_mhdir($dir);
}
# select_mhdir(file, &ids, headersonly)
# Returns a list of messages with the given indexes, from an mhdir directory
sub select_mhdir

View File

@@ -1428,9 +1428,10 @@ if ($src->{'type'} == $dst->{'type'} && !$src->{'remote'}) {
&mailbox_fix_permissions($dst, \@st);
}
}
elsif ($src->{'type'} == 1 && $dst->{'type'} == 0) {
# For Maildir to mbox moves, just append files
local @files = &get_maildir_files($src->{'file'});
elsif (($src->{'type'} == 1 || $src->{'type'} == 3) && $dst->{'type'} == 0) {
# For Maildir or MH to mbox moves, just append files
local @files = $src->{'type'} == 1 ? &get_maildir_files($src->{'file'})
: &get_mhdir_files($src->{'file'});
&open_tempfile(DEST, ">>$dst->{'file'}");
local $fromline = &make_from_line("webmin\@example.com");
foreach my $f (@files) {