summaryrefslogtreecommitdiffstats
path: root/lib/lz4.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lz4.c')
-rw-r--r--lib/lz4.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/lz4.c b/lib/lz4.c
index b2d9293..d23d6b9 100644
--- a/lib/lz4.c
+++ b/lib/lz4.c
@@ -206,7 +206,7 @@ static void LZ4_write16(void* memPtr, U16 value)
memcpy(memPtr, &value, sizeof(value));
}
-#endif // LZ4_FORCE_DIRECT_MEMORY_ACCESS
+#endif // LZ4_FORCE_MEMORY_ACCESS
static U16 LZ4_readLE16(const void* memPtr)
@@ -247,6 +247,13 @@ static void LZ4_wildCopy(void* dstPtr, const void* srcPtr, void* dstEnd)
BYTE* d = (BYTE*)dstPtr;
const BYTE* s = (const BYTE*)srcPtr;
BYTE* const e = (BYTE*)dstEnd;
+
+#if 1
+ const size_t l2 = 8 - (((size_t)d) & (sizeof(void*)-1));
+ LZ4_copy8(d,s); if (d>e-9) return;
+ d+=l2; s+=l2;
+#endif // join to align
+
do { LZ4_copy8(d,s); d+=8; s+=8; } while (d<e);
}