optimizations #161

Open
emma wants to merge 44 commits from optimizations into main
Showing only changes of commit 8fd5bdf5a6 - Show all commits

View File

@ -33,7 +33,7 @@ use sysexits::{ EX_IOERR, EX_OK, EX_OSERR, EX_USAGE };
use strerror::StrError; use strerror::StrError;
#[cfg(target_os="openbsd")] extern crate openbsd; #[cfg(target_os="openbsd")] extern crate openbsd;
#[cfg(target_os="openbsd")] use openbsd::{ Promises, pledge }; #[cfg(target_os="openbsd")] use openbsd::{ Promises, pledge, unveil };
fn err(argv0: &str, e: Error, code: u8) -> ExitCode { fn err(argv0: &str, e: Error, code: u8) -> ExitCode {
eprintln!("{}: {}", argv0, e.strerror()); eprintln!("{}: {}", argv0, e.strerror());
@ -49,10 +49,14 @@ fn main() -> ExitCode {
let argv = args().collect::<Vec<String>>(); let argv = args().collect::<Vec<String>>();
#[cfg(target_os="openbsd")] { #[cfg(target_os="openbsd")] {
let promises = Promises::new("stdio"); let promises = Promises::new("stdio unveil");
if let Err(e) = pledge(Some(promises), None) { if let Err(e) = pledge(Some(promises), None) {
return err(&argv[0], e, EX_OSERR); return err(&argv[0], e, EX_OSERR);
} }
if let Err(e) = unveil(None, None) {
return err(&argv[0], e, EX_OSERR);
}
} }
let mut buf: Vec<u8> = Vec::new(); // holds the sequence getting swabbed let mut buf: Vec<u8> = Vec::new(); // holds the sequence getting swabbed