From afaeb7423871552e20480d44576cadc807824d1b Mon Sep 17 00:00:00 2001 From: gym603 Date: Fri, 1 Dec 2023 05:04:42 +0800 Subject: [PATCH] os: create the folder described by `XDG_CACHE_HOME`, *if it is non empty, and it does not exist yet*, when calling `os.cache_dir()` (#20046) --- vlib/os/os.v | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vlib/os/os.v b/vlib/os/os.v index 7e3b68564b..0b521a8326 100644 --- a/vlib/os/os.v +++ b/vlib/os/os.v @@ -733,6 +733,9 @@ pub fn cache_dir() string { // or empty, a default equal to $HOME/.cache should be used. xdg_cache_home := getenv('XDG_CACHE_HOME') if xdg_cache_home != '' { + if !is_dir(xdg_cache_home) && !is_link(xdg_cache_home) { + mkdir_all(xdg_cache_home, mode: 0o700) or { panic(err) } + } return xdg_cache_home } cdir := join_path_single(home_dir(), '.cache')