Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1
libvmime_zarafa7
10-vmime-backport-mailboxList-parser-29954e5.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 10-vmime-backport-mailboxList-parser-29954e5.diff of Package libvmime_zarafa7
--- src/mailboxList.cpp | 30 +++++++++++++++++++++++++++++- vmime/address.hpp | 1 - 2 files changed, 29 insertions(+), 2 deletions(-) Index: vmime/src/mailboxList.cpp =================================================================== --- vmime.orig/src/mailboxList.cpp +++ vmime/src/mailboxList.cpp @@ -22,6 +22,7 @@ // #include "vmime/mailboxList.hpp" +#include "vmime/mailboxGroup.hpp" #include "vmime/exception.hpp" @@ -199,7 +200,34 @@ const std::vector <ref <const component> void mailboxList::parse(const string& buffer, const string::size_type position, const string::size_type end, string::size_type* newPosition) { - m_list.parse(buffer, position, end, newPosition); + string::size_type pos = position; + + while (pos < end) + { + ref <address> parsedAddress = address::parseNext(buffer, pos, end, &pos); + + if (parsedAddress != NULL) + { + if (parsedAddress->isGroup()) + { + ref <mailboxGroup> group = parsedAddress.staticCast <mailboxGroup>(); + + for (size_t i = 0 ; i < group->getMailboxCount() ; ++i) + { + m_list.appendAddress(group->getMailboxAt(i)); + } + } + else + { + m_list.appendAddress(parsedAddress); + } + } + } + + setParsedBounds(position, end); + + if (newPosition) + *newPosition = end; } Index: vmime/vmime/address.hpp =================================================================== --- vmime.orig/vmime/address.hpp +++ vmime/vmime/address.hpp @@ -65,7 +65,6 @@ public: virtual ref <component> clone() const = 0; -protected: /** Parse an address from an input buffer. *
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor