diff options
| author | Vincent Richard <[email protected]> | 2006-04-05 17:48:09 +0000 |
|---|---|---|
| committer | Vincent Richard <[email protected]> | 2006-04-05 17:48:09 +0000 |
| commit | b16c5ca684382677ae298eed6253c75d2eaf9806 (patch) | |
| tree | 50f33a0641261ac7e925640ceb142ba0ebc6df44 /src/net/pop3/POP3Folder.cpp | |
| parent | Refactored and cleaned up smart pointers. (diff) | |
| download | vmime-b16c5ca684382677ae298eed6253c75d2eaf9806.tar.gz vmime-b16c5ca684382677ae298eed6253c75d2eaf9806.zip | |
Clean up.
Diffstat (limited to 'src/net/pop3/POP3Folder.cpp')
| -rw-r--r-- | src/net/pop3/POP3Folder.cpp | 42 |
1 files changed, 4 insertions, 38 deletions
diff --git a/src/net/pop3/POP3Folder.cpp b/src/net/pop3/POP3Folder.cpp index acffff7d..657e1bdd 100644 --- a/src/net/pop3/POP3Folder.cpp +++ b/src/net/pop3/POP3Folder.cpp @@ -22,6 +22,8 @@ #include "vmime/net/pop3/POP3Store.hpp" #include "vmime/net/pop3/POP3Message.hpp" +#include "vmime/net/pop3/POP3Utils.hpp" + #include "vmime/exception.hpp" @@ -354,7 +356,7 @@ void POP3Folder::fetchMessages(std::vector <ref <message> >& msg, const int opti // S: 2 12653 // S: . std::map <int, string> result; - parseMultiListOrUidlResponse(response, result); + POP3Utils::parseMultiListOrUidlResponse(response, result); for (std::vector <ref <message> >::iterator it = msg.begin() ; it != msg.end() ; ++it) @@ -399,7 +401,7 @@ void POP3Folder::fetchMessages(std::vector <ref <message> >& msg, const int opti // S: 2 QhdPYR:00WBw1Ph7x7 // S: . std::map <int, string> result; - parseMultiListOrUidlResponse(response, result); + POP3Utils::parseMultiListOrUidlResponse(response, result); for (std::vector <ref <message> >::iterator it = msg.begin() ; it != msg.end() ; ++it) @@ -821,42 +823,6 @@ void POP3Folder::expunge() } -void POP3Folder::parseMultiListOrUidlResponse(const string& response, std::map <int, string>& result) -{ - std::istringstream iss(response); - std::map <int, string> ids; - - string line; - - while (std::getline(iss, line)) - { - string::iterator it = line.begin(); - - while (it != line.end() && (*it == ' ' || *it == '\t')) - ++it; - - if (it != line.end()) - { - int number = 0; - - while (it != line.end() && (*it >= '0' && *it <= '9')) - { - number = (number * 10) + (*it - '0'); - ++it; - } - - while (it != line.end() && !(*it == ' ' || *it == '\t')) ++it; - while (it != line.end() && (*it == ' ' || *it == '\t')) ++it; - - if (it != line.end()) - { - result.insert(std::map <int, string>::value_type(number, string(it, line.end()))); - } - } - } -} - - } // pop3 } // net } // vmime |
