We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 6c5f5e9 commit e6c9379Copy full SHA for e6c9379
pkg/meta/slice.go
@@ -157,11 +157,20 @@ func buildSlice(ss []*slice) []Slice {
157
func compactChunk(ss []*slice) (uint32, uint32, []Slice) {
158
var chunk = buildSlice(ss)
159
var pos uint32
160
- for len(chunk) > 1 && chunk[0].Id == 0 {
161
- pos += chunk[0].Len
162
- chunk = chunk[1:]
+ n := len(chunk)
+ for n > 1 {
+ if chunk[0].Id == 0 {
163
+ pos += chunk[0].Len
164
+ chunk = chunk[1:]
165
+ n--
166
+ } else if chunk[n-1].Id == 0 {
167
+ chunk = chunk[:n-1]
168
169
+ } else {
170
+ break
171
+ }
172
}
- if len(chunk) == 1 && chunk[0].Id == 0 {
173
+ if n == 1 && chunk[0].Id == 0 {
174
chunk[0].Len = 1
175
176
var size uint32
0 commit comments