summaryrefslogtreecommitdiff
path: root/vendor/github.com/klauspost/compress/flate/level5.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-04-29 05:56:13 -0400
committerGitHub <noreply@github.com>2021-04-29 05:56:13 -0400
commit386b7f94f30ebb67e0073e0d31a9f203f0ac6db7 (patch)
treef7e75f22fb25c5a790485ddedff5e75aaa783760 /vendor/github.com/klauspost/compress/flate/level5.go
parentdb67fedcbd1fcaf06d0d6655face5182ccd0cc87 (diff)
parent3645db969891230db126ca8f35ccad3cd40af8f0 (diff)
downloadpodman-386b7f94f30ebb67e0073e0d31a9f203f0ac6db7.tar.gz
podman-386b7f94f30ebb67e0073e0d31a9f203f0ac6db7.tar.bz2
podman-386b7f94f30ebb67e0073e0d31a9f203f0ac6db7.zip
Merge pull request #10172 from containers/dependabot/go_modules/github.com/containers/storage-1.30.1
Bump github.com/containers/storage from 1.30.0 to 1.30.1
Diffstat (limited to 'vendor/github.com/klauspost/compress/flate/level5.go')
-rw-r--r--vendor/github.com/klauspost/compress/flate/level5.go17
1 files changed, 16 insertions, 1 deletions
diff --git a/vendor/github.com/klauspost/compress/flate/level5.go b/vendor/github.com/klauspost/compress/flate/level5.go
index d513f1ffd..293a3a320 100644
--- a/vendor/github.com/klauspost/compress/flate/level5.go
+++ b/vendor/github.com/klauspost/compress/flate/level5.go
@@ -182,12 +182,27 @@ func (e *fastEncL5) Encode(dst *tokens, src []byte) {
// match. But, prior to the match, src[nextEmit:s] are unmatched. Emit
// them as literal bytes.
- // Extend the 4-byte match as long as possible.
if l == 0 {
+ // Extend the 4-byte match as long as possible.
l = e.matchlenLong(s+4, t+4, src) + 4
} else if l == maxMatchLength {
l += e.matchlenLong(s+l, t+l, src)
}
+
+ // Try to locate a better match by checking the end of best match...
+ if sAt := s + l; l < 30 && sAt < sLimit {
+ eLong := e.bTable[hash7(load6432(src, sAt), tableBits)].Cur.offset
+ // Test current
+ t2 := eLong - e.cur - l
+ off := s - t2
+ if t2 >= 0 && off < maxMatchOffset && off > 0 {
+ if l2 := e.matchlenLong(s, t2, src); l2 > l {
+ t = t2
+ l = l2
+ }
+ }
+ }
+
// Extend backwards
for t > 0 && s > nextEmit && src[t-1] == src[s-1] {
s--