Changeset 38212 in vbox
- Timestamp:
- Jul 28, 2011 9:35:46 AM (14 years ago)
- Location:
- trunk/src/VBox/Main
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/GuestCtrlImplPrivate.h
r38210 r38212 67 67 size_t GetNumPairs(); 68 68 69 uint32_t GetOffset(); 69 uint32_t GetOffsetBuffer(); 70 71 uint32_t GetOffsetParser(); 70 72 71 73 const char* GetString(const char *pszKey); … … 86 88 uint32_t m_cbSize; 87 89 /** Current offset within the internal stream buffer. */ 88 uint32_t m_cbOffset ;90 uint32_t m_cbOffsetBuffer; 89 91 /** Current parser offset. */ 90 uint32_t m_cb ParserOffset;92 uint32_t m_cbOffsetParser; 91 93 /** Internal stream buffer. */ 92 94 BYTE *m_pbBuffer; -
trunk/src/VBox/Main/src-client/GuestCtrlIO.cpp
r38210 r38212 32 32 : m_cbAllocated(0), 33 33 m_cbSize(0), 34 m_cbOffset (0),35 m_cb ParserOffset(0),34 m_cbOffsetBuffer(0), 35 m_cbOffsetParser(0), 36 36 m_pbBuffer(NULL) 37 37 { … … 53 53 54 54 /* Rewind the buffer if it's empty. */ 55 size_t cbInBuf = m_cbSize - m_cbOffset ;55 size_t cbInBuf = m_cbSize - m_cbOffsetBuffer; 56 56 bool const fAddToSet = cbInBuf == 0; 57 57 if (fAddToSet) 58 m_cbSize = m_cbOffset = 0;58 m_cbSize = m_cbOffsetBuffer = 0; 59 59 60 60 /* Try and see if we can simply append the data. */ … … 67 67 { 68 68 /* Move any buffered data to the front. */ 69 cbInBuf = m_cbSize - m_cbOffset ;69 cbInBuf = m_cbSize - m_cbOffsetBuffer; 70 70 if (cbInBuf == 0) 71 m_cbSize = m_cbOffset = 0;72 else if (m_cbOffset ) /* Do we have something to move? */73 { 74 memmove(m_pbBuffer, &m_pbBuffer[m_cbOffset ], cbInBuf);71 m_cbSize = m_cbOffsetBuffer = 0; 72 else if (m_cbOffsetBuffer) /* Do we have something to move? */ 73 { 74 memmove(m_pbBuffer, &m_pbBuffer[m_cbOffsetBuffer], cbInBuf); 75 75 m_cbSize = cbInBuf; 76 m_cbOffset = 0;76 m_cbOffsetBuffer = 0; 77 77 } 78 78 … … 167 167 } 168 168 169 uint32_t GuestProcessStream::GetOffset() 170 { 171 return m_cbOffset; 169 uint32_t GuestProcessStream::GetOffsetBuffer() 170 { 171 return m_cbOffsetBuffer; 172 } 173 174 uint32_t GuestProcessStream::GetOffsetParser() 175 { 176 return m_cbOffsetParser; 172 177 } 173 178 … … 226 231 AssertPtrReturn(m_pbBuffer, VINF_SUCCESS); 227 232 AssertReturn(m_cbSize, VINF_SUCCESS); 228 AssertReturn(m_cb ParserOffset <m_cbSize, VERR_INVALID_PARAMETER);233 AssertReturn(m_cbOffsetParser <= m_cbSize, VERR_INVALID_PARAMETER); 229 234 230 235 int rc = VINF_SUCCESS; 231 236 232 size_t uCur = m_cb ParserOffset;237 size_t uCur = m_cbOffsetParser; 233 238 for (;uCur < m_cbSize;) 234 239 { … … 258 263 || pszSep == pszEnd) 259 264 { 260 m_cb ParserOffset= uCur - uPairLen - 1;265 m_cbOffsetParser = uCur - uPairLen - 1; 261 266 rc = VERR_MORE_DATA; 262 267 } … … 299 304 RTMemFree(pszKey); 300 305 301 m_cb ParserOffset += uCur - m_cbParserOffset;306 m_cbOffsetParser += uCur - m_cbOffsetParser; 302 307 } 303 308 } … … 308 313 if (*pszEnd == '\0') 309 314 { 310 m_cb ParserOffset= uCur;315 m_cbOffsetParser = uCur; 311 316 rc = VERR_MORE_DATA; 312 317 break; … … 320 325 } 321 326 322 RT_CLAMP(m_cb ParserOffset, 0, m_cbSize);327 RT_CLAMP(m_cbOffsetParser, 0, m_cbSize); 323 328 324 329 return rc;
Note:
See TracChangeset
for help on using the changeset viewer.