diff options
-rw-r--r-- | uthash.h | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -449,15 +449,25 @@ do { | |||
449 | hashv += keylen; \ | 449 | hashv += keylen; \ |
450 | switch ( _hj_k ) { \ | 450 | switch ( _hj_k ) { \ |
451 | case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); \ | 451 | case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); \ |
452 | [[fallthrough]]; \ | ||
452 | case 10: hashv += ( (unsigned)_hj_key[9] << 16 ); \ | 453 | case 10: hashv += ( (unsigned)_hj_key[9] << 16 ); \ |
454 | [[fallthrough]]; \ | ||
453 | case 9: hashv += ( (unsigned)_hj_key[8] << 8 ); \ | 455 | case 9: hashv += ( (unsigned)_hj_key[8] << 8 ); \ |
456 | [[fallthrough]]; \ | ||
454 | case 8: _hj_j += ( (unsigned)_hj_key[7] << 24 ); \ | 457 | case 8: _hj_j += ( (unsigned)_hj_key[7] << 24 ); \ |
458 | [[fallthrough]]; \ | ||
455 | case 7: _hj_j += ( (unsigned)_hj_key[6] << 16 ); \ | 459 | case 7: _hj_j += ( (unsigned)_hj_key[6] << 16 ); \ |
460 | [[fallthrough]]; \ | ||
456 | case 6: _hj_j += ( (unsigned)_hj_key[5] << 8 ); \ | 461 | case 6: _hj_j += ( (unsigned)_hj_key[5] << 8 ); \ |
462 | [[fallthrough]]; \ | ||
457 | case 5: _hj_j += _hj_key[4]; \ | 463 | case 5: _hj_j += _hj_key[4]; \ |
464 | [[fallthrough]]; \ | ||
458 | case 4: _hj_i += ( (unsigned)_hj_key[3] << 24 ); \ | 465 | case 4: _hj_i += ( (unsigned)_hj_key[3] << 24 ); \ |
466 | [[fallthrough]]; \ | ||
459 | case 3: _hj_i += ( (unsigned)_hj_key[2] << 16 ); \ | 467 | case 3: _hj_i += ( (unsigned)_hj_key[2] << 16 ); \ |
468 | [[fallthrough]]; \ | ||
460 | case 2: _hj_i += ( (unsigned)_hj_key[1] << 8 ); \ | 469 | case 2: _hj_i += ( (unsigned)_hj_key[1] << 8 ); \ |
470 | [[fallthrough]]; \ | ||
461 | case 1: _hj_i += _hj_key[0]; \ | 471 | case 1: _hj_i += _hj_key[0]; \ |
462 | } \ | 472 | } \ |
463 | HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ | 473 | HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ |