mirror of
https://github.com/librespot-org/librespot.git
synced 2024-12-18 17:11:53 +00:00
Main issue is probably when copying the content to the file, not during the file creation, but handle both cases just to be sure
This commit is contained in:
parent
9d832baf83
commit
5f11ddea50
1 changed files with 16 additions and 14 deletions
|
@ -85,21 +85,23 @@ impl Cache {
|
|||
let path = self.file_path(file);
|
||||
mkdir_existing(path.parent().unwrap()).unwrap();
|
||||
|
||||
let file_create = File::create(path);
|
||||
match file_create {
|
||||
Ok(mut cache_file) => {
|
||||
::std::io::copy(contents, &mut cache_file).unwrap();
|
||||
}
|
||||
Err(_error) => {
|
||||
let mut cache_file = File::create(path).unwrap_or_else(|_e| {
|
||||
::std::fs::remove_dir_all(&self.root.join("files")).unwrap();
|
||||
mkdir_existing(&self.root.join("files")).unwrap();
|
||||
|
||||
let path = self.file_path(file);
|
||||
mkdir_existing(path.parent().unwrap()).unwrap();
|
||||
let mut cache_file = File::create(path).unwrap();
|
||||
::std::io::copy(contents, &mut cache_file).unwrap();
|
||||
}
|
||||
};
|
||||
File::create(path).unwrap()
|
||||
});
|
||||
::std::io::copy(contents, &mut cache_file).unwrap_or_else(|_e| {
|
||||
::std::fs::remove_dir_all(&self.root.join("files")).unwrap();
|
||||
mkdir_existing(&self.root.join("files")).unwrap();
|
||||
|
||||
let path = self.file_path(file);
|
||||
mkdir_existing(path.parent().unwrap()).unwrap();
|
||||
let mut file = File::create(path).unwrap();
|
||||
::std::io::copy(contents, &mut file).unwrap()
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue