Changeset 33224 in vbox for trunk/src/VBox/Devices/Storage
- Timestamp:
- Oct 19, 2010 8:11:46 AM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 66769
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/testcase/vbox-img.cpp
r33213 r33224 363 363 if (pFS->offBuffer == UINT64_MAX) 364 364 { 365 size_t cbRead = 0; 366 rc = RTFileRead(0, &pFS->abBuffer[0], sizeof(pFS->abBuffer), 367 &cbRead); 368 if (RT_FAILURE(rc)) 369 return rc; 365 /* Repeat reading until buffer is full or EOF. */ 366 size_t cbSumRead = 0, cbRead; 367 uint8_t *pTmp = (uint8_t *)&pFS->abBuffer[0]; 368 size_t cbTmp = sizeof(pFS->abBuffer); 369 do 370 { 371 rc = RTFileRead(0, pTmp, cbTmp, &cbRead); 372 if (RT_FAILURE(rc)) 373 return rc; 374 pTmp += cbRead; 375 cbTmp -= cbRead; 376 cbSumRead += cbRead; 377 } while (cbTmp && cbRead); 370 378 371 379 pFS->offBuffer = 0; 372 pFS->cbBuffer = cb Read;380 pFS->cbBuffer = cbSumRead; 373 381 } 374 382 … … 387 395 } 388 396 389 size_t cbRead = 0; 390 rc = RTFileRead(0, &pFS->abBuffer[0], sizeof(pFS->abBuffer), 391 &cbRead); 392 if (RT_FAILURE(rc)) 397 /* Repeat reading until buffer is full or EOF. */ 398 size_t cbSumRead = 0, cbRead; 399 uint8_t *pTmp = (uint8_t *)&pFS->abBuffer[0]; 400 size_t cbTmp = sizeof(pFS->abBuffer); 401 do 393 402 { 394 if (pcbRead) 395 *pcbRead = cbTotalRead; 396 return rc; 397 } 403 rc = RTFileRead(0, pTmp, cbTmp, &cbRead); 404 if (RT_FAILURE(rc)) 405 return rc; 406 pTmp += cbRead; 407 cbTmp -= cbRead; 408 cbSumRead += cbRead; 409 } while (cbTmp && cbRead); 398 410 399 411 pFS->offBuffer += pFS->cbBuffer; 400 pFS->cbBuffer = cb Read;412 pFS->cbBuffer = cbSumRead; 401 413 } 402 414 … … 413 425 if (pcbRead) 414 426 *pcbRead = cbTotalRead; 427 428 pFS->off = uOffset; 415 429 416 430 return VINF_SUCCESS;
Note:
See TracChangeset
for help on using the changeset viewer.