Sha256: c84296304463f26820ffac0fec5c833fa93595ded781a90bee09a983de54a71c

Contents?: true

Size: 1.06 KB

Versions: 25

Compression:

Stored size: 1.06 KB

Contents

use std::env;
use std::io::{self, Write};
use std::str::FromStr;

fn main() {
    match env::args().nth(1) {
        None => {
            writeln!(
                &mut io::stderr(),
                "Invalid option. Usage: `stream [-d|-1..-21]`"
            )
            .unwrap();
        }
        Some(ref option) if option == "-d" => decompress(),
        Some(ref option) => {
            if option.starts_with('-') {
                let level = match i32::from_str(&option[1..]) {
                    Ok(level) => level,
                    Err(e) => panic!("Error parsing compression level: {}", e),
                };
                compress(level);
            } else {
                writeln!(
                    &mut io::stderr(),
                    "Invalid option. Usage: `stream [-d|-1..-21]`"
                )
                .unwrap();
            }
        }
    }
}

fn compress(level: i32) {
    zstd::stream::copy_encode(io::stdin(), io::stdout(), level).unwrap();
}

fn decompress() {
    zstd::stream::copy_decode(io::stdin(), io::stdout()).unwrap();
}

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
wasmtime-18.0.3 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-17.0.1 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-17.0.0 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-16.0.0 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-15.0.1 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-15.0.0 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-14.0.4 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-14.0.3 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-14.0.1 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-14.0.0 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-13.0.0 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-12.0.1 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-12.0.0 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-11.0.0 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-10.0.1 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-10.0.0 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-9.0.4 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-9.0.1 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-8.0.0 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs
wasmtime-7.0.0 ./ext/cargo-vendor/zstd-0.11.2+zstd.1.5.2/examples/stream.rs