diff --git a/src/state.rs b/src/state.rs index 2e0c27d974d17d7fe4f5f3600939455341b14ffb..b13eea0a8aa24e7ecd4fe2dacc484857cf8d9b5f 100644 --- a/src/state.rs +++ b/src/state.rs @@ -1472,7 +1472,10 @@ impl StateManager { let mut file = File::create(file_path) .map_err(|_| Error::CustomError(format!("Failed to create file: {}", file_path)))?; let data = Self::save(gb, format)?; - file.write_all(&data).unwrap(); + file.write_all(&data) + .map_err(|_| Error::CustomError(format!("Failed to write to file: {}", file_path)))?; + file.flush() + .map_err(|_| Error::CustomError(format!("Failed to flush file: {}", file_path)))?; Ok(()) } @@ -1484,7 +1487,8 @@ impl StateManager { let mut file = File::open(file_path) .map_err(|_| Error::CustomError(format!("Failed to open file: {}", file_path)))?; let mut data = vec![]; - file.read_to_end(&mut data).unwrap(); + file.read_to_end(&mut data) + .map_err(|_| Error::CustomError(format!("Failed to read from file: {}", file_path)))?; Self::load(&data, gb, format)?; Ok(()) }