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
Yann Collet
dc3ed5b6a7
added code comments
2017-11-08 17:56:20 -08:00
Yann Collet
63f6039fb3
added constant TRAILING_LITERALS
...
which is more explicit than its value `3`.
reported by @terrelln
2017-11-08 17:47:24 -08:00