extern crate brotli; #[cfg(not(feature = "std"))] fn main() { panic!("For no-stdlib examples please see the tests") } #[cfg(feature = "std")] fn main() { use std::io; use std::io::{Read, Write}; let stdout = &mut io::stdout(); { let mut writer = brotli::CompressorWriter::new(stdout, 4096, 11, 22); let mut buf = [0u8; 4096]; loop { match io::stdin().read(&mut buf[..]) { Err(e) => { if let io::ErrorKind::Interrupted = e.kind() { continue; } panic!("{}", e); } Ok(size) => { if size == 0 { match writer.flush() { Err(e) => { if let io::ErrorKind::Interrupted = e.kind() { continue; } panic!("{}", e) } Ok(_) => break, } } match writer.write_all(&buf[..size]) { Err(e) => panic!("{}", e), Ok(_) => {} } } } } } }