| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
Since rc.exe (the resource compiler) is legacy compiler, it truncates preprocessor symbol name length to 32 chars.
And it reports the following warning
lz4\build\VS2022\..\..\lib\lz4.h(314): warning RC4011: identifier truncated to 'LZ4_STATIC_LINKING_ONLY_DISABLE'
lz4\build\VS2022\..\..\lib\lz4.h(401): warning RC4011: identifier truncated to 'LZ4_STATIC_LINKING_ONLY_DISABLE'
This patch detects rc.exe and just skips long symbol.
|
|
|
|
|
|
|
|
|
|
|
|
| |
MSVC (17.3 or earlier) reports the following warning
lz4\lib\lz4.c(527): warning C6385: Reading invalid data from 'v'.
Line 527 is : LZ4_memcpy(&v[4], v, 4);
But, obviously v[0..3] is always filled with meaningful value.
Therefore, this warning report is wrong.
We must revisit this issue with future version of MSVC.
|
|
|
|
|
|
|
|
|
|
|
| |
lz4frame favors the faster prefix mode
when decompressing a frame with linked blocks.
This significantly improved CLI decompression on files compressed with -BD4 setting.
On my laptop, decompressing `enwik9` went from 0.89s to 0.52s.
This improvement is only for linked blocks.
It's more visible for small block sizes.
|
| |
|
| |
|
| |
|
|\
| |
| | |
Add document for LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION is enabled
|
|/ |
|
|\
| |
| | |
Introduce LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This changeset introduces new compile time switch macro LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION
which removes the following functions when it's defined.
```
// lz4.c
LZ4_createStream
LZ4_freeStream
LZ4_createStreamDecode
LZ4_freeStreamDecode
LZ4_create // legacy
// lz4hc.c
LZ4_createStreamHC(void)
LZ4_freeStreamHC
LZ4_createHC // legacy
LZ4_freeHC // legacy
```
These functions uses dynamic memory allocation functions such as malloc() and free().
It'll be useful for freestanding environment which doesn't have these allocation functions.
Since this change breaks API, this macro is only valid with lz4 as a static linked object.
|
| |
| |
| |
| | |
single sumtype return value
|
| |
| |
| |
| |
| | |
updated documentation, more assert(),
overflow detection in 32-bit mode
|
| |
| |
| |
| |
| |
| |
| | |
since it's now supported by decompress_unsafe().
The goal is to improve maintenability of decompress_generic()
by reducing its complexity.
|
| |
| |
| |
| |
| |
| |
| | |
designed to support specifically LZ4_decompress_fast*() variants.
The end goal is to offload this support from LZ4_decompress_generic
to improve its maintenance.
|
| | |
|
|/
|
|
|
|
|
|
| |
This changeset introduces the following external macros.
- Add new macro LZ4_memset() which enables to inject external function as memset().
- Similar macro LZ4_memmove() for memmove().
- In same manner, LZ4_memcpy() also can be overriden by external macro.
|
|
|
|
|
| |
on command line, using existing long command --no-frame-crc.
Note : it's effectively more than that, since _all_ checksums are disabled.
|
| |
|
|
|
|
| |
requires an LZ4 Frame as input
|
|
|
|
| |
to prepare bench.c for multiple decoding functions.
|
|\
| |
| | |
Support for Custom Memory managers
|
| | |
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
for compression context only for the time being,
using LZ4F_createCompressionContext_advanced().
Added basic test in frametest.c
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| | |
fix #977
fseek() doesn't work for pipe,
switch to "read and forget" mode in such case.
|
| | |
|
|/
|
|
|
| |
and proper documentation.
Also : updated manual
|
|
|
|
| |
replaced by ->dictStart
|
|
|
|
| |
replaced by ->prefixStart
|
|
|
|
|
| |
produces less padding, notably on OS400
following #1070 by @jonrumsey
|
| |
|
| |
|
|\
| |
| | |
Change definitions of LZ4_xxxSIZE defines for OS400
|
| |
| |
| |
| |
| |
| | |
LZ4_STREAMHCSIZE to factor in OS400 pointer length and structure alignment rules
Update the length values on platforms where pointers are 16-bytes, factor in implicit compiler padding to ensure proper alignment of members and overall structure lengths
|
|/
|
|
| |
one less argument
|
|\
| |
| | |
frame-api: add function to insert uncomressed data
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* replace assert with test for LZ4F_uncompressedUpdate
* update documentation to incldue correct docstring
* remove unecessary entry point
* remove compress_linked_block_mode from fuzzing test
Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
|
| |
| |
| |
| | |
Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
when the block mode changes a flush is executed, to prevent
mixing compressed and uncompressed data.
Prior to this commit dstStart, dstPtr, dstCapacity
where not updated to include the offset from bytesWritten.
For inputs > blockSize this meant the flushed data was
overwritten.
Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
|
| |
| |
| |
| | |
add static dependency to examples
|
| |
| |
| |
| |
| | |
change the context to const to make
clear that the context is not modified
|
| |
| |
| |
| | |
Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
|