extzstd 0.0.3.CONCEPT-x86-mingw32 → 0.1-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/HISTORY.ja +5 -0
 - data/LICENSE +6 -6
 - data/README.md +35 -22
 - data/contrib/zstd/LICENSE +13 -9
 - data/contrib/zstd/README.md +37 -44
 - data/contrib/zstd/common/entropy_common.c +33 -39
 - data/contrib/zstd/common/error_private.c +43 -0
 - data/contrib/zstd/common/error_private.h +11 -60
 - data/contrib/zstd/common/fse.h +11 -5
 - data/contrib/zstd/common/fse_decompress.c +14 -16
 - data/contrib/zstd/common/huf.h +1 -1
 - data/contrib/zstd/common/mem.h +36 -43
 - data/contrib/zstd/common/xxhash.c +31 -18
 - data/contrib/zstd/common/xxhash.h +71 -35
 - data/contrib/zstd/common/zbuff.h +29 -35
 - data/contrib/zstd/common/zstd_common.c +24 -32
 - data/contrib/zstd/common/zstd_errors.h +60 -0
 - data/contrib/zstd/common/zstd_internal.h +109 -80
 - data/contrib/zstd/compress/fse_compress.c +9 -6
 - data/contrib/zstd/compress/huf_compress.c +30 -74
 - data/contrib/zstd/compress/zbuff_compress.c +43 -51
 - data/contrib/zstd/compress/zstd_compress.c +953 -763
 - data/contrib/zstd/compress/zstd_opt.h +115 -261
 - data/contrib/zstd/decompress/huf_decompress.c +29 -40
 - data/contrib/zstd/decompress/zbuff_decompress.c +36 -78
 - data/contrib/zstd/decompress/zstd_decompress.c +976 -496
 - data/contrib/zstd/dictBuilder/divsufsort.h +5 -5
 - data/contrib/zstd/dictBuilder/zdict.c +194 -229
 - data/contrib/zstd/dictBuilder/zdict.h +66 -68
 - data/contrib/zstd/legacy/zstd_legacy.h +168 -49
 - data/contrib/zstd/legacy/zstd_v01.c +95 -178
 - data/contrib/zstd/legacy/zstd_v01.h +12 -32
 - data/contrib/zstd/legacy/zstd_v02.c +48 -274
 - data/contrib/zstd/legacy/zstd_v02.h +12 -32
 - data/contrib/zstd/legacy/zstd_v03.c +48 -274
 - data/contrib/zstd/legacy/zstd_v03.h +12 -32
 - data/contrib/zstd/legacy/zstd_v04.c +63 -320
 - data/contrib/zstd/legacy/zstd_v04.h +13 -33
 - data/contrib/zstd/legacy/zstd_v05.c +80 -345
 - data/contrib/zstd/legacy/zstd_v05.h +9 -31
 - data/contrib/zstd/legacy/zstd_v06.c +48 -458
 - data/contrib/zstd/legacy/zstd_v06.h +41 -67
 - data/contrib/zstd/legacy/zstd_v07.c +4544 -0
 - data/contrib/zstd/legacy/zstd_v07.h +173 -0
 - data/contrib/zstd/zstd.h +640 -0
 - data/ext/extconf.rb +7 -3
 - data/ext/extzstd.c +263 -106
 - data/ext/extzstd.h +8 -6
 - data/ext/extzstd_nogvls.h +0 -117
 - data/ext/extzstd_stream.c +347 -0
 - data/ext/zstd_common.c +8 -0
 - data/ext/zstd_compress.c +6 -0
 - data/ext/zstd_decompress.c +5 -0
 - data/ext/zstd_dictbuilder.c +5 -0
 - data/ext/zstd_legacy_v07.c +1 -0
 - data/gemstub.rb +18 -16
 - data/lib/2.1/extzstd.so +0 -0
 - data/lib/2.2/extzstd.so +0 -0
 - data/lib/2.3/extzstd.so +0 -0
 - data/lib/extzstd/version.rb +1 -1
 - data/lib/extzstd.rb +77 -43
 - data/test/test_basic.rb +11 -6
 - metadata +23 -11
 - data/contrib/zstd/common/error_public.h +0 -77
 - data/contrib/zstd/common/zstd.h +0 -475
 - data/ext/extzstd_buffered.c +0 -265
 - data/ext/zstd_amalgam.c +0 -18
 - data/lib/2.0/extzstd.so +0 -0
 
| 
         @@ -1,90 +1,26 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
               met:
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                   * Redistributions of source code must retain the above copyright
         
     | 
| 
       12 
     | 
    
         
            -
               notice, this list of conditions and the following disclaimer.
         
     | 
| 
       13 
     | 
    
         
            -
                   * Redistributions in binary form must reproduce the above
         
     | 
| 
       14 
     | 
    
         
            -
               copyright notice, this list of conditions and the following disclaimer
         
     | 
| 
       15 
     | 
    
         
            -
               in the documentation and/or other materials provided with the
         
     | 
| 
       16 
     | 
    
         
            -
               distribution.
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
               THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
         
     | 
| 
       19 
     | 
    
         
            -
               "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
         
     | 
| 
       20 
     | 
    
         
            -
               LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
         
     | 
| 
       21 
     | 
    
         
            -
               A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
         
     | 
| 
       22 
     | 
    
         
            -
               OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         
     | 
| 
       23 
     | 
    
         
            -
               SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
         
     | 
| 
       24 
     | 
    
         
            -
               LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
         
     | 
| 
       25 
     | 
    
         
            -
               DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
         
     | 
| 
       26 
     | 
    
         
            -
               THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
         
     | 
| 
       27 
     | 
    
         
            -
               (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
         
     | 
| 
       28 
     | 
    
         
            -
               OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
         
     | 
| 
      
 1 
     | 
    
         
            +
            /**
         
     | 
| 
      
 2 
     | 
    
         
            +
             * Copyright (c) 2016-present, Yann Collet, Facebook, Inc.
         
     | 
| 
      
 3 
     | 
    
         
            +
             * All rights reserved.
         
     | 
| 
      
 4 
     | 
    
         
            +
             *
         
     | 
| 
      
 5 
     | 
    
         
            +
             * This source code is licensed under the BSD-style license found in the
         
     | 
| 
      
 6 
     | 
    
         
            +
             * LICENSE file in the root directory of this source tree. An additional grant
         
     | 
| 
      
 7 
     | 
    
         
            +
             * of patent rights can be found in the PATENTS file in the same directory.
         
     | 
| 
      
 8 
     | 
    
         
            +
             */
         
     | 
| 
       29 
9 
     | 
    
         | 
| 
       30 
     | 
    
         
            -
               You can contact the author at :
         
     | 
| 
       31 
     | 
    
         
            -
               - Source repository : https://github.com/Cyan4973/FiniteStateEntropy
         
     | 
| 
       32 
     | 
    
         
            -
               - Public forum : https://groups.google.com/forum/#!forum/lz4c
         
     | 
| 
       33 
     | 
    
         
            -
            ****************************************************************** */
         
     | 
| 
       34 
     | 
    
         
            -
            #ifndef ERROR_H_MODULE
         
     | 
| 
       35 
     | 
    
         
            -
            #define ERROR_H_MODULE
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
            #if defined (__cplusplus)
         
     | 
| 
       38 
     | 
    
         
            -
            extern "C" {
         
     | 
| 
       39 
     | 
    
         
            -
            #endif
         
     | 
| 
       40 
10 
     | 
    
         | 
| 
       41 
11 
     | 
    
         
             
            #include <stddef.h>    /* size_t, ptrdiff_t */
         
     | 
| 
       42 
12 
     | 
    
         
             
            #include "zstd_v02.h"
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
            /******************************************
         
     | 
| 
       45 
     | 
    
         
            -
            *  Compiler-specific
         
     | 
| 
       46 
     | 
    
         
            -
            ******************************************/
         
     | 
| 
       47 
     | 
    
         
            -
            #if defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */)
         
     | 
| 
       48 
     | 
    
         
            -
            #  define ERR_STATIC static inline
         
     | 
| 
       49 
     | 
    
         
            -
            #elif defined(_MSC_VER)
         
     | 
| 
       50 
     | 
    
         
            -
            #  define ERR_STATIC static __inline
         
     | 
| 
       51 
     | 
    
         
            -
            #elif defined(__GNUC__)
         
     | 
| 
       52 
     | 
    
         
            -
            #  define ERR_STATIC static __attribute__((unused))
         
     | 
| 
       53 
     | 
    
         
            -
            #else
         
     | 
| 
       54 
     | 
    
         
            -
            #  define ERR_STATIC static  /* this version may generate warnings for unused static functions; disable the relevant warning */
         
     | 
| 
       55 
     | 
    
         
            -
            #endif
         
     | 
| 
      
 13 
     | 
    
         
            +
            #include "error_private.h"
         
     | 
| 
       56 
14 
     | 
    
         | 
| 
       57 
15 
     | 
    
         | 
| 
       58 
16 
     | 
    
         
             
            /******************************************
         
     | 
| 
       59 
     | 
    
         
            -
            *   
     | 
| 
      
 17 
     | 
    
         
            +
            *  Compiler-specific
         
     | 
| 
       60 
18 
     | 
    
         
             
            ******************************************/
         
     | 
| 
       61 
     | 
    
         
            -
            # 
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
       63 
     | 
    
         
            -
            # 
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
            #define ERROR_LIST(ITEM) \
         
     | 
| 
       66 
     | 
    
         
            -
                    ITEM(PREFIX(No_Error)) ITEM(PREFIX(GENERIC)) \
         
     | 
| 
       67 
     | 
    
         
            -
                    ITEM(PREFIX(memory_allocation)) \
         
     | 
| 
       68 
     | 
    
         
            -
                    ITEM(PREFIX(dstSize_tooSmall)) ITEM(PREFIX(srcSize_wrong)) \
         
     | 
| 
       69 
     | 
    
         
            -
                    ITEM(PREFIX(prefix_unknown)) ITEM(PREFIX(corruption_detected)) \
         
     | 
| 
       70 
     | 
    
         
            -
                    ITEM(PREFIX(tableLog_tooLarge)) ITEM(PREFIX(maxSymbolValue_tooLarge)) ITEM(PREFIX(maxSymbolValue_tooSmall)) \
         
     | 
| 
       71 
     | 
    
         
            -
                    ITEM(PREFIX(maxCode))
         
     | 
| 
       72 
     | 
    
         
            -
             
     | 
| 
       73 
     | 
    
         
            -
            #define ERROR_GENERATE_ENUM(ENUM) ENUM,
         
     | 
| 
       74 
     | 
    
         
            -
            typedef enum { ERROR_LIST(ERROR_GENERATE_ENUM) } ERR_codes;  /* enum is exposed, to detect & handle specific errors; compare function result to -enum value */
         
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
       76 
     | 
    
         
            -
            #define ERROR_CONVERTTOSTRING(STRING) #STRING,
         
     | 
| 
       77 
     | 
    
         
            -
            #define ERROR_GENERATE_STRING(EXPR) ERROR_CONVERTTOSTRING(EXPR)
         
     | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
       79 
     | 
    
         
            -
            ERR_STATIC unsigned ERR_isError(size_t code) { return (code > ERROR(maxCode)); }
         
     | 
| 
       80 
     | 
    
         
            -
             
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
       82 
     | 
    
         
            -
            #if defined (__cplusplus)
         
     | 
| 
       83 
     | 
    
         
            -
            }
         
     | 
| 
      
 19 
     | 
    
         
            +
            #if defined(_MSC_VER)   /* Visual Studio */
         
     | 
| 
      
 20 
     | 
    
         
            +
            #   include <stdlib.h>  /* _byteswap_ulong */
         
     | 
| 
      
 21 
     | 
    
         
            +
            #   include <intrin.h>  /* _byteswap_* */
         
     | 
| 
       84 
22 
     | 
    
         
             
            #endif
         
     | 
| 
       85 
23 
     | 
    
         | 
| 
       86 
     | 
    
         
            -
            #endif /* ERROR_H_MODULE */
         
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
       88 
24 
     | 
    
         | 
| 
       89 
25 
     | 
    
         
             
            /* ******************************************************************
         
     | 
| 
       90 
26 
     | 
    
         
             
               mem.h
         
     | 
| 
         @@ -190,7 +126,7 @@ extern "C" { 
     | 
|
| 
       190 
126 
     | 
    
         
             
            #ifndef MEM_FORCE_MEMORY_ACCESS   /* can be defined externally, on command line for example */
         
     | 
| 
       191 
127 
     | 
    
         
             
            #  if defined(__GNUC__) && ( defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) )
         
     | 
| 
       192 
128 
     | 
    
         
             
            #    define MEM_FORCE_MEMORY_ACCESS 2
         
     | 
| 
       193 
     | 
    
         
            -
            #  elif defined(__INTEL_COMPILER) || \
         
     | 
| 
      
 129 
     | 
    
         
            +
            #  elif (defined(__INTEL_COMPILER) && !defined(WIN32)) || \
         
     | 
| 
       194 
130 
     | 
    
         
             
              (defined(__GNUC__) && ( defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__) ))
         
     | 
| 
       195 
131 
     | 
    
         
             
            #    define MEM_FORCE_MEMORY_ACCESS 1
         
     | 
| 
       196 
132 
     | 
    
         
             
            #  endif
         
     | 
| 
         @@ -214,8 +150,6 @@ MEM_STATIC U32 MEM_read32(const void* memPtr) { return *(const U32*) memPtr; } 
     | 
|
| 
       214 
150 
     | 
    
         
             
            MEM_STATIC U64 MEM_read64(const void* memPtr) { return *(const U64*) memPtr; }
         
     | 
| 
       215 
151 
     | 
    
         | 
| 
       216 
152 
     | 
    
         
             
            MEM_STATIC void MEM_write16(void* memPtr, U16 value) { *(U16*)memPtr = value; }
         
     | 
| 
       217 
     | 
    
         
            -
            MEM_STATIC void MEM_write32(void* memPtr, U32 value) { *(U32*)memPtr = value; }
         
     | 
| 
       218 
     | 
    
         
            -
            MEM_STATIC void MEM_write64(void* memPtr, U64 value) { *(U64*)memPtr = value; }
         
     | 
| 
       219 
153 
     | 
    
         | 
| 
       220 
154 
     | 
    
         
             
            #elif defined(MEM_FORCE_MEMORY_ACCESS) && (MEM_FORCE_MEMORY_ACCESS==1)
         
     | 
| 
       221 
155 
     | 
    
         | 
| 
         @@ -228,8 +162,6 @@ MEM_STATIC U32 MEM_read32(const void* ptr) { return ((const unalign*)ptr)->u32; 
     | 
|
| 
       228 
162 
     | 
    
         
             
            MEM_STATIC U64 MEM_read64(const void* ptr) { return ((const unalign*)ptr)->u64; }
         
     | 
| 
       229 
163 
     | 
    
         | 
| 
       230 
164 
     | 
    
         
             
            MEM_STATIC void MEM_write16(void* memPtr, U16 value) { ((unalign*)memPtr)->u16 = value; }
         
     | 
| 
       231 
     | 
    
         
            -
            MEM_STATIC void MEM_write32(void* memPtr, U32 value) { ((unalign*)memPtr)->u32 = value; }
         
     | 
| 
       232 
     | 
    
         
            -
            MEM_STATIC void MEM_write64(void* memPtr, U64 value) { ((unalign*)memPtr)->u64 = value; }
         
     | 
| 
       233 
165 
     | 
    
         | 
| 
       234 
166 
     | 
    
         
             
            #else
         
     | 
| 
       235 
167 
     | 
    
         | 
| 
         @@ -256,16 +188,6 @@ MEM_STATIC void MEM_write16(void* memPtr, U16 value) 
     | 
|
| 
       256 
188 
     | 
    
         
             
                memcpy(memPtr, &value, sizeof(value));
         
     | 
| 
       257 
189 
     | 
    
         
             
            }
         
     | 
| 
       258 
190 
     | 
    
         | 
| 
       259 
     | 
    
         
            -
            MEM_STATIC void MEM_write32(void* memPtr, U32 value)
         
     | 
| 
       260 
     | 
    
         
            -
            {
         
     | 
| 
       261 
     | 
    
         
            -
                memcpy(memPtr, &value, sizeof(value));
         
     | 
| 
       262 
     | 
    
         
            -
            }
         
     | 
| 
       263 
     | 
    
         
            -
             
     | 
| 
       264 
     | 
    
         
            -
            MEM_STATIC void MEM_write64(void* memPtr, U64 value)
         
     | 
| 
       265 
     | 
    
         
            -
            {
         
     | 
| 
       266 
     | 
    
         
            -
                memcpy(memPtr, &value, sizeof(value));
         
     | 
| 
       267 
     | 
    
         
            -
            }
         
     | 
| 
       268 
     | 
    
         
            -
             
     | 
| 
       269 
191 
     | 
    
         
             
            #endif // MEM_FORCE_MEMORY_ACCESS
         
     | 
| 
       270 
192 
     | 
    
         | 
| 
       271 
193 
     | 
    
         | 
| 
         @@ -305,21 +227,6 @@ MEM_STATIC U32 MEM_readLE32(const void* memPtr) 
     | 
|
| 
       305 
227 
     | 
    
         
             
                }
         
     | 
| 
       306 
228 
     | 
    
         
             
            }
         
     | 
| 
       307 
229 
     | 
    
         | 
| 
       308 
     | 
    
         
            -
            MEM_STATIC void MEM_writeLE32(void* memPtr, U32 val32)
         
     | 
| 
       309 
     | 
    
         
            -
            {
         
     | 
| 
       310 
     | 
    
         
            -
                if (MEM_isLittleEndian())
         
     | 
| 
       311 
     | 
    
         
            -
                {
         
     | 
| 
       312 
     | 
    
         
            -
                    MEM_write32(memPtr, val32);
         
     | 
| 
       313 
     | 
    
         
            -
                }
         
     | 
| 
       314 
     | 
    
         
            -
                else
         
     | 
| 
       315 
     | 
    
         
            -
                {
         
     | 
| 
       316 
     | 
    
         
            -
                    BYTE* p = (BYTE*)memPtr;
         
     | 
| 
       317 
     | 
    
         
            -
                    p[0] = (BYTE)val32;
         
     | 
| 
       318 
     | 
    
         
            -
                    p[1] = (BYTE)(val32>>8);
         
     | 
| 
       319 
     | 
    
         
            -
                    p[2] = (BYTE)(val32>>16);
         
     | 
| 
       320 
     | 
    
         
            -
                    p[3] = (BYTE)(val32>>24);
         
     | 
| 
       321 
     | 
    
         
            -
                }
         
     | 
| 
       322 
     | 
    
         
            -
            }
         
     | 
| 
       323 
230 
     | 
    
         | 
| 
       324 
231 
     | 
    
         
             
            MEM_STATIC U64 MEM_readLE64(const void* memPtr)
         
     | 
| 
       325 
232 
     | 
    
         
             
            {
         
     | 
| 
         @@ -333,25 +240,6 @@ MEM_STATIC U64 MEM_readLE64(const void* memPtr) 
     | 
|
| 
       333 
240 
     | 
    
         
             
                }
         
     | 
| 
       334 
241 
     | 
    
         
             
            }
         
     | 
| 
       335 
242 
     | 
    
         | 
| 
       336 
     | 
    
         
            -
            MEM_STATIC void MEM_writeLE64(void* memPtr, U64 val64)
         
     | 
| 
       337 
     | 
    
         
            -
            {
         
     | 
| 
       338 
     | 
    
         
            -
                if (MEM_isLittleEndian())
         
     | 
| 
       339 
     | 
    
         
            -
                {
         
     | 
| 
       340 
     | 
    
         
            -
                    MEM_write64(memPtr, val64);
         
     | 
| 
       341 
     | 
    
         
            -
                }
         
     | 
| 
       342 
     | 
    
         
            -
                else
         
     | 
| 
       343 
     | 
    
         
            -
                {
         
     | 
| 
       344 
     | 
    
         
            -
                    BYTE* p = (BYTE*)memPtr;
         
     | 
| 
       345 
     | 
    
         
            -
                    p[0] = (BYTE)val64;
         
     | 
| 
       346 
     | 
    
         
            -
                    p[1] = (BYTE)(val64>>8);
         
     | 
| 
       347 
     | 
    
         
            -
                    p[2] = (BYTE)(val64>>16);
         
     | 
| 
       348 
     | 
    
         
            -
                    p[3] = (BYTE)(val64>>24);
         
     | 
| 
       349 
     | 
    
         
            -
                    p[4] = (BYTE)(val64>>32);
         
     | 
| 
       350 
     | 
    
         
            -
                    p[5] = (BYTE)(val64>>40);
         
     | 
| 
       351 
     | 
    
         
            -
                    p[6] = (BYTE)(val64>>48);
         
     | 
| 
       352 
     | 
    
         
            -
                    p[7] = (BYTE)(val64>>56);
         
     | 
| 
       353 
     | 
    
         
            -
                }
         
     | 
| 
       354 
     | 
    
         
            -
            }
         
     | 
| 
       355 
243 
     | 
    
         | 
| 
       356 
244 
     | 
    
         
             
            MEM_STATIC size_t MEM_readLEST(const void* memPtr)
         
     | 
| 
       357 
245 
     | 
    
         
             
            {
         
     | 
| 
         @@ -361,14 +249,6 @@ MEM_STATIC size_t MEM_readLEST(const void* memPtr) 
     | 
|
| 
       361 
249 
     | 
    
         
             
                    return (size_t)MEM_readLE64(memPtr);
         
     | 
| 
       362 
250 
     | 
    
         
             
            }
         
     | 
| 
       363 
251 
     | 
    
         | 
| 
       364 
     | 
    
         
            -
            MEM_STATIC void MEM_writeLEST(void* memPtr, size_t val)
         
     | 
| 
       365 
     | 
    
         
            -
            {
         
     | 
| 
       366 
     | 
    
         
            -
                if (MEM_32bits())
         
     | 
| 
       367 
     | 
    
         
            -
                    MEM_writeLE32(memPtr, (U32)val);
         
     | 
| 
       368 
     | 
    
         
            -
                else
         
     | 
| 
       369 
     | 
    
         
            -
                    MEM_writeLE64(memPtr, (U64)val);
         
     | 
| 
       370 
     | 
    
         
            -
            }
         
     | 
| 
       371 
     | 
    
         
            -
             
     | 
| 
       372 
252 
     | 
    
         
             
            #if defined (__cplusplus)
         
     | 
| 
       373 
253 
     | 
    
         
             
            }
         
     | 
| 
       374 
254 
     | 
    
         
             
            #endif
         
     | 
| 
         @@ -1198,12 +1078,15 @@ typedef struct ZSTD_DCtx_s ZSTD_DCtx; 
     | 
|
| 
       1198 
1078 
     | 
    
         
             
            #  pragma warning(disable : 4127)        /* disable: C4127: conditional expression is constant */
         
     | 
| 
       1199 
1079 
     | 
    
         
             
            #  pragma warning(disable : 4214)        /* disable: C4214: non-int bitfields */
         
     | 
| 
       1200 
1080 
     | 
    
         
             
            #else
         
     | 
| 
       1201 
     | 
    
         
            -
            #   
     | 
| 
       1202 
     | 
    
         
            -
            #     
     | 
| 
       1203 
     | 
    
         
            -
            # 
     | 
| 
      
 1081 
     | 
    
         
            +
            #  if defined (__cplusplus) || defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L   /* C99 */
         
     | 
| 
      
 1082 
     | 
    
         
            +
            #    ifdef __GNUC__
         
     | 
| 
      
 1083 
     | 
    
         
            +
            #      define FORCE_INLINE static inline __attribute__((always_inline))
         
     | 
| 
      
 1084 
     | 
    
         
            +
            #    else
         
     | 
| 
      
 1085 
     | 
    
         
            +
            #      define FORCE_INLINE static inline
         
     | 
| 
      
 1086 
     | 
    
         
            +
            #    endif
         
     | 
| 
       1204 
1087 
     | 
    
         
             
            #  else
         
     | 
| 
       1205 
     | 
    
         
            -
            #    define FORCE_INLINE static 
     | 
| 
       1206 
     | 
    
         
            -
            #  endif
         
     | 
| 
      
 1088 
     | 
    
         
            +
            #    define FORCE_INLINE static
         
     | 
| 
      
 1089 
     | 
    
         
            +
            #  endif /* __STDC_VERSION__ */
         
     | 
| 
       1207 
1090 
     | 
    
         
             
            #endif
         
     | 
| 
       1208 
1091 
     | 
    
         | 
| 
       1209 
1092 
     | 
    
         | 
| 
         @@ -1350,7 +1233,7 @@ static unsigned FSE_isError(size_t code) { return ERR_isError(code); } 
     | 
|
| 
       1350 
1233 
     | 
    
         
             
            ****************************************************************/
         
     | 
| 
       1351 
1234 
     | 
    
         
             
            static short FSE_abs(short a)
         
     | 
| 
       1352 
1235 
     | 
    
         
             
            {
         
     | 
| 
       1353 
     | 
    
         
            -
                return a<0 ? -a : a;
         
     | 
| 
      
 1236 
     | 
    
         
            +
                return (short)(a<0 ? -a : a);
         
     | 
| 
       1354 
1237 
     | 
    
         
             
            }
         
     | 
| 
       1355 
1238 
     | 
    
         | 
| 
       1356 
1239 
     | 
    
         
             
            static size_t FSE_readNCount (short* normalizedCounter, unsigned* maxSVPtr, unsigned* tableLogPtr,
         
     | 
| 
         @@ -1671,15 +1554,7 @@ static size_t FSE_decompress(void* dst, size_t maxDstSize, const void* cSrc, siz 
     | 
|
| 
       1671 
1554 
     | 
    
         | 
| 
       1672 
1555 
     | 
    
         | 
| 
       1673 
1556 
     | 
    
         
             
            #ifdef _MSC_VER    /* Visual Studio */
         
     | 
| 
       1674 
     | 
    
         
            -
            #  define FORCE_INLINE static __forceinline
         
     | 
| 
       1675 
1557 
     | 
    
         
             
            #  pragma warning(disable : 4127)        /* disable: C4127: conditional expression is constant */
         
     | 
| 
       1676 
     | 
    
         
            -
            #else
         
     | 
| 
       1677 
     | 
    
         
            -
            #  ifdef __GNUC__
         
     | 
| 
       1678 
     | 
    
         
            -
            #    define GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
         
     | 
| 
       1679 
     | 
    
         
            -
            #    define FORCE_INLINE static inline __attribute__((always_inline))
         
     | 
| 
       1680 
     | 
    
         
            -
            #  else
         
     | 
| 
       1681 
     | 
    
         
            -
            #    define FORCE_INLINE static inline
         
     | 
| 
       1682 
     | 
    
         
            -
            #  endif
         
     | 
| 
       1683 
1558 
     | 
    
         
             
            #endif
         
     | 
| 
       1684 
1559 
     | 
    
         | 
| 
       1685 
1560 
     | 
    
         | 
| 
         @@ -1732,10 +1607,12 @@ static size_t HUF_readStats(BYTE* huffWeight, size_t hwSize, U32* rankStats, 
     | 
|
| 
       1732 
1607 
     | 
    
         
             
                U32 weightTotal;
         
     | 
| 
       1733 
1608 
     | 
    
         
             
                U32 tableLog;
         
     | 
| 
       1734 
1609 
     | 
    
         
             
                const BYTE* ip = (const BYTE*) src;
         
     | 
| 
       1735 
     | 
    
         
            -
                size_t iSize 
     | 
| 
      
 1610 
     | 
    
         
            +
                size_t iSize;
         
     | 
| 
       1736 
1611 
     | 
    
         
             
                size_t oSize;
         
     | 
| 
       1737 
1612 
     | 
    
         
             
                U32 n;
         
     | 
| 
       1738 
1613 
     | 
    
         | 
| 
      
 1614 
     | 
    
         
            +
                if (!srcSize) return ERROR(srcSize_wrong);
         
     | 
| 
      
 1615 
     | 
    
         
            +
                iSize = ip[0];
         
     | 
| 
       1739 
1616 
     | 
    
         
             
                //memset(huffWeight, 0, hwSize);   /* is not necessary, even though some analyzer complain ... */
         
     | 
| 
       1740 
1617 
     | 
    
         | 
| 
       1741 
1618 
     | 
    
         
             
                if (iSize >= 128)  /* special header */
         
     | 
| 
         @@ -1777,6 +1654,7 @@ static size_t HUF_readStats(BYTE* huffWeight, size_t hwSize, U32* rankStats, 
     | 
|
| 
       1777 
1654 
     | 
    
         
             
                    rankStats[huffWeight[n]]++;
         
     | 
| 
       1778 
1655 
     | 
    
         
             
                    weightTotal += (1 << huffWeight[n]) >> 1;
         
     | 
| 
       1779 
1656 
     | 
    
         
             
                }
         
     | 
| 
      
 1657 
     | 
    
         
            +
                if (weightTotal == 0) return ERROR(corruption_detected);
         
     | 
| 
       1780 
1658 
     | 
    
         | 
| 
       1781 
1659 
     | 
    
         
             
                /* get last non-null symbol weight (implied, total must be 2^n) */
         
     | 
| 
       1782 
1660 
     | 
    
         
             
                tableLog = BIT_highbit32(weightTotal) + 1;
         
     | 
| 
         @@ -2866,17 +2744,9 @@ static size_t HUF_decompress (void* dst, size_t dstSize, const void* cSrc, size_ 
     | 
|
| 
       2866 
2744 
     | 
    
         
             
            #endif
         
     | 
| 
       2867 
2745 
     | 
    
         | 
| 
       2868 
2746 
     | 
    
         
             
            #ifdef _MSC_VER    /* Visual Studio */
         
     | 
| 
       2869 
     | 
    
         
            -
            #  define FORCE_INLINE static __forceinline
         
     | 
| 
       2870 
2747 
     | 
    
         
             
            #  include <intrin.h>                    /* For Visual 2005 */
         
     | 
| 
       2871 
2748 
     | 
    
         
             
            #  pragma warning(disable : 4127)        /* disable: C4127: conditional expression is constant */
         
     | 
| 
       2872 
2749 
     | 
    
         
             
            #  pragma warning(disable : 4324)        /* disable: C4324: padded structure */
         
     | 
| 
       2873 
     | 
    
         
            -
            #else
         
     | 
| 
       2874 
     | 
    
         
            -
            #  define GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
         
     | 
| 
       2875 
     | 
    
         
            -
            #  ifdef __GNUC__
         
     | 
| 
       2876 
     | 
    
         
            -
            #    define FORCE_INLINE static inline __attribute__((always_inline))
         
     | 
| 
       2877 
     | 
    
         
            -
            #  else
         
     | 
| 
       2878 
     | 
    
         
            -
            #    define FORCE_INLINE static inline
         
     | 
| 
       2879 
     | 
    
         
            -
            #  endif
         
     | 
| 
       2880 
2750 
     | 
    
         
             
            #endif
         
     | 
| 
       2881 
2751 
     | 
    
         | 
| 
       2882 
2752 
     | 
    
         | 
| 
         @@ -2983,98 +2853,6 @@ typedef struct { 
     | 
|
| 
       2983 
2853 
     | 
    
         
             
            static unsigned ZSTD_isError(size_t code) { return ERR_isError(code); }
         
     | 
| 
       2984 
2854 
     | 
    
         | 
| 
       2985 
2855 
     | 
    
         | 
| 
       2986 
     | 
    
         
            -
            /* *************************************
         
     | 
| 
       2987 
     | 
    
         
            -
            *  Function body to include
         
     | 
| 
       2988 
     | 
    
         
            -
            ***************************************/
         
     | 
| 
       2989 
     | 
    
         
            -
            static size_t ZSTD_read_ARCH(const void* p) { size_t r; memcpy(&r, p, sizeof(r)); return r; }
         
     | 
| 
       2990 
     | 
    
         
            -
             
     | 
| 
       2991 
     | 
    
         
            -
            MEM_STATIC unsigned ZSTD_NbCommonBytes (register size_t val)
         
     | 
| 
       2992 
     | 
    
         
            -
            {
         
     | 
| 
       2993 
     | 
    
         
            -
                if (MEM_isLittleEndian())
         
     | 
| 
       2994 
     | 
    
         
            -
                {
         
     | 
| 
       2995 
     | 
    
         
            -
                    if (MEM_64bits())
         
     | 
| 
       2996 
     | 
    
         
            -
                    {
         
     | 
| 
       2997 
     | 
    
         
            -
            #       if defined(_MSC_VER) && defined(_WIN64) && !defined(LZ4_FORCE_SW_BITCOUNT)
         
     | 
| 
       2998 
     | 
    
         
            -
                        unsigned long r = 0;
         
     | 
| 
       2999 
     | 
    
         
            -
                        _BitScanForward64( &r, (U64)val );
         
     | 
| 
       3000 
     | 
    
         
            -
                        return (int)(r>>3);
         
     | 
| 
       3001 
     | 
    
         
            -
            #       elif defined(__GNUC__) && (__GNUC__ >= 3) && !defined(LZ4_FORCE_SW_BITCOUNT)
         
     | 
| 
       3002 
     | 
    
         
            -
                        return (__builtin_ctzll((U64)val) >> 3);
         
     | 
| 
       3003 
     | 
    
         
            -
            #       else
         
     | 
| 
       3004 
     | 
    
         
            -
                        static const int DeBruijnBytePos[64] = { 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 3, 1, 4, 2, 7, 0, 2, 3, 6, 1, 5, 3, 5, 1, 3, 4, 4, 2, 5, 6, 7, 7, 0, 1, 2, 3, 3, 4, 6, 2, 6, 5, 5, 3, 4, 5, 6, 7, 1, 2, 4, 6, 4, 4, 5, 7, 2, 6, 5, 7, 6, 7, 7 };
         
     | 
| 
       3005 
     | 
    
         
            -
                        return DeBruijnBytePos[((U64)((val & -(long long)val) * 0x0218A392CDABBD3FULL)) >> 58];
         
     | 
| 
       3006 
     | 
    
         
            -
            #       endif
         
     | 
| 
       3007 
     | 
    
         
            -
                    }
         
     | 
| 
       3008 
     | 
    
         
            -
                    else /* 32 bits */
         
     | 
| 
       3009 
     | 
    
         
            -
                    {
         
     | 
| 
       3010 
     | 
    
         
            -
            #       if defined(_MSC_VER) && !defined(LZ4_FORCE_SW_BITCOUNT)
         
     | 
| 
       3011 
     | 
    
         
            -
                        unsigned long r;
         
     | 
| 
       3012 
     | 
    
         
            -
                        _BitScanForward( &r, (U32)val );
         
     | 
| 
       3013 
     | 
    
         
            -
                        return (int)(r>>3);
         
     | 
| 
       3014 
     | 
    
         
            -
            #       elif defined(__GNUC__) && (__GNUC__ >= 3) && !defined(LZ4_FORCE_SW_BITCOUNT)
         
     | 
| 
       3015 
     | 
    
         
            -
                        return (__builtin_ctz((U32)val) >> 3);
         
     | 
| 
       3016 
     | 
    
         
            -
            #       else
         
     | 
| 
       3017 
     | 
    
         
            -
                        static const int DeBruijnBytePos[32] = { 0, 0, 3, 0, 3, 1, 3, 0, 3, 2, 2, 1, 3, 2, 0, 1, 3, 3, 1, 2, 2, 2, 2, 0, 3, 1, 2, 0, 1, 0, 1, 1 };
         
     | 
| 
       3018 
     | 
    
         
            -
                        return DeBruijnBytePos[((U32)((val & -(S32)val) * 0x077CB531U)) >> 27];
         
     | 
| 
       3019 
     | 
    
         
            -
            #       endif
         
     | 
| 
       3020 
     | 
    
         
            -
                    }
         
     | 
| 
       3021 
     | 
    
         
            -
                }
         
     | 
| 
       3022 
     | 
    
         
            -
                else   /* Big Endian CPU */
         
     | 
| 
       3023 
     | 
    
         
            -
                {
         
     | 
| 
       3024 
     | 
    
         
            -
                    if (MEM_32bits())
         
     | 
| 
       3025 
     | 
    
         
            -
                    {
         
     | 
| 
       3026 
     | 
    
         
            -
            #       if defined(_MSC_VER) && defined(_WIN64) && !defined(LZ4_FORCE_SW_BITCOUNT)
         
     | 
| 
       3027 
     | 
    
         
            -
                        unsigned long r = 0;
         
     | 
| 
       3028 
     | 
    
         
            -
                        _BitScanReverse64( &r, val );
         
     | 
| 
       3029 
     | 
    
         
            -
                        return (unsigned)(r>>3);
         
     | 
| 
       3030 
     | 
    
         
            -
            #       elif defined(__GNUC__) && (__GNUC__ >= 3) && !defined(LZ4_FORCE_SW_BITCOUNT)
         
     | 
| 
       3031 
     | 
    
         
            -
                        return (__builtin_clzll(val) >> 3);
         
     | 
| 
       3032 
     | 
    
         
            -
            #       else
         
     | 
| 
       3033 
     | 
    
         
            -
                        unsigned r;
         
     | 
| 
       3034 
     | 
    
         
            -
                        const unsigned n32 = sizeof(size_t)*4;   /* calculate this way due to compiler complaining in 32-bits mode */
         
     | 
| 
       3035 
     | 
    
         
            -
                        if (!(val>>n32)) { r=4; } else { r=0; val>>=n32; }
         
     | 
| 
       3036 
     | 
    
         
            -
                        if (!(val>>16)) { r+=2; val>>=8; } else { val>>=24; }
         
     | 
| 
       3037 
     | 
    
         
            -
                        r += (!val);
         
     | 
| 
       3038 
     | 
    
         
            -
                        return r;
         
     | 
| 
       3039 
     | 
    
         
            -
            #       endif
         
     | 
| 
       3040 
     | 
    
         
            -
                    }
         
     | 
| 
       3041 
     | 
    
         
            -
                    else /* 32 bits */
         
     | 
| 
       3042 
     | 
    
         
            -
                    {
         
     | 
| 
       3043 
     | 
    
         
            -
            #       if defined(_MSC_VER) && !defined(LZ4_FORCE_SW_BITCOUNT)
         
     | 
| 
       3044 
     | 
    
         
            -
                        unsigned long r = 0;
         
     | 
| 
       3045 
     | 
    
         
            -
                        _BitScanReverse( &r, (unsigned long)val );
         
     | 
| 
       3046 
     | 
    
         
            -
                        return (unsigned)(r>>3);
         
     | 
| 
       3047 
     | 
    
         
            -
            #       elif defined(__GNUC__) && (__GNUC__ >= 3) && !defined(LZ4_FORCE_SW_BITCOUNT)
         
     | 
| 
       3048 
     | 
    
         
            -
                        return (__builtin_clz((U32)val) >> 3);
         
     | 
| 
       3049 
     | 
    
         
            -
            #       else
         
     | 
| 
       3050 
     | 
    
         
            -
                        unsigned r;
         
     | 
| 
       3051 
     | 
    
         
            -
                        if (!(val>>16)) { r=2; val>>=8; } else { r=0; val>>=24; }
         
     | 
| 
       3052 
     | 
    
         
            -
                        r += (!val);
         
     | 
| 
       3053 
     | 
    
         
            -
                        return r;
         
     | 
| 
       3054 
     | 
    
         
            -
            #       endif
         
     | 
| 
       3055 
     | 
    
         
            -
                    }
         
     | 
| 
       3056 
     | 
    
         
            -
                }
         
     | 
| 
       3057 
     | 
    
         
            -
            }
         
     | 
| 
       3058 
     | 
    
         
            -
             
     | 
| 
       3059 
     | 
    
         
            -
             
     | 
| 
       3060 
     | 
    
         
            -
            MEM_STATIC size_t ZSTD_count(const BYTE* pIn, const BYTE* pMatch, const BYTE* pInLimit)
         
     | 
| 
       3061 
     | 
    
         
            -
            {
         
     | 
| 
       3062 
     | 
    
         
            -
                const BYTE* const pStart = pIn;
         
     | 
| 
       3063 
     | 
    
         
            -
             
     | 
| 
       3064 
     | 
    
         
            -
                while ((pIn<pInLimit-(sizeof(size_t)-1)))
         
     | 
| 
       3065 
     | 
    
         
            -
                {
         
     | 
| 
       3066 
     | 
    
         
            -
                    size_t diff = ZSTD_read_ARCH(pMatch) ^ ZSTD_read_ARCH(pIn);
         
     | 
| 
       3067 
     | 
    
         
            -
                    if (!diff) { pIn+=sizeof(size_t); pMatch+=sizeof(size_t); continue; }
         
     | 
| 
       3068 
     | 
    
         
            -
                    pIn += ZSTD_NbCommonBytes(diff);
         
     | 
| 
       3069 
     | 
    
         
            -
                    return (size_t)(pIn - pStart);
         
     | 
| 
       3070 
     | 
    
         
            -
                }
         
     | 
| 
       3071 
     | 
    
         
            -
             
     | 
| 
       3072 
     | 
    
         
            -
                if (MEM_32bits()) if ((pIn<(pInLimit-3)) && (MEM_read32(pMatch) == MEM_read32(pIn))) { pIn+=4; pMatch+=4; }
         
     | 
| 
       3073 
     | 
    
         
            -
                if ((pIn<(pInLimit-1)) && (MEM_read16(pMatch) == MEM_read16(pIn))) { pIn+=2; pMatch+=2; }
         
     | 
| 
       3074 
     | 
    
         
            -
                if ((pIn<pInLimit) && (*pMatch == *pIn)) pIn++;
         
     | 
| 
       3075 
     | 
    
         
            -
                return (size_t)(pIn - pStart);
         
     | 
| 
       3076 
     | 
    
         
            -
            }
         
     | 
| 
       3077 
     | 
    
         
            -
             
     | 
| 
       3078 
2856 
     | 
    
         | 
| 
       3079 
2857 
     | 
    
         
             
            /* *************************************************************
         
     | 
| 
       3080 
2858 
     | 
    
         
             
            *   Decompression section
         
     | 
| 
         @@ -3244,7 +3022,6 @@ static size_t ZSTD_decodeSeqHeaders(int* nbSeq, const BYTE** dumpsPtr, size_t* d 
     | 
|
| 
       3244 
3022 
     | 
    
         
             
                    /* Build DTables */
         
     | 
| 
       3245 
3023 
     | 
    
         
             
                    switch(LLtype)
         
     | 
| 
       3246 
3024 
     | 
    
         
             
                    {
         
     | 
| 
       3247 
     | 
    
         
            -
                    U32 max;
         
     | 
| 
       3248 
3025 
     | 
    
         
             
                    case bt_rle :
         
     | 
| 
       3249 
3026 
     | 
    
         
             
                        LLlog = 0;
         
     | 
| 
       3250 
3027 
     | 
    
         
             
                        FSE_buildDTable_rle(DTableLL, *ip++); break;
         
     | 
| 
         @@ -3252,17 +3029,16 @@ static size_t ZSTD_decodeSeqHeaders(int* nbSeq, const BYTE** dumpsPtr, size_t* d 
     | 
|
| 
       3252 
3029 
     | 
    
         
             
                        LLlog = LLbits;
         
     | 
| 
       3253 
3030 
     | 
    
         
             
                        FSE_buildDTable_raw(DTableLL, LLbits); break;
         
     | 
| 
       3254 
3031 
     | 
    
         
             
                    default :
         
     | 
| 
       3255 
     | 
    
         
            -
                        max = MaxLL;
         
     | 
| 
       3256 
     | 
    
         
            -
             
     | 
| 
       3257 
     | 
    
         
            -
             
     | 
| 
       3258 
     | 
    
         
            -
             
     | 
| 
       3259 
     | 
    
         
            -
             
     | 
| 
       3260 
     | 
    
         
            -
             
     | 
| 
       3261 
     | 
    
         
            -
                    }
         
     | 
| 
      
 3032 
     | 
    
         
            +
                        {   U32 max = MaxLL;
         
     | 
| 
      
 3033 
     | 
    
         
            +
                            headerSize = FSE_readNCount(norm, &max, &LLlog, ip, iend-ip);
         
     | 
| 
      
 3034 
     | 
    
         
            +
                            if (FSE_isError(headerSize)) return ERROR(GENERIC);
         
     | 
| 
      
 3035 
     | 
    
         
            +
                            if (LLlog > LLFSELog) return ERROR(corruption_detected);
         
     | 
| 
      
 3036 
     | 
    
         
            +
                            ip += headerSize;
         
     | 
| 
      
 3037 
     | 
    
         
            +
                            FSE_buildDTable(DTableLL, norm, max, LLlog);
         
     | 
| 
      
 3038 
     | 
    
         
            +
                    }   }
         
     | 
| 
       3262 
3039 
     | 
    
         | 
| 
       3263 
3040 
     | 
    
         
             
                    switch(Offtype)
         
     | 
| 
       3264 
3041 
     | 
    
         
             
                    {
         
     | 
| 
       3265 
     | 
    
         
            -
                    U32 max;
         
     | 
| 
       3266 
3042 
     | 
    
         
             
                    case bt_rle :
         
     | 
| 
       3267 
3043 
     | 
    
         
             
                        Offlog = 0;
         
     | 
| 
       3268 
3044 
     | 
    
         
             
                        if (ip > iend-2) return ERROR(srcSize_wrong);   /* min : "raw", hence no header, but at least xxLog bits */
         
     | 
| 
         @@ -3272,17 +3048,16 @@ static size_t ZSTD_decodeSeqHeaders(int* nbSeq, const BYTE** dumpsPtr, size_t* d 
     | 
|
| 
       3272 
3048 
     | 
    
         
             
                        Offlog = Offbits;
         
     | 
| 
       3273 
3049 
     | 
    
         
             
                        FSE_buildDTable_raw(DTableOffb, Offbits); break;
         
     | 
| 
       3274 
3050 
     | 
    
         
             
                    default :
         
     | 
| 
       3275 
     | 
    
         
            -
                        max = MaxOff;
         
     | 
| 
       3276 
     | 
    
         
            -
             
     | 
| 
       3277 
     | 
    
         
            -
             
     | 
| 
       3278 
     | 
    
         
            -
             
     | 
| 
       3279 
     | 
    
         
            -
             
     | 
| 
       3280 
     | 
    
         
            -
             
     | 
| 
       3281 
     | 
    
         
            -
                    }
         
     | 
| 
      
 3051 
     | 
    
         
            +
                        {   U32 max = MaxOff;
         
     | 
| 
      
 3052 
     | 
    
         
            +
                            headerSize = FSE_readNCount(norm, &max, &Offlog, ip, iend-ip);
         
     | 
| 
      
 3053 
     | 
    
         
            +
                            if (FSE_isError(headerSize)) return ERROR(GENERIC);
         
     | 
| 
      
 3054 
     | 
    
         
            +
                            if (Offlog > OffFSELog) return ERROR(corruption_detected);
         
     | 
| 
      
 3055 
     | 
    
         
            +
                            ip += headerSize;
         
     | 
| 
      
 3056 
     | 
    
         
            +
                            FSE_buildDTable(DTableOffb, norm, max, Offlog);
         
     | 
| 
      
 3057 
     | 
    
         
            +
                    }   }
         
     | 
| 
       3282 
3058 
     | 
    
         | 
| 
       3283 
3059 
     | 
    
         
             
                    switch(MLtype)
         
     | 
| 
       3284 
3060 
     | 
    
         
             
                    {
         
     | 
| 
       3285 
     | 
    
         
            -
                    U32 max;
         
     | 
| 
       3286 
3061 
     | 
    
         
             
                    case bt_rle :
         
     | 
| 
       3287 
3062 
     | 
    
         
             
                        MLlog = 0;
         
     | 
| 
       3288 
3063 
     | 
    
         
             
                        if (ip > iend-2) return ERROR(srcSize_wrong); /* min : "raw", hence no header, but at least xxLog bits */
         
     | 
| 
         @@ -3291,14 +3066,13 @@ static size_t ZSTD_decodeSeqHeaders(int* nbSeq, const BYTE** dumpsPtr, size_t* d 
     | 
|
| 
       3291 
3066 
     | 
    
         
             
                        MLlog = MLbits;
         
     | 
| 
       3292 
3067 
     | 
    
         
             
                        FSE_buildDTable_raw(DTableML, MLbits); break;
         
     | 
| 
       3293 
3068 
     | 
    
         
             
                    default :
         
     | 
| 
       3294 
     | 
    
         
            -
                        max = MaxML;
         
     | 
| 
       3295 
     | 
    
         
            -
             
     | 
| 
       3296 
     | 
    
         
            -
             
     | 
| 
       3297 
     | 
    
         
            -
             
     | 
| 
       3298 
     | 
    
         
            -
             
     | 
| 
       3299 
     | 
    
         
            -
             
     | 
| 
       3300 
     | 
    
         
            -
             
     | 
| 
       3301 
     | 
    
         
            -
                }
         
     | 
| 
      
 3069 
     | 
    
         
            +
                        {   U32 max = MaxML;
         
     | 
| 
      
 3070 
     | 
    
         
            +
                            headerSize = FSE_readNCount(norm, &max, &MLlog, ip, iend-ip);
         
     | 
| 
      
 3071 
     | 
    
         
            +
                            if (FSE_isError(headerSize)) return ERROR(GENERIC);
         
     | 
| 
      
 3072 
     | 
    
         
            +
                            if (MLlog > MLFSELog) return ERROR(corruption_detected);
         
     | 
| 
      
 3073 
     | 
    
         
            +
                            ip += headerSize;
         
     | 
| 
      
 3074 
     | 
    
         
            +
                            FSE_buildDTable(DTableML, norm, max, MLlog);
         
     | 
| 
      
 3075 
     | 
    
         
            +
                }   }   }
         
     | 
| 
       3302 
3076 
     | 
    
         | 
| 
       3303 
3077 
     | 
    
         
             
                return ip-istart;
         
     | 
| 
       3304 
3078 
     | 
    
         
             
            }
         
     | 
| 
         @@ -1,36 +1,14 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            /**
         
     | 
| 
      
 2 
     | 
    
         
            +
             * Copyright (c) 2016-present, Yann Collet, Facebook, Inc.
         
     | 
| 
      
 3 
     | 
    
         
            +
             * All rights reserved.
         
     | 
| 
      
 4 
     | 
    
         
            +
             *
         
     | 
| 
      
 5 
     | 
    
         
            +
             * This source code is licensed under the BSD-style license found in the
         
     | 
| 
      
 6 
     | 
    
         
            +
             * LICENSE file in the root directory of this source tree. An additional grant
         
     | 
| 
      
 7 
     | 
    
         
            +
             * of patent rights can be found in the PATENTS file in the same directory.
         
     | 
| 
      
 8 
     | 
    
         
            +
             */
         
     | 
| 
       7 
9 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
                met:
         
     | 
| 
       11 
     | 
    
         
            -
                * Redistributions of source code must retain the above copyright
         
     | 
| 
       12 
     | 
    
         
            -
                notice, this list of conditions and the following disclaimer.
         
     | 
| 
       13 
     | 
    
         
            -
                * Redistributions in binary form must reproduce the above
         
     | 
| 
       14 
     | 
    
         
            -
                copyright notice, this list of conditions and the following disclaimer
         
     | 
| 
       15 
     | 
    
         
            -
                in the documentation and/or other materials provided with the
         
     | 
| 
       16 
     | 
    
         
            -
                distribution.
         
     | 
| 
       17 
     | 
    
         
            -
                THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
         
     | 
| 
       18 
     | 
    
         
            -
                "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
         
     | 
| 
       19 
     | 
    
         
            -
                LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
         
     | 
| 
       20 
     | 
    
         
            -
                A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
         
     | 
| 
       21 
     | 
    
         
            -
                OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         
     | 
| 
       22 
     | 
    
         
            -
                SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
         
     | 
| 
       23 
     | 
    
         
            -
                LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
         
     | 
| 
       24 
     | 
    
         
            -
                DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
         
     | 
| 
       25 
     | 
    
         
            -
                THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
         
     | 
| 
       26 
     | 
    
         
            -
                (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
         
     | 
| 
       27 
     | 
    
         
            -
                OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                You can contact the author at :
         
     | 
| 
       30 
     | 
    
         
            -
                - zstd source repository : https://github.com/Cyan4973/zstd
         
     | 
| 
       31 
     | 
    
         
            -
                - ztsd public forum : https://groups.google.com/forum/#!forum/lz4c
         
     | 
| 
       32 
     | 
    
         
            -
            */
         
     | 
| 
       33 
     | 
    
         
            -
            #pragma once
         
     | 
| 
      
 10 
     | 
    
         
            +
            #ifndef ZSTD_V02_H_4174539423
         
     | 
| 
      
 11 
     | 
    
         
            +
            #define ZSTD_V02_H_4174539423
         
     | 
| 
       34 
12 
     | 
    
         | 
| 
       35 
13 
     | 
    
         
             
            #if defined (__cplusplus)
         
     | 
| 
       36 
14 
     | 
    
         
             
            extern "C" {
         
     | 
| 
         @@ -97,3 +75,5 @@ size_t ZSTDv02_decompressContinue(ZSTDv02_Dctx* dctx, void* dst, size_t maxDstSi 
     | 
|
| 
       97 
75 
     | 
    
         
             
            #if defined (__cplusplus)
         
     | 
| 
       98 
76 
     | 
    
         
             
            }
         
     | 
| 
       99 
77 
     | 
    
         
             
            #endif
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
            #endif /* ZSTD_V02_H_4174539423 */
         
     |