diff --git a/internal/cache/cache.go b/internal/cache/cache.go index db8f1ae0..aacb8db6 100644 --- a/internal/cache/cache.go +++ b/internal/cache/cache.go @@ -86,6 +86,9 @@ func writeCachedirTag(dir string) error { func New(id string, basedir string) (c *Cache, err error) { if basedir == "" { basedir, err = DefaultDir() + if err != nil { + return nil, err + } } err = mkdirCacheDir(basedir) diff --git a/internal/cache/dir.go b/internal/cache/dir.go index 55ec8ea9..398e806c 100644 --- a/internal/cache/dir.go +++ b/internal/cache/dir.go @@ -56,10 +56,16 @@ func DefaultDir() (cachedir string, err error) { cachedir, err = darwinCacheDir() case "windows": cachedir, err = windowsCacheDir() + default: + // Default to XDG for Linux and any other OSes. + cachedir, err = xdgCacheDir() } - // Default to XDG for Linux and any other OSes. - return xdgCacheDir() + if err != nil { + return "", err + } + + return cachedir, nil } func mkdirCacheDir(cachedir string) error {