diff options
Diffstat (limited to 'src/util.rs')
-rw-r--r-- | src/util.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/util.rs b/src/util.rs index fdc3bed..94f9796 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,5 +1,5 @@ use anyhow::Context as _; -use std::io::BufRead as _; +use std::io::{BufRead as _, Read as _}; pub fn read_ints(filename: &str) -> anyhow::Result<Vec<i32>> { let f = std::fs::File::open(filename) @@ -15,3 +15,12 @@ pub fn read_ints(filename: &str) -> anyhow::Result<Vec<i32>> { .collect(); ints } + +pub fn read_file_str(filename: &str) -> anyhow::Result<String> { + let mut f = std::fs::File::open(filename) + .with_context(|| format!("couldn't find data file {}", filename))?; + let mut s = String::new(); + f.read_to_string(&mut s) + .context("failed to read map contents")?; + Ok(s) +} |