From 3e05d8cc19867bcad0d17cd9d5ea870660061dc9 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Wed, 17 Oct 2018 22:08:02 +0200 Subject: Gracefully handle io output errors in export_preset --- src/pa_effects.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/pa_effects.rs b/src/pa_effects.rs index 801f317..b82084e 100644 --- a/src/pa_effects.rs +++ b/src/pa_effects.rs @@ -2,10 +2,12 @@ use cli::pa_effects::*; use utils::*; use Filter; -use failure::Error; +use failure::{Error, ResultExt}; use serde_json; +use std::io::{self, Write}; + const DEFAULT_PRESET: &str = include_str!("../res/default-pa-effects-preset.json"); pub fn main(cmd: Command) -> Result<(), Error> { @@ -33,7 +35,10 @@ fn export_preset(args: ExportPresetCli) -> Result<(), Error> { preset["output"]["equalizer"] = filter_to_eq_preset(filter); - println!("{}", preset); + let stdout = io::stdout(); + let mut handle = stdout.lock(); + + writeln!(handle, "{}", preset).context("Could not output the PulseEffects preset")?; Ok(()) } -- cgit v1.2.3