a = b = c = 0xdeadbeef + ((uint32_t)length) + initval;
u.ptr = key;
+#ifndef WORDS_BIGENDIAN
if ((u.i & 0x3) == 0)
{
const uint32_t *k = (const uint32_t *)key; /* read 32-bit chunks */
case 2 : a+=k[0]&0xffff; break;
case 1 : a+=k[0]&0xff; break;
case 0 : return c; /* zero length strings require no mixing */
+ default: return c;
}
}
case 1 : a+=k8[0];
break;
case 0 : return c; /* zero length requires no mixing */
+ default: return c;
}
}
else
{ /* need to read the key one byte at a time */
+#endif /* little endian */
const uint8_t *k = (const uint8_t *)key;
/*--------------- all but the last block: affect some 32 bits of (a,b,c) */
case 1 : a+=k[0];
break;
case 0 : return c;
+ default : return c;
}
+#ifndef WORDS_BIGENDIAN
}
+#endif
final(a,b,c);
return c;