| 368 | } |
| 369 | |
| 370 | static void MixTail32(HashState32* hash_state, const unsigned char * & data, int & len) |
| 371 | { |
| 372 | const uint32_t m = 0x5bd1e995; |
| 373 | const int r = 24; |
| 374 | |
| 375 | while( len && ((len<4) || hash_state->m_Count) ) |
| 376 | { |
| 377 | uint32_t d = *data++; |
| 378 | hash_state->m_Tail |= d << uint32_t(hash_state->m_Count * 8); |
| 379 | |
| 380 | hash_state->m_Count++; |
| 381 | len--; |
| 382 | |
| 383 | if(hash_state->m_Count == 4) |
| 384 | { |
| 385 | mmix(hash_state->m_Hash, hash_state->m_Tail); |
| 386 | hash_state->m_Tail = 0; |
| 387 | hash_state->m_Count = 0; |
| 388 | } |
| 389 | } |
| 390 | } |
| 391 | |
| 392 | void dmHashUpdateBuffer32(HashState32* hash_state, const void* buffer, uint32_t buffer_len) |
| 393 | { |
no outgoing calls
no test coverage detected