Skip to content

Commit

Permalink
Refactor out getPartName()
Browse files Browse the repository at this point in the history
  • Loading branch information
0xd34df00d committed Aug 8, 2020
1 parent 0f99387 commit 83a2669
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions src/vmime/net/imap/IMAPMessagePart.cpp
Expand Up @@ -52,6 +52,21 @@ IMAPMessagePart::IMAPMessagePart(
);
}

namespace {
template<typename T>
vmime::string getPartName(const T& body_type) {
if (const auto* pparam = body_type->body_fields->body_fld_param.get()) {
for (const auto& param : pparam->items) {
if (param->string1->value == "NAME") {
return param->string2->value;
}
}
}

return {};
}
}


IMAPMessagePart::IMAPMessagePart(
const shared_ptr <IMAPMessagePart>& parent,
Expand Down Expand Up @@ -88,13 +103,7 @@ IMAPMessagePart::IMAPMessagePart(

m_size = part->body_type_basic->body_fields->body_fld_octets->value;

if (const auto* pparam = part->body_type_basic->body_fields->body_fld_param.get()) {
for (const auto& param : pparam->items) {
if (param->string1->value == "NAME") {
m_name = param->string2->value;
}
}
}
m_name = getPartName(part->body_type_basic);

if (part->body_ext_1part && part->body_ext_1part->body_fld_dsp) {
auto *cdisp = part->body_ext_1part->body_fld_dsp->str();
Expand Down

0 comments on commit 83a2669

Please sign in to comment.