W. Felix Handte
e22d024e89
Make One Travis CI Run Run Tests With Non-TTY stdin
2018-06-29 16:31:59 -04:00
W. Felix Handte
8e7bdc18d6
Fix Tests of --list Behavior with stdin
2018-06-29 16:31:22 -04:00
W. Felix Handte
712a9fd972
Allow Invoking zstd --list When stdin is not a tty
...
Also now returns an error when no inputs are given.
New proposed behavior:
```
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l; echo $?
No files given
1
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l Makefile.zst; echo $?
Frames Skips Compressed Uncompressed Ratio Check Filename
1 0 3.08 KB 10.92 KB 3.544 XXH64 Makefile.zst
0
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l <Makefile.zst; echo $?
zstd: --list does not support reading from standard input
No files given
1
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l Makefile.zst <Makefile.zst; echo $?
Frames Skips Compressed Uncompressed Ratio Check Filename
1 0 3.08 KB 10.92 KB 3.544 XXH64 Makefile.zst
0
felix@odin:~/prog/zstd (list-stdin-check)$
```
2018-06-29 15:33:44 -04:00
W. Felix Handte
71d27aaafb
Consolidate Fast-Running Travis Jobs
2018-06-27 19:25:39 -04:00
W. Felix Handte
a02ecffb7a
Also Run test-pool Target in Travis
2018-06-27 19:24:11 -04:00
W. Felix Handte
c10561c752
poolTests.c: Fix Interval Var Type
2018-06-27 19:15:38 -04:00
W. Felix Handte
01bb1c1016
Add CCtx Param Controlling Dict Attachment Behavior
2018-06-21 17:29:25 -04:00
W. Felix Handte
3e91dc4d6a
Add Repcode Bounds Check
2018-06-21 15:54:41 -04:00
W. Felix Handte
5bd3d4b7d2
Add Debug Log Statement
2018-06-21 15:54:07 -04:00
W. Felix Handte
3caba150c6
Fix dmsBtLow Test
2018-06-21 15:53:40 -04:00
W. Felix Handte
5da9bbc38e
Conceivably Dedup ZSTD_noDict and ZSTD_dictMatchState _insertBt1 Impls
...
By reverting to the bool extDict flag, we call ZSTD_insertBt1 with the same
const args in both non-extDict dictModes.
2018-06-21 11:20:01 -04:00
W. Felix Handte
5d81f71e83
Consistency in Guarding DMS-Only Variable Initializations
2018-06-20 16:54:53 -04:00
W. Felix Handte
9c14eafe3d
Also Use matchLow for HC3 Match
2018-06-20 15:51:14 -04:00
W. Felix Handte
0a6cf7cd1d
Minor Changes
2018-06-20 15:27:23 -04:00
W. Felix Handte
ae1f3898a2
Remove Dead(!) HC3 DMS Lookup
2018-06-20 15:27:12 -04:00
W. Felix Handte
03c39c540b
Fix Incorrect Param
2018-06-19 15:36:33 -04:00
W. Felix Handte
de639502aa
Update Dict Attachment Cut-Offs
2018-06-19 15:36:13 -04:00
W. Felix Handte
f0a13bcd68
Make Sure Position 0 Gets Into the Tree
2018-06-19 15:10:06 -04:00
W. Felix Handte
87fe4788a3
Fix Compression Ratio Regression #1
2018-06-19 13:01:21 -04:00
W. Felix Handte
4bb79f9c55
Misc Changes
2018-06-19 13:01:21 -04:00
W. Felix Handte
2091f34e9e
Find Proper Matches
2018-06-19 13:01:21 -04:00
W. Felix Handte
64348a15f1
Misc Fixes
2018-06-19 13:01:21 -04:00
W. Felix Handte
ade8586ce6
Find mls == 3 Matches
2018-06-19 13:01:21 -04:00
W. Felix Handte
ce743312e2
Fix Typo
2018-06-19 13:01:21 -04:00
W. Felix Handte
a075864756
Switch != ZSTD_extDict to == ZSTD_noDict
2018-06-19 13:01:21 -04:00
W. Felix Handte
1e03377bde
Implement RepCode Check
2018-06-19 13:01:21 -04:00
W. Felix Handte
ccbf067973
Add _dictMatchState Functions
2018-06-19 13:01:21 -04:00
W. Felix Handte
d5d8240967
Convert extDict Flag to dictMode Enum
2018-06-19 13:01:21 -04:00
W. Felix Handte
93c3184d44
Attach Dicts when Using ZSTD_btopt and ZSTD_btultra
2018-06-19 13:01:21 -04:00
W. Felix Handte
0c654d22c8
Force Inline BtFindBestMatch
2018-06-14 14:54:39 -04:00
W. Felix Handte
0551de4b5a
Search Dict for Matches
2018-06-13 16:06:28 -04:00
W. Felix Handte
ace9cfa950
Attach Dicts when Using ZSTD_btlazy2
2018-06-13 16:06:28 -04:00
W. Felix Handte
d53200a846
Fix Cast Warning
2018-06-13 14:58:36 -04:00
W. Felix Handte
b82063b266
Extend Dictionary Matches Backwards
2018-06-13 14:58:36 -04:00
W. Felix Handte
d53a04211c
Update Dictionary Attachment Cutoff Values Again
2018-06-13 14:58:36 -04:00
W. Felix Handte
2162aa9f18
Do Not Inline DMS Search Function
2018-06-13 14:58:36 -04:00
W. Felix Handte
338bede9b5
Also Implement Depth Repcode Checks
2018-06-13 14:58:36 -04:00
W. Felix Handte
555ab9f8cf
Apply Match Continuation Bug Fix
2018-06-13 14:58:36 -04:00
W. Felix Handte
c87dd2121d
Update Dictionary Attachment Cutoff Values
2018-06-13 14:58:36 -04:00
W. Felix Handte
6204b6d592
Check Dict Match State in ZSTD_HcFindBestMatch_generic
2018-06-13 14:58:36 -04:00
W. Felix Handte
211a61b69b
Focus on Non-BT Impls for the Moment
2018-06-13 14:58:36 -04:00
W. Felix Handte
2e93736a77
Remove Pre-Existing Repcode Check
2018-06-13 14:58:36 -04:00
W. Felix Handte
3b82a23a35
Second Repcode Check
2018-06-13 14:58:36 -04:00
W. Felix Handte
a2a24bebec
First Repcode Check
2018-06-13 14:58:36 -04:00
W. Felix Handte
f74c2cd673
Disallow Too-Long Repcodes When Using an Attached Dict
2018-06-13 14:58:36 -04:00
W. Felix Handte
c14db94450
Rename base -> prefixLowest
2018-06-13 14:58:36 -04:00
W. Felix Handte
5d90708a0a
Go Back to Separate Intermediate Functions for Different Dict Modes
2018-06-13 14:58:36 -04:00
W. Felix Handte
f84fc63a43
Further Templatize Intermediate Functions on dictMode
2018-06-13 14:58:36 -04:00
W. Felix Handte
529d3a5acd
Convert Existing U32 extDict Vars to ZSTD_dictMode Enums
2018-06-13 14:58:36 -04:00
W. Felix Handte
33e2240fac
Attach Dict When Using ZSTD_lazy Strategies
2018-06-13 14:58:36 -04:00
W. Felix Handte
90cfc799e5
Add _dictMatchState Stubs for ZSTD_lazy Functions
2018-06-13 14:58:36 -04:00
W. Felix Handte
a85ecb32bd
Add dictMode Param to ZSTD_compressBlock_lazy_generic
2018-06-13 14:58:36 -04:00
W. Felix Handte
48deab92de
Allow Different Dict Attachment Cut-Offs for Different Strategies
2018-05-31 17:37:44 -04:00
W. Felix Handte
f86796639e
Remove Incorrect and Extraneous Repcode Bounds Check
2018-05-31 17:02:29 -04:00
W. Felix Handte
5b292b5685
Check Long + 1 Matches in Both Prefix and Dict in Bothe Short Match Paths
2018-05-25 13:13:57 -04:00
W. Felix Handte
88b733b380
Interleave Prefix and Dict Searches
2018-05-25 13:13:57 -04:00
W. Felix Handte
1850025156
Refactor ZSTD_dfast to Use gotos
2018-05-25 13:13:57 -04:00
W. Felix Handte
43606f9c83
... When I Said "HashTable", I Meant "ChainTable"
2018-05-25 13:13:28 -04:00
W. Felix Handte
ec7efe88f5
Fix Off-By-One Error
2018-05-25 13:13:28 -04:00
W. Felix Handte
2bfe43267e
Disallow Too-Long Repcodes When Using an Attached Dict
2018-05-25 13:13:28 -04:00
W. Felix Handte
b97ad3f457
Port Changes Made to ZSTD_fast to ZSTD_dfast
2018-05-25 13:13:28 -04:00
W. Felix Handte
2313cca1b7
Implement Second Repcode Check
2018-05-25 13:13:28 -04:00
W. Felix Handte
0998f10813
Implement First Repcode Check
2018-05-25 13:13:28 -04:00
W. Felix Handte
50c5b2bb90
Find Dict Hash Table Matches
2018-05-25 13:13:28 -04:00
W. Felix Handte
7a25f7ef5b
Existing Repcode Check Only Applies to noDict Case
2018-05-25 13:13:28 -04:00
W. Felix Handte
8b241da4df
Properly Initialize Repcode Values
2018-05-25 13:13:28 -04:00
W. Felix Handte
7097a03749
Add Necessary Dict Variables
2018-05-25 13:13:28 -04:00
W. Felix Handte
aacbbf4f9a
Rename 'lowest' to 'localLowest' to Prepare to Introduce Dict Indices
2018-05-25 13:13:28 -04:00
W. Felix Handte
c10d1b4011
Skeleton for In-Place Impl for ZSTD_dfast
2018-05-25 13:13:28 -04:00
W. Felix Handte
d9c7e67125
Assert that Dict and Current Window are Adjacent in Index Space
2018-05-23 17:53:03 -04:00
W. Felix Handte
298d24fa57
Make loadedDictEnd an Index, not the Dict Len
2018-05-23 17:53:03 -04:00
W. Felix Handte
7ef85e0618
Fixes in re Comments
2018-05-23 17:53:03 -04:00
W. Felix Handte
582b7f85ed
Don't Attach Empty Dict Contents
...
In weird corner cases, they produce unexpected results...
2018-05-23 17:53:03 -04:00
W. Felix Handte
9c92223468
Avoid Undefined Behavior in Match Ptr Calculation
2018-05-23 17:53:03 -04:00
W. Felix Handte
a44ab3b475
Remove Out-of-Date Comment
2018-05-23 17:53:03 -04:00
W. Felix Handte
95bdf20a87
Moar Renames
2018-05-23 17:53:03 -04:00
W. Felix Handte
7e0402e738
Also Attach Dict When Source Size is Unknown
2018-05-23 17:53:03 -04:00
W. Felix Handte
3ba70cc759
Clear the Dictionary When Sliding the Window
2018-05-23 17:53:03 -04:00
W. Felix Handte
b05ae9b608
Refine ip Initialization to Avoid ARM Weirdness
2018-05-23 17:53:03 -04:00
W. Felix Handte
1a7b34ef28
Use New Index Invariant to Simplify Conditionals
2018-05-23 17:53:03 -04:00
W. Felix Handte
2d598e6fed
Force Working Context Indices Greater than Dict Indices
2018-05-23 17:53:03 -04:00
W. Felix Handte
d005e5daf4
Whitespace Fix
2018-05-23 17:53:03 -04:00
W. Felix Handte
154eb09419
Switch to Original Match Calc for noDict Repcode Check
2018-05-23 17:53:03 -04:00
W. Felix Handte
191fc74a51
Rename 'hasDict' to 'dictMode'
2018-05-23 17:53:03 -04:00
W. Felix Handte
ae4fcf7816
Respond to PR Comments; Formatting/Style/Lint Fixes
2018-05-23 17:53:03 -04:00
W. Felix Handte
ca26cecc7a
Rename and Reformat
2018-05-23 17:53:03 -04:00
W. Felix Handte
66bc1ca641
Change Cut-Off to 8 KB
2018-05-23 17:53:03 -04:00
W. Felix Handte
c31ee3c7f8
Fix Rep Code Initialization
2018-05-23 17:53:03 -04:00
W. Felix Handte
b67196f30d
Coalesce hasDictMatchState and extDict Checks into One Enum and Rename Stuff
2018-05-23 17:53:03 -04:00
W. Felix Handte
265c2869d1
Split Wrapper Functions to Cause Inlining
2018-05-23 17:53:03 -04:00
W. Felix Handte
6929964d65
Add bounds check in repcode tests
2018-05-23 17:53:03 -04:00
W. Felix Handte
70a537d1d7
Initial Repcode Check Support for Ext Dict Ctx
2018-05-23 17:53:03 -04:00
W. Felix Handte
8d24ff0353
Preliminary Support in ZSTD_compressBlock_fast_generic() for Ext Dict Ctx
2018-05-23 17:53:03 -04:00
W. Felix Handte
d18a405779
Refer to the Dictionary Match State In-Place (Sometimes)
2018-05-23 17:53:03 -04:00
W. Felix Handte
e26be5a7b3
Travis CI Runs apt-get Update
2018-05-14 11:55:21 -04:00
W. Felix Handte
baff9dd15e
Fix LZ4 Compression Buffer Overflow
...
Fixes issue where, when `zstd --format=lz4` is fed an input larger than 128KB,
the read overruns the input buffer. This changes Zstd to use LZ4 with chained
64KB blocks. This is technically a breaking change in that some third party
LZ4 implementations may not support linked blocks. However, progress should not
be allowed to be stopped by such petty concerns as backwards compatibility!
2017-11-28 12:07:26 -05:00
W. Felix Handte
62c746dcf9
Add Test on LZ4 Format Input Buffer Overrun
2017-11-28 12:06:48 -05:00
W. Felix Handte
e2bf70ece1
Add check Target to Makefile
2017-10-17 16:02:39 -04:00
W. Felix Handte
dc27c36495
Update documentation to reflect other format support
2017-09-28 19:43:12 -04:00
W. Felix Handte
d0519d4b0c
Add CLI Program Name Detection for LZ4
2017-09-28 19:18:15 -04:00