summaryrefslogtreecommitdiff
path: root/libgo/go/compress/flate/copy.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/compress/flate/copy.go')
-rw-r--r--libgo/go/compress/flate/copy.go32
1 files changed, 0 insertions, 32 deletions
diff --git a/libgo/go/compress/flate/copy.go b/libgo/go/compress/flate/copy.go
deleted file mode 100644
index a3200a8f49..0000000000
--- a/libgo/go/compress/flate/copy.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package flate
-
-// forwardCopy is like the built-in copy function except that it always goes
-// forward from the start, even if the dst and src overlap.
-// It is equivalent to:
-// for i := 0; i < n; i++ {
-// mem[dst+i] = mem[src+i]
-// }
-func forwardCopy(mem []byte, dst, src, n int) {
- if dst <= src {
- copy(mem[dst:dst+n], mem[src:src+n])
- return
- }
- for {
- if dst >= src+n {
- copy(mem[dst:dst+n], mem[src:src+n])
- return
- }
- // There is some forward overlap. The destination
- // will be filled with a repeated pattern of mem[src:src+k].
- // We copy one instance of the pattern here, then repeat.
- // Each time around this loop k will double.
- k := dst - src
- copy(mem[dst:dst+k], mem[src:src+k])
- n -= k
- dst += k
- }
-}