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; let stdin = &mut io::stdin(); { use std::io::{Read, Write}; let mut reader = brotli::Decompressor::new( stdin, 4096, // buffer size ); let mut buf = [0u8; 4096]; loop { match reader.read(&mut buf[..]) { Err(e) => { if let io::ErrorKind::Interrupted = e.kind() { continue; } panic!("{}", e); } Ok(size) => { if size == 0 { break; } match io::stdout().write_all(&buf[..size]) { Err(e) => panic!("{}", e), Ok(_) => {} } } } } } }