From 8e172ba1cccc8d63a1c98ce5c8d77856631b7c27 Mon Sep 17 00:00:00 2001 From: Venelin Date: Mon, 30 Dec 2024 14:23:04 +0200 Subject: [PATCH] use /var/cache when HOME is unset --- src/cppipe.cpp | 13 ++++++++----- todo.txt | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/cppipe.cpp b/src/cppipe.cpp index 57ecb5e..8412387 100644 --- a/src/cppipe.cpp +++ b/src/cppipe.cpp @@ -60,7 +60,6 @@ SrcType find_src_type(string_view path); const char DEBUG_PREFIX[] = "__DBG"; // Context -fs::path HOME; fs::path src_file; SrcType src_type; fs::path cache_dir; @@ -79,7 +78,6 @@ int main(int argc, char* argv[]) int src_arg = parse_args_until_src(argc, argv); // Init context - HOME = getenv("HOME"); src_file = find_path_to_src( argv[src_arg] ); src_type = find_src_type( argv[src_arg] ); cache_dir = get_cache_dir_path(src_file); @@ -191,14 +189,19 @@ fs::path find_path_to_src(string_view src_file) fs::path get_cache_dir_path(const fs::path& src_file) { fs::path cache_dir; - if(char* xdg_cache = getenv("XDG_CACHE_HOME")) + if(char* XDG_CACHE = getenv("XDG_CACHE_HOME")) { - cache_dir = xdg_cache; + cache_dir = XDG_CACHE; cache_dir /= "cppipe"; } + else if(char* HOME = getenv("HOME")) + { + cache_dir = HOME; + cache_dir /= ".cache/cppipe"; + } else { - cache_dir = HOME / ".cache/cppipe"; + cache_dir = "/var/cache/cppipe"; } cache_dir += fs::canonical( src_file ).parent_path(); fs::create_directories(cache_dir); diff --git a/todo.txt b/todo.txt index 5c6ec23..d615779 100644 --- a/todo.txt +++ b/todo.txt @@ -1,4 +1,5 @@ fix debug +many points in name - rc.local.start example #!/usr/bin/cppipe description - advantages over manual compile man