about summary refs log tree commit homepage
path: root/lib/PublicInbox/NetWriter.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/NetWriter.pm')
-rw-r--r--lib/PublicInbox/NetWriter.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/PublicInbox/NetWriter.pm b/lib/PublicInbox/NetWriter.pm
index c68b0669..e26e9815 100644
--- a/lib/PublicInbox/NetWriter.pm
+++ b/lib/PublicInbox/NetWriter.pm
@@ -16,7 +16,8 @@ my %IMAPkw2flags;
 sub imap_append {
         my ($mic, $folder, $bref, $smsg, $eml) = @_;
         $bref //= \($eml->as_string);
-        $smsg //= bless { }, 'PublicInbox::Smsg';
+        $smsg //= bless {}, 'PublicInbox::Smsg';
+        bless($smsg, 'PublicInbox::Smsg') if ref($smsg) eq 'HASH';
         $smsg->{ts} //= msg_timestamp($eml // PublicInbox::Eml->new($$bref));
         my @f = map { $IMAPkw2flags{$_} } @{$smsg->{kw}};
         $mic->append_string($folder, $$bref, "@f", $smsg->internaldate) or