diff options
Diffstat (limited to 'src/messaging/pop3/POP3Folder.cpp')
-rw-r--r-- | src/messaging/pop3/POP3Folder.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/messaging/pop3/POP3Folder.cpp b/src/messaging/pop3/POP3Folder.cpp index 0f0a5369..0afd3589 100644 --- a/src/messaging/pop3/POP3Folder.cpp +++ b/src/messaging/pop3/POP3Folder.cpp @@ -206,16 +206,18 @@ ref <message> POP3Folder::getMessage(const int num) std::vector <ref <message> > POP3Folder::getMessages(const int from, const int to) { + const int to2 = (to == -1 ? m_messageCount : to); + if (!m_store) throw exceptions::illegal_state("Store disconnected"); else if (!isOpen()) throw exceptions::illegal_state("Folder not open"); - else if (to < from || from < 1 || to < 1 || from > m_messageCount || to > m_messageCount) + else if (to2 < from || from < 1 || to2 < 1 || from > m_messageCount || to2 > m_messageCount) throw exceptions::message_not_found(); std::vector <ref <message> > v; - for (int i = from ; i <= to ; ++i) + for (int i = from ; i <= to2 ; ++i) v.push_back(vmime::create <POP3Message>(this, i)); return (v); |