diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-11-12 01:06:52 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-11-12 01:06:52 +0900 |
| commit | 2f4393d17c7120912ad7b2b820b46124010a5a5e (patch) | |
| tree | 78c0e632175fc4c9b61d08c62b46a905cb4c853d /src/FtpConnection.cc | |
| parent | 226480ad605cb9f7c4b5dbb0167f3fd67c8672ce (diff) | |
Rewritten parse*Int
Diffstat (limited to 'src/FtpConnection.cc')
| -rw-r--r-- | src/FtpConnection.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/FtpConnection.cc b/src/FtpConnection.cc index 30638fa2..de11fb51 100644 --- a/src/FtpConnection.cc +++ b/src/FtpConnection.cc @@ -427,7 +427,7 @@ unsigned int FtpConnection::receiveSizeResponse(uint64_t& size) if(response.first == 213) { std::pair<Sip, Sip> rp; util::divide(rp, response.second.begin(), response.second.end(), ' '); - size = util::parseULLInt(rp.second.first, rp.second.second); + size = util::parseULLInt(std::string(rp.second.first, rp.second.second)); } return response.first; } else { @@ -448,12 +448,12 @@ unsigned int FtpConnection::receiveMdtmResponse(Time& time) // and included strptime doesn't parse data for this format. struct tm tm; memset(&tm, 0, sizeof(tm)); - tm.tm_sec = util::parseInt(&buf[12], &buf[14]); - tm.tm_min = util::parseInt(&buf[10], &buf[12]); - tm.tm_hour = util::parseInt(&buf[8], &buf[10]); - tm.tm_mday = util::parseInt(&buf[6], &buf[8]); - tm.tm_mon = util::parseInt(&buf[4], &buf[6])-1; - tm.tm_year = util::parseInt(&buf[0], &buf[4])-1900; + tm.tm_sec = util::parseInt(std::string(&buf[12], &buf[14])); + tm.tm_min = util::parseInt(std::string(&buf[10], &buf[12])); + tm.tm_hour = util::parseInt(std::string(&buf[8], &buf[10])); + tm.tm_mday = util::parseInt(std::string(&buf[6], &buf[8])); + tm.tm_mon = util::parseInt(std::string(&buf[4], &buf[6]))-1; + tm.tm_year = util::parseInt(std::string(&buf[0], &buf[4]))-1900; time = Time(timegm(&tm)); } else { time = Time::null(); @@ -483,7 +483,8 @@ unsigned int FtpConnection::receiveEpsvResponse(uint16_t& port) std::back_inserter(rd), '|', true, true); uint32_t portTemp = 0; if(rd.size() == 5 && - util::parseUIntNoThrow(portTemp, rd[3].first, rd[3].second)) { + util::parseUIntNoThrow(portTemp, + std::string(rd[3].first, rd[3].second))) { if(0 < portTemp && portTemp <= UINT16_MAX) { port = portTemp; } |
