Mercurial > vba-linux
view src/win32/7zip/7z/CPP/7zip/Compress/ByteSwap.cpp @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
line wrap: on
line source
1 // ByteSwap.cpp3 #include "StdAfx.h"5 #include "ByteSwap.h"7 STDMETHODIMP CByteSwap2::Init() { return S_OK; }9 STDMETHODIMP_(UInt32) CByteSwap2::Filter(Byte *data, UInt32 size)10 {11 const UInt32 kStep = 2;12 UInt32 i;13 for (i = 0; i + kStep <= size; i += kStep)14 {15 Byte b = data[i];16 data[i] = data[i + 1];17 data[i + 1] = b;18 }19 return i;20 }22 STDMETHODIMP CByteSwap4::Init() { return S_OK; }24 STDMETHODIMP_(UInt32) CByteSwap4::Filter(Byte *data, UInt32 size)25 {26 const UInt32 kStep = 4;27 UInt32 i;28 for (i = 0; i + kStep <= size; i += kStep)29 {30 Byte b0 = data[i];31 Byte b1 = data[i + 1];32 data[i] = data[i + 3];33 data[i + 1] = data[i + 2];34 data[i + 2] = b1;35 data[i + 3] = b0;36 }37 return i;38 }