aboutsummaryrefslogtreecommitdiffstats
path: root/src/mdn/receivedMDNInfos.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mdn/receivedMDNInfos.cpp')
-rw-r--r--src/mdn/receivedMDNInfos.cpp7
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 */ }
}
}