aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs
index f5ebb26..d556064 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -204,13 +204,19 @@ fn fetch_source(url: &str) -> io::Result<proto::Source> {
}
fn load_config(path: &str) -> io::Result<config::Config> {
- use serde_json;
+ use toml;
use std::fs;
- let config_file = fs::File::open(path)?;
- let rd = io::BufReader::new(config_file);
- let mut de = serde_json::Deserializer::from_reader(rd);
- Ok(serde::Deserialize::deserialize(&mut de)?)
+ let mut data = String::new();
+ {
+ use io::Read;
+ let mut config_file = fs::File::open(path)?;
+ config_file.read_to_string(&mut data)?;
+ }
+ let mut de = toml::Deserializer::new(&data);
+ serde::Deserialize::deserialize(&mut de).map_err(|e| {
+ io::Error::new(io::ErrorKind::InvalidData, e)
+ })
}
fn main() {