| 75 | |
| 76 | |
| 77 | void FragmentedWindow::CopyString(uint Length,uint Distance,size_t &UnpPtr,size_t MaxWinMask) |
| 78 | { |
| 79 | size_t SrcPtr=UnpPtr-Distance; |
| 80 | while (Length-- > 0) |
| 81 | { |
| 82 | (*this)[UnpPtr]=(*this)[SrcPtr++ & MaxWinMask]; |
| 83 | // We need to have masked UnpPtr after quit from loop, so it must not |
| 84 | // be replaced with '(*this)[UnpPtr++ & MaxWinMask]' |
| 85 | UnpPtr=(UnpPtr+1) & MaxWinMask; |
| 86 | } |
| 87 | } |
| 88 | |
| 89 | |
| 90 | void FragmentedWindow::CopyData(byte *Dest,size_t WinPos,size_t Size) |