Browse Source

Fix incorrect cache initialisation causing crash on startup

Sasha Hilton 3 years ago
parent
commit
efabb03631
1 changed files with 12 additions and 12 deletions
  1. 12 12
      src/main.rs

+ 12 - 12
src/main.rs

@@ -254,18 +254,18 @@ fn setup(args: &[String]) -> Setup {
         mapped_volume: !matches.opt_present("mixer-linear-volume"),
     };
 
-    let use_audio_cache = !matches.opt_present("disable-audio-cache");
-
-    let cache_directory = matches.opt_str("c").unwrap_or(String::from(""));
-    let system_cache_directory = matches
-        .opt_str("system-cache")
-        .unwrap_or(String::from(cache_directory.clone()));
-
-    let cache = Some(Cache::new(
-        PathBuf::from(cache_directory),
-        PathBuf::from(system_cache_directory),
-        use_audio_cache,
-    ));
+    let cache = matches.opt_str("c").map(|cache_path| {
+        let use_audio_cache = !matches.opt_present("disable-audio-cache");
+        let system_cache_directory = matches
+            .opt_str("system-cache")
+            .unwrap_or(String::from(cache_path.clone()));
+
+        Cache::new(
+            PathBuf::from(cache_path),
+            PathBuf::from(system_cache_directory),
+            use_audio_cache,
+        )
+    });
 
     let initial_volume = matches
         .opt_str("initial-volume")