diff options
Diffstat (limited to 'src/mdn/receivedMDNInfos.cpp')
-rw-r--r-- | src/mdn/receivedMDNInfos.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mdn/receivedMDNInfos.cpp b/src/mdn/receivedMDNInfos.cpp index dea54a0b..3578931e 100644 --- a/src/mdn/receivedMDNInfos.cpp +++ b/src/mdn/receivedMDNInfos.cpp @@ -82,7 +82,8 @@ void receivedMDNInfos::extract() if (!part->getHeader()->hasField(fields::CONTENT_TYPE)) continue; - const mediaType& type = part->getHeader()->ContentType()->getValue(); + const mediaType& type = *part->getHeader()->ContentType()-> + getValue().dynamicCast <const mediaType>(); // Extract from second part (message/disposition-notification) if (type.getType() == vmime::mediaTypes::MESSAGE && @@ -97,10 +98,10 @@ void receivedMDNInfos::extract() header fields; fields.parse(oss.str()); - try { m_omid = fields.OriginalMessageId()->getValue(); } + try { m_omid = *fields.OriginalMessageId()->getValue().dynamicCast <const messageId>(); } catch (exceptions::no_such_field&) { /* Ignore */ } - try { m_disp = fields.Disposition()->getValue(); } + try { m_disp = *fields.Disposition()->getValue().dynamicCast <const disposition>(); } catch (exceptions::no_such_field&) { /* Ignore */ } } } |