Commit Graph

1666 Commits

Author SHA1 Message Date
Yann Collet
b077a99347 added checkTag
checkTag verifies that provided tag and library version match.
It's started automatically in circleCI when a new tag is created.
2018-01-14 16:57:25 -08:00
Yann Collet
dfed9fa1d7 restored .travis 2018-01-14 00:21:43 -08:00
Yann Collet
5e7780d2d8 lz4frame : removed some intermediate stage from LZ4F_decompress()
ensure some strange jump cases are not possible
(they were already not possible, but static analyzer couldn't understand it).
2018-01-14 00:15:07 -08:00
Yann Collet
cdd0c685e0 Merge branch 'dev' into coverity_scan 2018-01-13 22:58:09 -08:00
Yann Collet
75e22d133e minor : try to tell static analyzer that we don't care if fseek() fails
as already explained in comments.
2018-01-13 22:52:17 -08:00
Yann Collet
18b4c66d25 ensure a ptr is non-null
with an assert()
to help static analyzer understanding this condition.
2018-01-13 22:47:46 -08:00
Yann Collet
4d61ebc9c8 modified formulation for LZ4F_compressBound()
previous version used an intentional overflow,
which is defined since it uses unsigned type,
but static analyzer complain about it.
2018-01-13 22:39:39 -08:00
Yann Collet
8e69328d61 programs/datagen : attempt to please static analyzer
with an assert()
to reduce false positive
2018-01-13 22:24:32 -08:00
Yann Collet
fe66e78b96 lz4io: fixed minor ressource leak 2018-01-13 22:18:04 -08:00
Yann Collet
99302c43b4 revert project name 2018-01-13 21:40:04 -08:00
Yann Collet
8e50feca14 minor name update 2018-01-13 21:14:36 -08:00
Yann Collet
151a50e16e Merge branch 'master' into coverity_scan 2018-01-13 21:09:02 -08:00
Yann Collet
e0e29cf09e
Merge pull request #449 from lz4/dev
v1.8.1.2
2018-01-13 20:56:14 -08:00
Yann Collet
52a76ff682 update man page 2018-01-13 19:06:33 -08:00
Yann Collet
e8ee6e5965 nicer console message for make clean 2018-01-13 18:51:33 -08:00
Yann Collet
ac38ffa9af updated manuals to v1.8.1 2018-01-13 18:46:13 -08:00
Yann Collet
d95606d649
Merge pull request #448 from sunpoet/dev
Fix lz4 version
2018-01-13 16:33:56 -08:00
Po-Chuan Hsieh
47bf1a9f01 Fix lz4 version 2018-01-14 06:38:03 +08:00
Yann Collet
c423dc21bd updated LZ4F_decompress() documentation 2018-01-13 13:16:31 -08:00
Yann Collet
d6f1fe105b
Merge pull request #446 from lz4/dev
LZ4 v1.8.1
2018-01-12 16:23:16 -08:00
Yann Collet
fb5e98a334 updated NEWS for v1.8.1 2018-01-12 14:36:10 -08:00
Yann Collet
d89fd51ce8
Merge pull request #442 from terrelln/441
[lz4io] Fix decompression file stat with --rm
2018-01-10 19:09:13 +01:00
Yann Collet
58199f1311
Merge pull request #443 from terrelln/440
[lz4f] Skip memcpy() on empty dictionary
2018-01-10 19:06:21 +01:00
Yann Collet
a605d7ea54
Merge pull request #444 from felixhandte/publish-static-functions
Add Option to Make lz4frame_static.h Functions Visible in Shared Objects
2018-01-10 18:48:11 +01:00
W. Felix Handte
ebef34fe79 Add Option to Make lz4frame_static.h Functions Visible in Shared Objects
In some contexts, *cough*like at facebook*cough*, dynamic linking is used in
contexts which aren't truly dynamic. That is, the guarantee is maintained that
a program will only ever execute against the library version it was compiled
to interact with.

For those situations, introduce a compile-time flag that overrides hiding
these unstable APIs in shared objects.
2018-01-08 14:46:22 -05:00
Yann Collet
0b203b04f6
Merge pull request #434 from lz4/pattern
conditional pattern analysis
2018-01-06 06:58:41 +01:00
Yann Collet
54f3621907
Merge pull request #435 from lz4/destSize
lz4opt is now compatible with _destSize variant
2018-01-06 06:57:56 +01:00
Nick Terrell
c2dd686e96 [lz4f] Skip memcpy() on empty dictionary 2018-01-05 14:30:49 -08:00
Nick Terrell
00eac87dda [lz4io] Refuse to set file stat for non-regular files 2018-01-05 11:54:35 -08:00
Nick Terrell
9474b706a5 [lz4io] Fix decompression file stat with --rm 2018-01-05 11:27:24 -08:00
Yann Collet
506ae9c333
Merge pull request #439 from eli-b/doc-nohup-behavior
Docs: describe behavior under nohup
2018-01-02 00:19:59 +01:00
Yann Collet
c19d12d11e
Merge pull request #438 from eli-b/grammar-fix
Grammar: "to silent" -> "to silence"
2018-01-02 00:17:57 +01:00
Eli Boyarski
329dcd4765
Docs: describe behavior under nohup 2018-01-01 15:38:48 +02:00
Eli Boyarski
c8411ea880
Grammar: "to silent" -> "to silence" 2018-01-01 14:15:31 +02:00
Yann Collet
e2900241e8 object files in /tests
object files created from /tests are compiled with specific flags (`-g -DLZ4_DEBUG=1`)
which are not welcomed in release binary.
`lib/*.o` files created from /tests are now stored in /tests, to avoid unintentional mix.
2017-12-27 13:02:40 +01:00
Yann Collet
7d2f30c7d1 lz4opt supports _destSize
no longer limited to level 9
2017-12-22 12:47:59 +01:00
Yann Collet
fdde4311fb /tests programs compiled with LZ4_DEBUG=1
to enable assert() within /lib
2017-12-22 11:54:43 +01:00
Yann Collet
9753ac4c91 conditional pattern analysis
Pattern analysis (currently limited to long ranges of identical bytes)
is actually detrimental to performance
when `nbSearches` is low.

Reason is : `nbSearches` provides a built-in protection for these cases.
The problem with patterns is that they dramatically increase the number of candidates to visit.
But with a low nbSearches, the match finder just aborts early.

In such cases, pattern analysis adds some complexity without reducing total nb of candidates.
It actually increases compression ratio a little bit, by filtering only "good" candidates,
but at a measurable speed cost, so it's not a good trade-off.

This patch makes pattern analysis optional.
It's enabled for levels 8+ only.
2017-12-22 08:07:25 +01:00
Yann Collet
8a9c8e7324
Merge pull request #431 from lz4/newopt
new level 10
2017-12-21 09:46:25 +01:00
Yann Collet
55da545e7a new level 10
lz4opt is only competitive vs lz4hc level 10.
Below that level, it doesn't match the speed / compression effectiveness of regular hc parser.

This patch propose to extend lz4opt to levels 10-12.
The new level 10 tend to compress a bit better and a bit faster than previous one (mileage vary depending on file)

The only downside is that `limitedDestSize` mode is now limited to max level 9 (vs 10),
since it's only compatible with regular HC parser.
(Note : I suspect it's possible to convert lz4opt to support it too, but haven't spent time into it).
2017-12-20 14:14:01 +01:00
Yann Collet
ec93bb127f
Merge pull request #427 from lz4/registerLess
remove `register` keyword
2017-12-15 14:46:00 -08:00
Yann Collet
4e225165d8
Merge pull request #424 from MaxRis/msbuild-properties-#423
Msbuild properties #423
2017-12-11 10:07:03 -08:00
Max Risuhin
9be9573533 EnableWholeProgramOptimization and UseStaticCRT msbuild custom properties 2017-12-11 14:57:19 +02:00
Yann Collet
6bbe45e1b8 remove register keyword
deprecated in newer C++ versions,
and dubious utility
2017-12-04 17:10:23 -08:00
Yann Collet
de49c5bed9
Merge pull request #426 from aliceatlas/cli_chmod_fix
Fix cli sometimes calling UTIL_setFileStat on /dev/null
2017-12-04 14:38:00 -08:00
Alice Atlas
42a31aee50 Fix bug which could sometimes result in the lz4 cli chmodding /dev/null if running as root 2017-12-04 16:07:31 -05:00
Yann Collet
6c94c94d46 minor updates to examples
see 810e2ca27b (commitcomment-25810887)
2017-11-24 17:18:46 -08:00
Yann Collet
da8bed4b01 API : changed a few variables' names for clarity
updated relevant doc.
This patch has no impact on ABI/API, nor on binary generation.
2017-11-20 10:27:05 -08:00
Yann Collet
b48839b41c updated NEWS 2017-11-13 15:54:55 -08:00
Yann Collet
dac26084a9
Merge pull request #416 from lz4/newopt
Improve Optimal parser
2017-11-09 14:13:30 -08:00