Browse Source

fix #500. check result of readline

pull/503/head
orignal 8 years ago
parent
commit
f01f6e94d1
  1. 4
      AddressBook.cpp

4
AddressBook.cpp

@ -716,12 +716,14 @@ namespace client @@ -716,12 +716,14 @@ namespace client
if (status == 200) // OK
{
bool isChunked = false, isGzip = false;
m_Etag = ""; m_LastModified = "";
std::string header, statusMessage;
std::getline (response, statusMessage);
// read until new line meaning end of header
while (!response.eof () && header != "\r")
{
std::getline (response, header);
if (response.fail ()) break;
auto colon = header.find (':');
if (colon != std::string::npos)
{
@ -741,7 +743,7 @@ namespace client @@ -741,7 +743,7 @@ namespace client
}
}
LogPrint (eLogInfo, "Addressbook: received ", m_Link, " ETag: ", m_Etag, " Last-Modified: ", m_LastModified);
if (!response.eof ())
if (!response.eof () && !response.fail ())
{
success = true;
if (!isChunked)

Loading…
Cancel
Save