From d5ebf62bed594d1fe6ab616a6bbcbcf0a5892d47 Mon Sep 17 00:00:00 2001 From: weidai Date: Tue, 12 Jul 2005 04:23:32 +0000 Subject: port to MSVC .NET 2005 beta 2 git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@198 57ff6487-cd31-0410-9ec3-f628ee90f5f0 --- iterhash.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'iterhash.cpp') diff --git a/iterhash.cpp b/iterhash.cpp index 877007e..d6dd092 100644 --- a/iterhash.cpp +++ b/iterhash.cpp @@ -6,13 +6,13 @@ NAMESPACE_BEGIN(CryptoPP) -template void IteratedHashBase::Update(const byte *input, unsigned int len) +template void IteratedHashBase::Update(const byte *input, size_t len) { HashWordType oldCountLo = m_countLo, oldCountHi = m_countHi; - if ((m_countLo = oldCountLo + len) < oldCountLo) + if ((m_countLo = oldCountLo + HashWordType(len)) < oldCountLo) m_countHi++; // carry from low to high - m_countHi += SafeRightShift<8*sizeof(HashWordType)>(len); - if (m_countHi < oldCountHi) + m_countHi += (HashWordType)SafeRightShift<8*sizeof(HashWordType)>(len); + if (m_countHi < oldCountHi || SafeRightShift<2*8*sizeof(HashWordType)>(len) != 0) throw HashInputTooLong(this->AlgorithmName()); unsigned int blockSize = BlockSize(); @@ -47,7 +47,7 @@ template void IteratedHashBase::Update(const byte } else if (IsAligned(input)) { - unsigned int leftOver = HashMultipleBlocks((T *)input, len); + size_t leftOver = HashMultipleBlocks((T *)input, len); input += (len - leftOver); len = leftOver; } @@ -64,7 +64,7 @@ template void IteratedHashBase::Update(const byte memcpy(m_data, input, len); } -template byte * IteratedHashBase::CreateUpdateSpace(unsigned int &size) +template byte * IteratedHashBase::CreateUpdateSpace(size_t &size) { unsigned int blockSize = BlockSize(); unsigned int num = ModPowerOf2(m_countLo, blockSize); @@ -72,7 +72,7 @@ template byte * IteratedHashBase::CreateUpdateSpa return (byte *)m_data.begin() + num; } -template unsigned int IteratedHashBase::HashMultipleBlocks(const T *input, unsigned int length) +template size_t IteratedHashBase::HashMultipleBlocks(const T *input, size_t length) { unsigned int blockSize = BlockSize(); bool noReverse = NativeByteOrderIs(GetByteOrder()); @@ -114,7 +114,7 @@ template void IteratedHashBase::Restart() Init(); } -template void IteratedHashBase::TruncatedFinal(byte *digest, unsigned int size) +template void IteratedHashBase::TruncatedFinal(byte *digest, size_t size) { this->ThrowIfInvalidTruncatedSize(size); -- cgit v1.2.1