浏览代码

archive: simplify DetectCompression

Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
Johan Euphrosine 11 年之前
父节点
当前提交
3118952e0a
共有 1 个文件被更改,包括 1 次插入15 次删除
  1. 1 15
      archive/archive.go

+ 1 - 15
archive/archive.go

@@ -42,26 +42,12 @@ const (
 )
 )
 
 
 func DetectCompression(source []byte) Compression {
 func DetectCompression(source []byte) Compression {
-	sourceLen := len(source)
 	for compression, m := range map[Compression][]byte{
 	for compression, m := range map[Compression][]byte{
 		Bzip2: {0x42, 0x5A, 0x68},
 		Bzip2: {0x42, 0x5A, 0x68},
 		Gzip:  {0x1F, 0x8B, 0x08},
 		Gzip:  {0x1F, 0x8B, 0x08},
 		Xz:    {0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00},
 		Xz:    {0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00},
 	} {
 	} {
-		fail := false
-		if len(m) > sourceLen {
-			utils.Debugf("Len too short")
-			continue
-		}
-		i := 0
-		for _, b := range m {
-			if b != source[i] {
-				fail = true
-				break
-			}
-			i++
-		}
-		if !fail {
+		if bytes.Compare(m, source[:len(m)]) == 0 {
 			return compression
 			return compression
 		}
 		}
 	}
 	}