summaryrefslogtreecommitdiff
path: root/vendor/github.com/klauspost/compress/s2/decode_other.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2025-03-02 16:42:51 +0100
committerLibravatar GitHub <noreply@github.com>2025-03-02 16:42:51 +0100
commit8488ac928651656c6f7bebf5eaabce62c2b9fb66 (patch)
tree94357311026e5ed96862a647400375a4543dd815 /vendor/github.com/klauspost/compress/s2/decode_other.go
parent[chore] go-swagger -> codeberg (#3856) (diff)
downloadgotosocial-8488ac928651656c6f7bebf5eaabce62c2b9fb66.tar.xz
[chore] migrate oauth2 -> codeberg (#3857)
Diffstat (limited to 'vendor/github.com/klauspost/compress/s2/decode_other.go')
-rw-r--r--vendor/github.com/klauspost/compress/s2/decode_other.go26
1 files changed, 11 insertions, 15 deletions
diff --git a/vendor/github.com/klauspost/compress/s2/decode_other.go b/vendor/github.com/klauspost/compress/s2/decode_other.go
index 2cb55c2c7..c99d40b69 100644
--- a/vendor/github.com/klauspost/compress/s2/decode_other.go
+++ b/vendor/github.com/klauspost/compress/s2/decode_other.go
@@ -11,6 +11,8 @@ package s2
import (
"fmt"
"strconv"
+
+ "github.com/klauspost/compress/internal/le"
)
// decode writes the decoding of src to dst. It assumes that the varint-encoded
@@ -38,21 +40,18 @@ func s2Decode(dst, src []byte) int {
case x < 60:
s++
case x == 60:
+ x = uint32(src[s+1])
s += 2
- x = uint32(src[s-1])
case x == 61:
- in := src[s : s+3]
- x = uint32(in[1]) | uint32(in[2])<<8
+ x = uint32(le.Load16(src, s+1))
s += 3
case x == 62:
- in := src[s : s+4]
// Load as 32 bit and shift down.
- x = uint32(in[0]) | uint32(in[1])<<8 | uint32(in[2])<<16 | uint32(in[3])<<24
+ x = le.Load32(src, s)
x >>= 8
s += 4
case x == 63:
- in := src[s : s+5]
- x = uint32(in[1]) | uint32(in[2])<<8 | uint32(in[3])<<16 | uint32(in[4])<<24
+ x = le.Load32(src, s+1)
s += 5
}
length = int(x) + 1
@@ -85,8 +84,7 @@ func s2Decode(dst, src []byte) int {
length = int(src[s]) + 4
s += 1
case 6:
- in := src[s : s+2]
- length = int(uint32(in[0])|(uint32(in[1])<<8)) + (1 << 8)
+ length = int(le.Load16(src, s)) + 1<<8
s += 2
case 7:
in := src[s : s+3]
@@ -99,15 +97,13 @@ func s2Decode(dst, src []byte) int {
}
length += 4
case tagCopy2:
- in := src[s : s+3]
- offset = int(uint32(in[1]) | uint32(in[2])<<8)
- length = 1 + int(in[0])>>2
+ offset = int(le.Load16(src, s+1))
+ length = 1 + int(src[s])>>2
s += 3
case tagCopy4:
- in := src[s : s+5]
- offset = int(uint32(in[1]) | uint32(in[2])<<8 | uint32(in[3])<<16 | uint32(in[4])<<24)
- length = 1 + int(in[0])>>2
+ offset = int(le.Load32(src, s+1))
+ length = 1 + int(src[s])>>2
s += 5
}