X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/48f7ffbe93ab587c54643e2476b0e3b0c74e1386..761598d4e5b9f59bfc773e06f843c070d920f8b9:/src/common/http.cpp diff --git a/src/common/http.cpp b/src/common/http.cpp index b2b5a42767..600cef4d47 100644 --- a/src/common/http.cpp +++ b/src/common/http.cpp @@ -9,10 +9,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "http.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -146,15 +142,9 @@ bool wxHTTP::ParseHeaders() ClearHeaders(); m_read = true; -#if defined(__VISAGECPP__) -// VA just can't stand while(1) - bool bOs2var = true; - while(bOs2var) -#else - while (1) -#endif + for ( ;; ) { - m_perr = GetLine(this, line); + m_perr = ReadLine(this, line); if (m_perr != wxPROTO_NOERR) return false; @@ -258,7 +248,7 @@ bool wxHTTP::BuildRequest(const wxString& path, wxHTTP_Req req) } wxString tmp_str; - m_perr = GetLine(this, tmp_str); + m_perr = ReadLine(this, tmp_str); if (m_perr != wxPROTO_NOERR) { RestoreState(); return false; @@ -335,6 +325,15 @@ size_t wxHTTPStream::OnSysRead(void *buffer, size_t bufsize) size_t ret = wxSocketInputStream::OnSysRead(buffer, bufsize); m_read_bytes += ret; + if (m_httpsize==(size_t)-1 && m_lasterror == wxSTREAM_READ_ERROR ) + { + // if m_httpsize is (size_t) -1 this means read until connection closed + // which is equivalent to getting a READ_ERROR, for clients however this + // must be translated into EOF, as it is the expected way of signalling + // end end of the content + m_lasterror = wxSTREAM_EOF ; + } + return ret; }