Yann Collet
fe0bfb0c77
Merge pull request #908 from lz4/stdin_size
...
Added ability to determine content-size
2020-08-25 21:15:31 -07:00
Yann Collet
5b3f945310
fix test under non-interactive environment
2020-08-25 14:53:08 -07:00
Yann Collet
224735ea1b
added more tests around --content-size
...
notably in association with `stdin`
2020-08-25 14:42:15 -07:00
Yann Collet
65f081ccaf
use variables for program invocation
2020-08-25 14:25:51 -07:00
Yann Collet
442005ff8e
Merge pull request #905 from nh2/use-fstat
...
Use fstat() to determine file size
2020-08-25 14:19:40 -07:00
Niklas Hambüchen
a58b7ac6ce
fixup: Portable fileno()
2020-08-25 03:37:41 +02:00
Niklas Hambüchen
86edeb6784
fixup: C90 compliance, clean up stat() types/calls
2020-08-25 03:36:57 +02:00
Yann Collet
ee0a3cfa0c
Merge pull request #898 from aqrit/aqrit-prefixlen
...
rejigger bit counting intrinsics
2020-08-24 15:13:18 -07:00
Yann Collet
d64962a44b
Merge pull request #902 from lz4/realhw
...
added target aarch64, ppc64lw and s390x to TravisCI
2020-08-24 15:07:18 -07:00
Yann Collet
e8bd270d35
Merge pull request #907 from terrelln/travis
...
[CI][ossfuzz] Fix string equal
2020-08-24 12:20:10 -07:00
Yann Collet
e46fa0ff71
Merge pull request #903 from lz4/nofastforce
...
removed LZ4_compress_fast_force()
2020-08-24 11:28:47 -07:00
Nick Terrell
f803995b77
[CI][ossfuzz] Fix string equal
2020-08-24 11:23:04 -07:00
Niklas Hambüchen
9a7658070a
Use fstat() to determine file size.
...
This allows us to get the file size even when the input file is passed
via stdin. This fixes `--content-size` not working in situations like
$ lz4 -v --content-size < /tmp/test > /tmp/test.lz4
Warning : cannot determine input content size
With this change, it works.
Also helps with #904 .
2020-08-24 06:27:28 +02:00
Yann Collet
0002563be8
removed LZ4_compress_fast_force()
...
which serves no more purpose.
The comment implies that the simple presence of this unused function was affecting performance,
and that's the reason why it was not removed earlier.
This is likely another side effect of instruction alignment.
It's obviously unreliable to rely on it in this way,
meaning that the impact will be different, positive of negative,
with any minor code change, and any minor compiler version change, even parameter change.
2020-08-21 19:23:49 -07:00
Yann Collet
184a487d0d
added target aarch64, ppc64lw and s390x to TravisCI
...
more portability tests
2020-08-21 18:12:13 -07:00
Yann Collet
34fe7c9d7f
Merge pull request #886 from servusDei2018/dev
...
Optimized by replacing `endl` with `'\n'`
2020-08-21 14:17:43 -07:00
Yann Collet
04a425d047
Merge pull request #900 from terrelln/cmake-build
...
[build] Move CMake and Visual build systems to build/
2020-08-19 20:08:01 -07:00
Yann Collet
02ee3559f1
Merge pull request #901 from terrelln/travis
...
[CI][Fuzz] Fix Travis-CI fuzzer tests
2020-08-19 20:07:50 -07:00
Nick Terrell
e97ff29627
[CI][Fuzz] Fix Travis-CI fuzzer tests
...
Fixes #781
2020-08-19 18:48:10 -07:00
Nick Terrell
31d477db07
[build] Move CMake and Visual build systems to build/
...
Fixes #852 .
2020-08-19 18:08:43 -07:00
Yann Collet
f18dbeb8b5
Merge branch 'dev' into extraInput
2020-08-18 15:34:51 -07:00
Yann Collet
fa5435bca9
Merge pull request #897 from lz4/lz4wlib
...
added target lz4-wlib
2020-08-18 10:24:36 -07:00
aqrit
e45defa8bd
silence warning
...
MSVC debug mode complains
2020-08-17 17:53:07 -04:00
Yann Collet
9a6e93859d
Merge pull request #899 from lz4/endMark
...
Clarifies and fix EndMark
2020-08-14 15:48:21 -07:00
Yann Collet
5ab7d22fa5
clarify endMark definition
2020-08-14 15:03:03 -07:00
Yann Collet
e9cfa49d0d
Clarifies and fix EndMark
...
EndMark, the 4-bytes value indicating the end of frame,
must be `0x00000000`.
Previously, it was just mentioned as a `0-size` block.
But such definition could encompass uncompressed blocks of size 0,
with a header of value `0x80000000`.
But the intention was to also support uncompressed empty blocks.
They could be used as a keep-alive signal.
Note that compressed empty blocks are already supported,
it's just that they have a size 1 instead of 0 (for the `0` token).
Unfortunately, the decoder implementation was also wrong,
and would also interpret a `0x80000000` block header as an endMark.
This issue evaded detection so far simply because
this situation never happens, as LZ4Frame always issues
a clean 0x00000000 value as a endMark.
It also does not flush empty blocks.
This is fixed in this PR.
The decoder can now deal with empty uncompressed blocks,
and do not confuse them with EndMark.
The specification is also clarified.
Finally, FrameTest is updated to randomly insert empty blocks during fuzzing.
2020-08-12 17:27:33 -07:00
BellaXlp
ab713923a2
fix issue #783 ( #862 )
...
* fix issue #783
2020-08-12 14:42:10 -07:00
Yann Collet
f9f3fdfb1c
added test decompress-partial with extraneous input bytes
...
fails currently,
for investigation of #783
2020-08-12 14:39:01 -07:00
aqrit
e72897402d
rejigger bit counting intrinsics
...
Fix lz4/lz4#867
Optimize software fallback routines.
Delete some faulty (and dead?) MSVC big endian code.
2020-08-11 21:14:09 -04:00
Yann Collet
3dd34df751
added target lz4-wlib
...
variant of lz4 linking to liblz4 dynamic library
requires the dynamic library to expose static-only symbols (experimental API)
Example for #888
2020-08-11 14:07:51 -07:00
Yann Collet
f328e329b3
Merge branch 'fix832' into dev
2020-08-10 18:17:09 -07:00
Yann Collet
28e5a4e054
fixed test of gnu c version
2020-08-10 17:11:49 -07:00
Yann Collet
ac65f939cd
Merge pull request #896 from lz4/fix832
...
fix #832
2020-08-10 14:31:48 -07:00
Yann Collet
b26c140a54
Merge pull request #895 from lz4/hugefast
...
Fix #876
2020-08-10 12:52:32 -07:00
Yann Collet
a29ade17a0
fix #832
...
does no longer rely on default 0-interpretation when __GNUC__ is not defined
2020-08-10 11:51:57 -07:00
Yann Collet
ad14a98a09
Merge pull request #892 from felixhandte/lz4-clean-up-fast-reset
...
Remove dirty Flag in LZ4_stream_t
2020-08-10 11:28:46 -07:00
Yann Collet
7b1b078dfc
fix #876
...
by introducing a max limit acceleration value
2020-08-10 11:03:27 -07:00
Yann Collet
b01c58000e
add test that breaks --fast
...
with huge values, as expected from #876
Also : added target `check`
2020-08-10 10:54:35 -07:00
W. Felix Handte
a78235e6ad
Fix Enum Casts
...
Fixes `-Wsign-compare` issues.
2020-08-10 13:47:08 -04:00
Yann Collet
97654d3cd2
Merge pull request #856 from indragiek/indragiek/lz4f-visibility
...
Add LZ4FLIB_VISIBILITY for controlling library symbol visibility
2020-08-08 13:21:07 -07:00
W. Felix Handte
9af86f0841
Remove dirty Field From LZ4_stream_t
2020-08-06 16:06:40 -04:00
Indragie Karunaratne
ae1372690d
LZ4LIB_VISIBILITY -> LZ4FLIB_VISIBILITY in comment
2020-08-05 15:34:07 -06:00
W. Felix Handte
d7399232a4
Remove Extraneous Reset in LZ4_attach_dictionary()
...
Nothing internally sets dirty anymore. The only way to get that is if you use
an uninitialized context, in which case your warranty is void anyways.
2020-08-05 12:46:32 -04:00
Yann Collet
cd5d78ebd0
Merge pull request #890 from terrelln/lz4-memcpy
...
Call LZ4_memcpy() instead of memcpy()
2020-08-03 18:34:16 -07:00
Nick Terrell
fe2a1b3707
Call LZ4_memcpy() instead of memcpy()
...
`LZ4_memcpy()` uses `__builtin_memcpy()` to ensure that clang/gcc
can inline the `memcpy()` calls in freestanding mode.
This is necessary for decompressing the Linux Kernel with LZ4.
Without an analogous patch decompression ran at 77 MB/s, and with
the patch it ran at 884 MB/s.
2020-08-03 11:28:02 -07:00
Yann Collet
349b343cf0
Merge pull request #885 from neheb/mes
...
meson: remove build requirement for distutils
2020-08-03 10:47:24 -07:00
Yann Collet
f4054274fa
Merge pull request #860 from adeason/old-style-definitions
...
Avoid old-style function definitions
2020-07-28 17:44:25 -07:00
Nate
e416cc9baa
Optimized by replacing endl
with '\n'
2020-07-23 20:13:14 -04:00
Rosen Penev
4ebc792cab
meson: remove build requirement for distutils
...
Tested on a default installation of Debian 10.
Same as https://github.com/facebook/zstd/pull/2197
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-07-21 15:27:22 -07:00
Yann Collet
48f9ecfb34
Merge pull request #863 from Devernua/reducing_stack_usage_in_t_alignment
...
Reducing stack usage in _t_alignment checks
2020-07-16 09:44:40 -07:00