mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Added all required dependencies
This commit is contained in:
		
							
								
								
									
										32
									
								
								vendor/github.com/klauspost/compress/flate/copy.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								vendor/github.com/klauspost/compress/flate/copy.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| // 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 | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user