Fixes bug 24633; bugfix on 0.2.9.1-alpha.
--- /dev/null
+ o Minor bugfixes (portability, msvc):
+ - Fix a bug in the bit-counting parts of our timing-wheel code on
+ MSVC. (Note that MSVC is still not a supported build platform,
+ due to cyptographic timing channel risks.) Fixes bug 24633;
+ bugfix on 0.2.9.1-alpha.
{
DWORD zeros = 0;
_BitScanReverse(&zeros, val);
- return zeros;
+ return 31 - zeros;
}
#ifdef _WIN64
/* According to the documentation, these only exist on Win64. */
{
DWORD zeros = 0;
_BitScanReverse64(&zeros, val);
- return zeros;
+ return 63 - zeros;
}
#else
static __inline int ctz64(uint64_t val)