]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
minor static assert for 32/64 bits system. Suggested by @ebiggers
authorYann Collet <yann.collet.73@gmail.com>
Sun, 17 Jul 2016 13:53:18 +0000 (15:53 +0200)
committerYann Collet <yann.collet.73@gmail.com>
Sun, 17 Jul 2016 13:53:18 +0000 (15:53 +0200)
NEWS
lib/common/mem.h

diff --git a/NEWS b/NEWS
index 04e649362115a0b706c69ad755e55bacb245b9cb..2c318462b9ccd425800b3ddf1701ec1c582f020e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+v0.7.5
+Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
+
 v0.7.4
 Added : homebrew for Mac
 Added : more examples
index 9156bfda904c46afd3b0e40d773d87aa5c9735c4..f76c52d9f2d87210acd0f47daa1616527c955c70 100644 (file)
@@ -44,16 +44,14 @@ extern "C" {
 ******************************************/
 #include <stddef.h>     /* size_t, ptrdiff_t */
 #include <string.h>     /* memcpy */
-#if defined(_MSC_VER)   /* Visual Studio */
-#   include <stdlib.h>  /* _byteswap_ulong */
-#endif
 
 
 /*-****************************************
 *  Compiler specifics
 ******************************************/
-#if defined(_MSC_VER)
-#   include <intrin.h>   /* _byteswap_ */
+#if defined(_MSC_VER)   /* Visual Studio */
+#   include <stdlib.h>  /* _byteswap_ulong */
+#   include <intrin.h>  /* _byteswap_* */
 #endif
 #if defined(__GNUC__)
 #  define MEM_STATIC static __attribute__((unused))
@@ -65,6 +63,10 @@ extern "C" {
 #  define MEM_STATIC static  /* this version may generate warnings for unused static functions; disable the relevant warning */
 #endif
 
+/* code only tested on 32 and 64 bits systems */
+#define MEM_STATIC_ASSERT(c)   { enum { XXH_static_assert = 1/(int)(!!(c)) }; }
+MEM_STATIC void MEM_check(void) { MEM_STATIC_ASSERT((sizeof(size_t)==4) || (sizeof(size_t)==8)); }
+
 
 /*-**************************************************************
 *  Basic Types