Lines Matching refs:di

38 func UncompressBlock(src, dst []byte, di int) (int, error) {
39 si, sn, di0 := 0, len(src), di
49 return di, ErrInvalidSource
58 return di - di0, ErrInvalidSource
63 return di - di0, ErrInvalidSource
66 if len(dst)-di < lLen || si+lLen > sn {
67 return di - di0, ErrShortBuffer
69 di += copy(dst[di:], src[si:si+lLen])
72 return di - di0, nil
77 return di, ErrInvalidSource
80 if di-offset < 0 || offset == 0 {
81 return di - di0, ErrInvalidSource
89 return di - di0, ErrInvalidSource
94 return di - di0, ErrInvalidSource
99 if len(dst)-di <= mLen {
100 return di - di0, ErrShortBuffer
108 expanded := dst[di-offset : di+bytesToCopy]
114 di += bytesToCopy
118 di += copy(dst[di:], dst[di-offset:di-offset+mLen])
133 var si, di int
192 dst[di] = byte(mLen)
194 dst[di] = 0xF
199 dst[di] |= byte(lLen << 4)
201 dst[di] |= 0xF0
202 if di++; di == dn {
203 return di, ErrShortBuffer
207 dst[di] = 0xFF
208 if di++; di == dn {
209 return di, ErrShortBuffer
212 dst[di] = byte(l)
214 if di++; di == dn {
215 return di, ErrShortBuffer
219 if di+lLen >= dn {
220 return di, ErrShortBuffer
222 di += copy(dst[di:], src[anchor:anchor+lLen])
226 if di += 2; di >= dn {
227 return di, ErrShortBuffer
229 dst[di-2], dst[di-1] = byte(offset), byte(offset>>8)
234 dst[di] = 0xFF
235 if di++; di == dn {
236 return di, ErrShortBuffer
239 dst[di] = byte(mLen)
240 if di++; di == dn {
241 return di, ErrShortBuffer
254 dst[di] = byte(lLen << 4)
256 dst[di] = 0xF0
257 if di++; di == dn {
258 return di, ErrShortBuffer
262 dst[di] = 0xFF
263 if di++; di == dn {
264 return di, ErrShortBuffer
267 dst[di] = byte(lLen)
269 if di++; di == dn {
270 return di, ErrShortBuffer
275 switch n := di + len(src); {
277 return di, ErrShortBuffer
282 di += copy(dst[di:], src)
283 return di, nil
297 var si, di int
362 dst[di] = byte(mLen)
364 dst[di] = 0xF
369 dst[di] |= byte(lLen << 4)
371 dst[di] |= 0xF0
372 if di++; di == dn {
373 return di, ErrShortBuffer
377 dst[di] = 0xFF
378 if di++; di == dn {
379 return di, ErrShortBuffer
382 dst[di] = byte(l)
384 if di++; di == dn {
385 return di, ErrShortBuffer
389 if di+lLen >= dn {
390 return di, ErrShortBuffer
392 di += copy(dst[di:], src[anchor:anchor+lLen])
396 if di += 2; di >= dn {
397 return di, ErrShortBuffer
399 dst[di-2], dst[di-1] = byte(offset), byte(offset>>8)
404 dst[di] = 0xFF
405 if di++; di == dn {
406 return di, ErrShortBuffer
409 dst[di] = byte(mLen)
410 if di++; di == dn {
411 return di, ErrShortBuffer
424 dst[di] = byte(lLen << 4)
426 dst[di] = 0xF0
427 if di++; di == dn {
428 return di, ErrShortBuffer
432 dst[di] = 0xFF
433 if di++; di == dn {
434 return di, ErrShortBuffer
437 dst[di] = byte(lLen)
439 if di++; di == dn {
440 return di, ErrShortBuffer
445 switch n := di + len(src); {
447 return di, ErrShortBuffer
452 di += copy(dst[di:], src)
453 return di, nil