From d11594db4c1247bb4a1ceb6c598526bf3b2e654e Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Sat, 16 Feb 2019 10:06:08 +0100 Subject: [PATCH] config/datastore.rs: return empty config if file does not exist --- src/config/datastore.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/config/datastore.rs b/src/config/datastore.rs index 704dc051..12f229d9 100644 --- a/src/config/datastore.rs +++ b/src/config/datastore.rs @@ -40,8 +40,17 @@ pub fn config() -> Result { let mut contents = String::new(); try_block!({ - let mut file = std::fs::File::open(DATASTORE_CFG_FILENAME)?; - file.read_to_string(&mut contents) + match std::fs::File::open(DATASTORE_CFG_FILENAME) { + Ok(mut file) => file.read_to_string(&mut contents), + Err(err) => { + if err.kind() == std::io::ErrorKind::NotFound { + contents = String::from(""); + Ok(0) + } else { + Err(err) + } + } + } }).map_err(|e| format_err!("unable to read '{}' - {}", DATASTORE_CFG_FILENAME, e))?; CONFIG.parse(DATASTORE_CFG_FILENAME, &contents)