Просмотр исходного кода

src/util: Rework path to use os-specific config directory

parazyd 5 лет назад
Родитель
Сommit
d3db17c62a
1 измененных файлов с 13 добавлено и 7 удалено
  1. 13 7
      src/util.rs

+ 13 - 7
src/util.rs

@@ -1,13 +1,19 @@
-use crate::Error;
-use crate::Result;
+use std::path::{Path, PathBuf};
 
-use std::path::PathBuf;
+use crate::Result;
 
 pub fn join_config_path(file: &PathBuf) -> Result<PathBuf> {
-    let mut path = dirs::home_dir()
-        .ok_or(Error::PathNotFound)?
-        .as_path()
-        .join(".config/darkfi/");
+    let mut path = PathBuf::new();
+    let dfi_path = Path::new("darkfi");
+
+    match dirs::config_dir() {
+        Some(v) => path.push(v),
+        // This should not fail on any modern OS
+        None => {}
+    }
+
+    path.push(dfi_path);
     path.push(file);
+
     Ok(path)
 }