163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
-
-
-
+
+
+
|
available = 8 - predicted
// Read the non-predicted bytes and place them in the end of the buffer
rc, err = reader.Read(ctx.input[predicted:])
retryData:
if rc < int(available) && err == nil {
// Retry the read if we have fewer bytes than what the prediction header indicates
var rc int
rc, err = reader.Read(ctx.input[predicted+rc:])
rc += rc
var r int
r, err = reader.Read(ctx.input[predicted+rc:])
rc += r
goto retryData
} // Continue on any error, try to decompress and return it along the result
// Walk the buffer, filling in the predicted blanks,
// relocating read bytes and and updating the guess table
for i, a := uint(0), predicted; i < 8; i++ {
if (flags & (1 << i)) > 0 {
|