std::streamsize ParserEngine::readBytes(XMLByteInputStream& istr, char* pBuffer, std::streamsize bufferSize) { if (_enablePartialReads) { istr.read(pBuffer, 1); if (istr.gcount() == 1) { std::streamsize n = istr.readsome(pBuffer + 1, bufferSize - 1); return n + 1; } else return 0; } else { istr.read(pBuffer, bufferSize); return istr.gcount(); } }