version 0.3.23
[fms.git] / src / nntp / nntpconnection.cpp
index 6e53237..0212e23 100644 (file)
        #include <xmem.h>\r
 #endif\r
 \r
-NNTPConnection::NNTPConnection(SOCKET sock)\r
+NNTPConnection::NNTPConnection(SOCKET sock):m_socket(sock)\r
 {\r
-       std::string tempval;\r
+       std::string tempval("");\r
 \r
-       m_socket=sock;\r
        m_tempbuffer.resize(32768);\r
        \r
        m_status.m_isposting=false;\r
@@ -1323,6 +1322,14 @@ void NNTPConnection::run()
                        m_log->error("NNTPConnection::run select returned -1 : "+GetSocketErrorMessage());      \r
                }\r
 \r
+               //process all remaining commands in buffer\r
+               std::vector<char>::size_type rbs=0;\r
+               while(rbs!=m_receivebuffer.size())\r
+               {\r
+                       rbs=m_receivebuffer.size();\r
+                       HandleReceivedData();\r
+               }\r
+\r
        }while(!Disconnected() && !IsCancelled());\r
 \r
        Disconnect();\r