Hello Eric,
On Wed, Feb 08, 2017 at 09:24:25PM -0800, Eric Biggers wrote:
Also I noticed another bug, this time in LZ4_count():
quoted
#if defined(CONFIG_64BIT)
#define LZ4_ARCH64 1
#else
#define LZ4_ARCH64 0
#endif
...
quoted
#ifdef LZ4_ARCH64
if ((pIn < (pInLimit-3))
&& (LZ4_read32(pMatch) == LZ4_read32(pIn))) {
pIn += 4; pMatch += 4;
}
#endif
Because of how LZ4_ARCH64 is defined, it needs to be '#if LZ4_ARCH64'.
But I also think the way upstream LZ4 does 64-bit detection could have just been
left as-is; it has a function which gets inlined:
static unsigned LZ4_64bits(void) { return sizeof(void*)==8; }
Thanks for looking this.
If you have a fix, could you send a patch? I'm happy to test it.