diff options
author | Teddy Wing | 2022-03-19 20:41:31 +0100 |
---|---|---|
committer | Teddy Wing | 2022-03-19 20:41:31 +0100 |
commit | 78358c6f9e084b27a5fc513095a972c6b0e3361a (patch) | |
tree | c2d08284fec9978dff5c9376da52d95bafd61cac /src/main.rs | |
parent | c75a82361cb3566d196a1fb930ea4833f40b0ffd (diff) | |
download | yaqlite-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.rs | 7 |
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(); |