From c4cab7070252c63f9cbb97fc4da7b3ff38cb5e94 Mon Sep 17 00:00:00 2001 From: Peter Thorson Date: Tue, 31 Jan 2012 09:14:00 -0600 Subject: [PATCH] libstdc++ and libc++ both work now --- src/messages/control.hpp | 30 ++++-------------------------- src/messages/data.cpp | 31 ++++--------------------------- 2 files changed, 8 insertions(+), 53 deletions(-) diff --git a/src/messages/control.hpp b/src/messages/control.hpp index e0928ac052..1a7012a06c 100644 --- a/src/messages/control.hpp +++ b/src/messages/control.hpp @@ -65,43 +65,21 @@ public: while(input.good() && i < size) { c = input.get(); - if (input.good()) { + if (!input.fail()) { if (m_masking_index >= 0) { c = c ^ m_masking_key[(m_masking_index++)%4]; } m_payload.push_back(c); i++; - } else if (input.eof()) { - break; - } else { + } + + if (input.bad()) { throw processor::exception("istream read error 2", processor::error::FATAL_ERROR); } } - /*for (i = 0; i < size; ++i) { - if (input.good()) { - c = input.get(); - - if (input.fail()) { - throw processor::exception("istream read error", - processor::error::FATAL_ERROR); - } - - if (m_masking_index >= 0) { - c = c ^ m_masking_key[(m_masking_index++)%4]; - } - - m_payload.push_back(c); - - } else if (input.eof()) { - break; - } else { - throw processor::exception("istream read error",processor::error::FATAL_ERROR); - } - }*/ - // successfully read all bytes return i; } diff --git a/src/messages/data.cpp b/src/messages/data.cpp index 72e24a9346..c09e33c264 100644 --- a/src/messages/data.cpp +++ b/src/messages/data.cpp @@ -62,44 +62,21 @@ uint64_t data::process_payload(std::istream& input,uint64_t size) { )); } - // extract characters until size have been extracted or eof. return num ext i = 0; while(input.good() && i < size) { c = input.get(); - if (input.good()) { + if (!input.fail()) { process_character(c); i++; - } else if (input.eof()) { - break; - } else { + } + + if (input.bad()) { throw processor::exception("istream read error 2", processor::error::FATAL_ERROR); } } - /*for (i = 0; i < size; ++i) { - if (input.good()) { - c = input.get(); - process_character(c); - - if (input.eof()) { - break; - } - - if (input.fail()) { - throw processor::exception("istream read error 1", - processor::error::FATAL_ERROR); - } - - } else if (input.eof()) { - break; - } else { - throw processor::exception("istream read error 2", - processor::error::FATAL_ERROR); - } - }*/ - // successfully read all bytes return i; }