Files
trivy/utils/utils.go
Teppei Fukuda cb66108f4d fix(config): change selector type (fanal#189)
* fix(config): change selector type

* test(policy): fix test data
2021-06-28 14:52:57 +03:00

54 lines
810 B
Go

package utils
import (
"bufio"
"fmt"
"os"
"os/exec"
)
var (
PathSeparator = fmt.Sprintf("%c", os.PathSeparator)
)
func CacheDir() string {
cacheDir, err := os.UserCacheDir()
if err != nil {
cacheDir = os.TempDir()
}
return cacheDir
}
func StringInSlice(a string, list []string) bool {
for _, b := range list {
if b == a {
return true
}
}
return false
}
func IsCommandAvailable(name string) bool {
if _, err := exec.LookPath(name); err != nil {
return false
}
return true
}
func IsGzip(f *bufio.Reader) bool {
buf := make([]byte, 3)
buf, err := f.Peek(3)
if err != nil {
return false
}
return buf[0] == 0x1F && buf[1] == 0x8B && buf[2] == 0x8
}
func Keys(m map[string]struct{}) []string {
var keys []string
for k := range m {
keys = append(keys, k)
}
return keys
}