aboutsummaryrefslogtreecommitdiffstats
path: root/src/messaging/pop3/POP3Folder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/messaging/pop3/POP3Folder.cpp')
-rw-r--r--src/messaging/pop3/POP3Folder.cpp6
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);