bool LLHTTPResponder::readLine( const LLChannelDescriptors& channels, buffer_ptr_t buffer, U8* dest, S32& len) { LLMemType m1(LLMemType::MTYPE_IO_HTTP_SERVER); --len; U8* last = buffer->readAfter(channels.in(), mLastRead, dest, len); dest[len] = '\0'; U8* newline = (U8*)strchr((char*)dest, '\n'); if(!newline) { if(len) { lldebugs << "readLine failed - too long maybe?" << llendl; markBad(channels, buffer); } return false; } S32 offset = -((len - 1) - (newline - dest)); ++newline; *newline = '\0'; mLastRead = buffer->seek(channels.in(), last, offset); return true; }