| 484 | |
| 485 | |
| 486 | void Unpack::UnpWriteArea(size_t StartPtr,size_t EndPtr) |
| 487 | { |
| 488 | if (EndPtr!=StartPtr) |
| 489 | UnpSomeRead=true; |
| 490 | if (EndPtr<StartPtr) |
| 491 | UnpAllBuf=true; |
| 492 | |
| 493 | if (Fragmented) |
| 494 | { |
| 495 | size_t SizeToWrite=(EndPtr-StartPtr) & MaxWinMask; |
| 496 | while (SizeToWrite>0) |
| 497 | { |
| 498 | size_t BlockSize=FragWindow.GetBlockSize(StartPtr,SizeToWrite); |
| 499 | UnpWriteData(&FragWindow[StartPtr],BlockSize); |
| 500 | SizeToWrite-=BlockSize; |
| 501 | StartPtr=(StartPtr+BlockSize) & MaxWinMask; |
| 502 | } |
| 503 | } |
| 504 | else |
| 505 | if (EndPtr<StartPtr) |
| 506 | { |
| 507 | UnpWriteData(Window+StartPtr,MaxWinSize-StartPtr); |
| 508 | UnpWriteData(Window,EndPtr); |
| 509 | } |
| 510 | else |
| 511 | UnpWriteData(Window+StartPtr,EndPtr-StartPtr); |
| 512 | } |
| 513 | |
| 514 | |
| 515 | void Unpack::UnpWriteData(byte *Data,size_t Size) |
nothing calls this directly
no test coverage detected