mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-15 04:22:36 +00:00
25 lines
582 B
Rust
25 lines
582 B
Rust
extern crate bstr;
|
|
|
|
use std::error::Error;
|
|
use std::io::{self, Write};
|
|
|
|
use bstr::io::BufReadExt;
|
|
|
|
fn main() -> Result<(), Box<Error>> {
|
|
let stdin = io::stdin();
|
|
let mut stdout = io::BufWriter::new(io::stdout());
|
|
|
|
stdin.lock().for_byte_line_with_terminator(|line| {
|
|
let end = line
|
|
.grapheme_indices()
|
|
.map(|(_, end, _)| end)
|
|
.take(10)
|
|
.last()
|
|
.unwrap_or(line.len());
|
|
stdout.write_all(line[..end].trim_end().as_bytes())?;
|
|
stdout.write_all(b"\n")?;
|
|
Ok(true)
|
|
})?;
|
|
Ok(())
|
|
}
|