Skip to content

Commit 0b03919

Browse files
committed
fix panic caused by corrupt cdn_info.json
1 parent cb9545e commit 0b03919

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/main.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,14 @@ struct UpdateStats {
3737
bytes_downloaded: u64,
3838
}
3939

40-
fn parse_info(info: &str) -> CdnInfo {
41-
DeJson::deserialize_json(info).unwrap()
42-
}
43-
4440
// Read file to serde json CdnInfo
4541
fn read_info_file(filepath: &Path) -> CdnInfo {
4642
let info_file = fs::read_to_string(filepath)
4743
.unwrap_or_else(|_| include_str!("assets/default_info.json").to_string());
48-
parse_info(&info_file)
44+
let info: CdnInfo = DeJson::deserialize_json(&info_file).unwrap_or_else(|_| {
45+
DeJson::deserialize_json(include_str!("assets/default_info.json")).unwrap()
46+
});
47+
info
4948
}
5049

5150
// Write serde json CdnInfo to file
@@ -381,7 +380,7 @@ fn main() {
381380
};
382381

383382
let local_info = read_info_file(&Path::join(Path::new(&args.directory), "cdn_info.json"));
384-
let cdn_info = parse_info(&http::get_body_string(&cdn));
383+
let cdn_info: CdnInfo = DeJson::deserialize_json(&http::get_body_string(&cdn)).unwrap();
385384

386385
if args.version_local {
387386
println!("{}", local_info.revision);

0 commit comments

Comments
 (0)