message: Don't assume there's a sub-message

Also add unit-test.

Fixes: issue #2256.
This commit is contained in:
Dirk-Jan C. Binnema
2022-05-12 19:58:08 +03:00
parent 9062b9d67f
commit eb22ec450c
4 changed files with 35 additions and 8 deletions

View File

@ -67,9 +67,12 @@ MessagePart::cooked_filename() const noexcept
// MimeMessagepart. Construct a name based on subject.
if (mime_object().is_message_part()) {
auto msg{MimeMessagePart{mime_object()}.get_message()};
return msg.subject()
.map(cleanup)
.value_or("no-subject") + ".eml";
if (!msg)
return Nothing;
else
return msg->subject()
.map(cleanup)
.value_or("no-subject") + ".eml";
}
return Nothing;