1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Rewrote SHA256 code to avoid spurious warning.

This commit is contained in:
jules 2012-11-29 12:57:14 +00:00
parent 1b8e22ca2b
commit 56097bf314

View file

@ -57,11 +57,15 @@ public:
uint32 block[16], s[8];
memcpy (s, state, sizeof (s));
for (int i = 0; i < 16; ++i)
block[i] = ByteOrder::bigEndianInt (addBytesToPointer (data, i * 4));
for (uint32 j = 0; j < 64; j += 16)
{
#define JUCE_SHA256(i) s[(7 - i) & 7] += S1 (s[(4 - i) & 7]) + ch (s[(4 - i) & 7], s[(5 - i) & 7], s[(6 - i) & 7]) + constants[i + j] \
#define JUCE_SHA256(i) \
s[(7 - i) & 7] += S1 (s[(4 - i) & 7]) + ch (s[(4 - i) & 7], s[(5 - i) & 7], s[(6 - i) & 7]) + constants[i + j] \
+ (j != 0 ? (block[i & 15] += s1 (block[(i - 2) & 15]) + block[(i - 7) & 15] + s0 (block[(i - 15) & 15])) \
: (block[i] = ByteOrder::bigEndianInt (addBytesToPointer (data, i * 4)))); \
: block[i]); \
s[(3 - i) & 7] += s[(7 - i) & 7]; \
s[(7 - i) & 7] += S0 (s[(0 - i) & 7]) + maj (s[(0 - i) & 7], s[(1 - i) & 7], s[(2 - i) & 7])