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
&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) {