aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorTeddy Wing2022-03-19 20:41:31 +0100
committerTeddy Wing2022-03-19 20:41:31 +0100
commit78358c6f9e084b27a5fc513095a972c6b0e3361a (patch)
treec2d08284fec9978dff5c9376da52d95bafd61cac /src/main.rs
parentc75a82361cb3566d196a1fb930ea4833f40b0ffd (diff)
downloadyaqlite-78358c6f9e084b27a5fc513095a972c6b0e3361a.tar.bz2
main: Write YAML to standard output
Create an adapter from `std::fmt::Write` to `std::io::Write` based on the following idea in the standard library: https://github.com/rust-lang/rust/blob/master/library/std/src/io/mod.rs#L1634-L1652 Since `yaml_rust::YamlEmitter::new()` requires a `std::fmt::Write`, adapt standard output so the emitter can write to it.
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs
index 7f372ea..2ac689c 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -94,9 +94,10 @@ fn main() {
).unwrap(),
};
- let mut emitter = yaml_rust::YamlEmitter::new(
- &mut std::io::stdout().lock(),
- );
+ let stdout = std::io::stdout();
+ let mut stdout_handle = stdout.lock();
+ let mut buffer = yaqlite::yaml::IoAdapter::new(&mut stdout_handle);
+ let mut emitter = yaml_rust::YamlEmitter::new(&mut buffer);
emitter.dump(&yaml_data).unwrap();
dbconn.close().unwrap();