summaryrefslogtreecommitdiff
path: root/tea.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2016-09-06 02:51:16 -0400
committerJeffrey Walton <noloader@gmail.com>2016-09-06 02:51:16 -0400
commit45323bddd83982a183714d91167194f73bab1440 (patch)
tree8b6d2543d1fba8a03b12572b8571155a8e972df7 /tea.cpp
parent33522b39b1de5806798bded49e481baecb56dc58 (diff)
downloadcryptopp-git-45323bddd83982a183714d91167194f73bab1440.tar.gz
Initial fix for older Apple ld's non_lazy_ptr missing symbols (Issue 255)
Diffstat (limited to 'tea.cpp')
-rw-r--r--tea.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/tea.cpp b/tea.cpp
index 871a00b3..f1a82e8d 100644
--- a/tea.cpp
+++ b/tea.cpp
@@ -6,6 +6,9 @@
NAMESPACE_BEGIN(CryptoPP)
+// Hack for OS X 10.5 ld, http://github.com/weidai11/cryptopp/issues/255
+static const size_t s_unused = TEA::KEYLENGTH;
+
static const word32 DELTA = 0x9e3779b9;
typedef BlockGetAndPut<word32, BigEndian> Block;
@@ -24,7 +27,7 @@ void TEA::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byt
word32 sum = 0;
while (sum != m_limit)
- {
+ {
sum += DELTA;
y += ((z << 4) + m_k[0]) ^ (z + sum) ^ ((z >> 5) + m_k[1]);
z += ((y << 4) + m_k[2]) ^ (y + sum) ^ ((y >> 5) + m_k[3]);
@@ -41,7 +44,7 @@ void TEA::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byt
word32 sum = m_limit;
while (sum != 0)
{
- z -= ((y << 4) + m_k[2]) ^ (y + sum) ^ ((y >> 5) + m_k[3]);
+ z -= ((y << 4) + m_k[2]) ^ (y + sum) ^ ((y >> 5) + m_k[3]);
y -= ((z << 4) + m_k[0]) ^ (z + sum) ^ ((z >> 5) + m_k[1]);
sum -= DELTA;
}
@@ -70,7 +73,7 @@ void XTEA::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, by
word32 sum = 0;
while (sum != m_limit)
#endif
- {
+ {
y += ((z<<4 ^ z>>5) + z) ^ (sum + m_k[sum&3]);
sum += DELTA;
z += ((y<<4 ^ y>>5) + y) ^ (sum + m_k[sum>>11 & 3]);
@@ -116,9 +119,9 @@ void BTEA::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, by
word32 y = v[0], z = v[n-1], e;
word32 p, q = 6+52/n;
word32 sum = 0;
-
+
while (q-- > 0)
- {
+ {
sum += DELTA;
e = sum>>2 & 3;
for (p = 0; p < n-1; p++)
@@ -148,7 +151,7 @@ void BTEA::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, by
word32 sum = q * DELTA;
while (sum != 0)
- {
+ {
e = sum>>2 & 3;
for (p = n-1; p > 0; p--)
{