mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-08-04 06:57:47 +00:00
Remove pipe_* macros
This commit is contained in:
parent
6829ca3d10
commit
7aea948473
73 changed files with 150 additions and 311 deletions
|
@ -13,7 +13,7 @@ extern crate uucore;
|
|||
use uucore::encoding::{Data, Format, wrap_print};
|
||||
|
||||
use std::fs::File;
|
||||
use std::io::{BufReader, Read, stdin, Write};
|
||||
use std::io::{BufReader, Read, stdin};
|
||||
use std::path::Path;
|
||||
|
||||
static SYNTAX: &'static str = "[OPTION]... [FILE]";
|
||||
|
|
|
@ -15,7 +15,7 @@ extern crate uucore;
|
|||
use uucore::encoding::{Data, Format, wrap_print};
|
||||
|
||||
use std::fs::File;
|
||||
use std::io::{BufReader, Read, stdin, Write};
|
||||
use std::io::{BufReader, Read, stdin};
|
||||
use std::path::Path;
|
||||
|
||||
static SYNTAX: &'static str = "[OPTION]... [FILE]";
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
use std::io::Write;
|
||||
use std::path::{is_separator, PathBuf};
|
||||
|
||||
static NAME: &'static str = "basename";
|
||||
|
|
|
@ -17,7 +17,6 @@ use uucore::fs::resolve_relative_path;
|
|||
extern crate walkdir;
|
||||
use walkdir::WalkDir;
|
||||
|
||||
use std::io::prelude::*;
|
||||
use std::io::Result as IOResult;
|
||||
use std::io::Error as IOError;
|
||||
|
||||
|
|
|
@ -17,7 +17,6 @@ extern crate walker;
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs;
|
||||
use std::io::Write;
|
||||
use std::os::unix::fs::{MetadataExt, PermissionsExt};
|
||||
use std::path::Path;
|
||||
use walker::Walker;
|
||||
|
|
|
@ -23,7 +23,7 @@ use walkdir::WalkDir;
|
|||
use std::fs::{self, Metadata};
|
||||
use std::os::unix::fs::MetadataExt;
|
||||
|
||||
use std::io::{self, Write};
|
||||
use std::io;
|
||||
use std::io::Result as IOResult;
|
||||
|
||||
use std::path::Path;
|
||||
|
|
|
@ -18,7 +18,7 @@ use uucore::libc::{self, setgid, setuid, chroot, setgroups};
|
|||
use uucore::entries;
|
||||
|
||||
use std::ffi::CString;
|
||||
use std::io::{Error, Write};
|
||||
use std::io::Error;
|
||||
use std::iter::FromIterator;
|
||||
use std::path::Path;
|
||||
use std::process::Command;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
* (c) Michael Gehring <mg@ebfe.org>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs::File;
|
||||
use std::io::{self, stdin, Read, Write, BufReader};
|
||||
use std::io::{self, stdin, Read, BufReader};
|
||||
#[cfg(not(windows))]
|
||||
use std::mem;
|
||||
use std::path::Path;
|
||||
|
|
|
@ -39,7 +39,7 @@ use clap::{Arg, App, ArgMatches};
|
|||
use quick_error::ResultExt;
|
||||
use std::collections::HashSet;
|
||||
use std::fs;
|
||||
use std::io::{BufReader, BufRead, stdin, Write};
|
||||
use std::io::{BufReader, BufRead, stdin, stdout, Write};
|
||||
use std::io;
|
||||
use std::path::{Path, PathBuf, StripPrefixError};
|
||||
use std::str::FromStr;
|
||||
|
@ -114,9 +114,9 @@ macro_rules! or_continue(
|
|||
/// answered yes.
|
||||
macro_rules! prompt_yes(
|
||||
($($args:tt)+) => ({
|
||||
pipe_write!(&mut ::std::io::stdout(), $($args)+);
|
||||
pipe_write!(&mut ::std::io::stdout(), " [y/N]: ");
|
||||
pipe_flush!();
|
||||
print!($($args)+);
|
||||
print!(" [y/N]: ");
|
||||
crash_if_err!(1, stdout().flush());
|
||||
let mut s = String::new();
|
||||
match BufReader::new(stdin()).read_line(&mut s) {
|
||||
Ok(_) => match s.char_indices().nth(0) {
|
||||
|
|
|
@ -136,7 +136,7 @@ impl<R: Read> self::Bytes::Select for ByteReader<R> {
|
|||
};
|
||||
|
||||
match out {
|
||||
Some(out) => pipe_crash_if_err!(1, out.write_all(&buffer[0..consume_val])),
|
||||
Some(out) => crash_if_err!(1, out.write_all(&buffer[0..consume_val])),
|
||||
None => (),
|
||||
}
|
||||
(res, consume_val)
|
||||
|
|
|
@ -150,7 +150,7 @@ fn cut_bytes<R: Read>(reader: R, ranges: &[Range], opts: &Options) -> i32 {
|
|||
loop {
|
||||
match buf_read.select(low - cur_pos, None::<&mut Stdout>) {
|
||||
NewlineFound => {
|
||||
pipe_crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
continue 'newline
|
||||
}
|
||||
Complete(len) => {
|
||||
|
@ -160,7 +160,7 @@ fn cut_bytes<R: Read>(reader: R, ranges: &[Range], opts: &Options) -> i32 {
|
|||
Partial(len) => cur_pos += len,
|
||||
EndOfFile => {
|
||||
if orig_pos != cur_pos {
|
||||
pipe_crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
}
|
||||
|
||||
break 'newline
|
||||
|
@ -171,7 +171,7 @@ fn cut_bytes<R: Read>(reader: R, ranges: &[Range], opts: &Options) -> i32 {
|
|||
match opts.out_delim {
|
||||
Some(ref delim) => {
|
||||
if print_delim {
|
||||
pipe_crash_if_err!(1, out.write_all(delim.as_bytes()));
|
||||
crash_if_err!(1, out.write_all(delim.as_bytes()));
|
||||
}
|
||||
print_delim = true;
|
||||
}
|
||||
|
@ -189,7 +189,7 @@ fn cut_bytes<R: Read>(reader: R, ranges: &[Range], opts: &Options) -> i32 {
|
|||
}
|
||||
EndOfFile => {
|
||||
if cur_pos != low || low == high {
|
||||
pipe_crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
}
|
||||
|
||||
break 'newline
|
||||
|
@ -199,7 +199,7 @@ fn cut_bytes<R: Read>(reader: R, ranges: &[Range], opts: &Options) -> i32 {
|
|||
}
|
||||
|
||||
buf_read.consume_line();
|
||||
pipe_crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
}
|
||||
|
||||
0
|
||||
|
@ -230,9 +230,9 @@ fn cut_fields_delimiter<R: Read>(reader: R, ranges: &[Range], delim: &str, only_
|
|||
|
||||
if delim_search.peek().is_none() {
|
||||
if ! only_delimited {
|
||||
pipe_crash_if_err!(1, out.write_all(line));
|
||||
crash_if_err!(1, out.write_all(line));
|
||||
if line[line.len() - 1] != newline_char {
|
||||
pipe_crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -249,14 +249,14 @@ fn cut_fields_delimiter<R: Read>(reader: R, ranges: &[Range], delim: &str, only_
|
|||
|
||||
for _ in 0..high - low + 1 {
|
||||
if print_delim {
|
||||
pipe_crash_if_err!(1, out.write_all(out_delim.as_bytes()));
|
||||
crash_if_err!(1, out.write_all(out_delim.as_bytes()));
|
||||
}
|
||||
|
||||
match delim_search.next() {
|
||||
Some((high_idx, next_low_idx)) => {
|
||||
let segment = &line[low_idx..high_idx];
|
||||
|
||||
pipe_crash_if_err!(1, out.write_all(segment));
|
||||
crash_if_err!(1, out.write_all(segment));
|
||||
|
||||
print_delim = true;
|
||||
|
||||
|
@ -266,7 +266,7 @@ fn cut_fields_delimiter<R: Read>(reader: R, ranges: &[Range], delim: &str, only_
|
|||
None => {
|
||||
let segment = &line[low_idx..];
|
||||
|
||||
pipe_crash_if_err!(1, out.write_all(segment));
|
||||
crash_if_err!(1, out.write_all(segment));
|
||||
|
||||
if line[line.len() - 1] == newline_char {
|
||||
continue 'newline
|
||||
|
@ -277,7 +277,7 @@ fn cut_fields_delimiter<R: Read>(reader: R, ranges: &[Range], delim: &str, only_
|
|||
}
|
||||
}
|
||||
|
||||
pipe_crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
}
|
||||
|
||||
0
|
||||
|
@ -318,9 +318,9 @@ fn cut_fields<R: Read>(reader: R, ranges: &[Range], opts: &FieldOptions) -> i32
|
|||
|
||||
if delim_search.peek().is_none() {
|
||||
if ! opts.only_delimited {
|
||||
pipe_crash_if_err!(1, out.write_all(line));
|
||||
crash_if_err!(1, out.write_all(line));
|
||||
if line[line.len() - 1] != newline_char {
|
||||
pipe_crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -345,7 +345,7 @@ fn cut_fields<R: Read>(reader: R, ranges: &[Range], opts: &FieldOptions) -> i32
|
|||
Some((high_idx, next_low_idx)) => {
|
||||
let segment = &line[low_idx..high_idx];
|
||||
|
||||
pipe_crash_if_err!(1, out.write_all(segment));
|
||||
crash_if_err!(1, out.write_all(segment));
|
||||
|
||||
print_delim = true;
|
||||
low_idx = next_low_idx;
|
||||
|
@ -354,7 +354,7 @@ fn cut_fields<R: Read>(reader: R, ranges: &[Range], opts: &FieldOptions) -> i32
|
|||
None => {
|
||||
let segment = &line[low_idx..line.len()];
|
||||
|
||||
pipe_crash_if_err!(1, out.write_all(segment));
|
||||
crash_if_err!(1, out.write_all(segment));
|
||||
|
||||
if line[line.len() - 1] == newline_char {
|
||||
continue 'newline
|
||||
|
@ -364,7 +364,7 @@ fn cut_fields<R: Read>(reader: R, ranges: &[Range], opts: &FieldOptions) -> i32
|
|||
}
|
||||
}
|
||||
|
||||
pipe_crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
crash_if_err!(1, out.write_all(&[newline_char]));
|
||||
}
|
||||
|
||||
0
|
||||
|
|
|
@ -13,9 +13,8 @@ extern crate glob;
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
|
||||
use std::fs::File;
|
||||
use std::io::{BufRead, BufReader, Write};
|
||||
use std::io::{BufRead, BufReader};
|
||||
use std::borrow::Borrow;
|
||||
use std::env;
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
use std::io::Write;
|
||||
use std::io::{Write, stdout};
|
||||
use std::str::from_utf8;
|
||||
|
||||
#[allow(dead_code)]
|
||||
|
@ -173,7 +173,7 @@ pub fn uumain(args: Vec<String>) -> i32 {
|
|||
}
|
||||
|
||||
if options.newline {
|
||||
pipe_flush!();
|
||||
return_if_err!(1, stdout().flush())
|
||||
} else {
|
||||
println!("")
|
||||
}
|
||||
|
|
4
src/env/env.rs
vendored
4
src/env/env.rs
vendored
|
@ -17,7 +17,7 @@
|
|||
extern crate uucore;
|
||||
|
||||
use std::env;
|
||||
use std::io::Write;
|
||||
use std::io::{Write, stdout};
|
||||
use std::process::Command;
|
||||
|
||||
static NAME: &'static str = "env";
|
||||
|
@ -189,7 +189,7 @@ pub fn uumain(args: Vec<String>) -> i32 {
|
|||
} else {
|
||||
// no program provided
|
||||
print_env(opts.null);
|
||||
pipe_flush!();
|
||||
return_if_err!(1, stdout().flush());
|
||||
}
|
||||
|
||||
0
|
||||
|
|
|
@ -16,8 +16,6 @@ extern crate onig;
|
|||
mod tokens;
|
||||
mod syntax_tree;
|
||||
|
||||
use std::io::{Write};
|
||||
|
||||
static NAME: &'static str = "expr";
|
||||
static VERSION: &'static str = env!("CARGO_PKG_VERSION");
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ extern crate uucore;
|
|||
use numeric::*;
|
||||
use rand::distributions::{Range, IndependentSample};
|
||||
use std::cmp::{max, min};
|
||||
use std::io::{stdin, BufRead, BufReader, Write};
|
||||
use std::io::{stdin, BufRead, BufReader};
|
||||
use std::num::Wrapping;
|
||||
use std::mem::swap;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
@ -13,7 +13,7 @@
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs::File;
|
||||
use std::io::{BufRead, BufReader, Read, stdin, Write};
|
||||
use std::io::{BufRead, BufReader, Read, stdin};
|
||||
use std::path::Path;
|
||||
|
||||
static SYNTAX: &'static str = "[OPTION]... [FILE]...";
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
use uucore::entries::{Passwd, Locate, get_groups, gid2grp};
|
||||
use std::io::Write;
|
||||
|
||||
static SYNTAX: &'static str = "[user]";
|
||||
static SUMMARY: &'static str = "display current group names";
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
* (c) Vsevolod Velichko <torkvemada@sorokdva.net>
|
||||
* (c) Gil Cottle <gcottle@redtown.org>
|
||||
*
|
||||
|
@ -34,7 +34,7 @@ use sha2::{Sha224, Sha256, Sha384, Sha512};
|
|||
use sha3::{Sha3_224, Sha3_256, Sha3_384, Sha3_512, Shake128, Shake256};
|
||||
use std::ascii::AsciiExt;
|
||||
use std::fs::File;
|
||||
use std::io::{self, BufRead, BufReader, Read, stdin, Write};
|
||||
use std::io::{self, BufRead, BufReader, Read, stdin};
|
||||
use std::path::Path;
|
||||
|
||||
static NAME: &'static str = "hashsum";
|
||||
|
@ -232,7 +232,7 @@ pub fn uumain(args: Vec<String>) -> i32 {
|
|||
}
|
||||
|
||||
fn version() {
|
||||
pipe_println!("{} {}", NAME, VERSION);
|
||||
println!("{} {}", NAME, VERSION);
|
||||
}
|
||||
|
||||
fn usage(program: &str, binary_name: &str, opts: &getopts::Options) {
|
||||
|
@ -251,7 +251,7 @@ Usage:
|
|||
|
||||
Compute and check message digests.", NAME, VERSION, spec);
|
||||
|
||||
pipe_print!("{}", opts.usage(&msg));
|
||||
print!("{}", opts.usage(&msg));
|
||||
}
|
||||
|
||||
fn hashsum(algoname: &str, mut digest: Box<Digest>, files: Vec<String>, binary: bool, check: bool, tag: bool, status: bool, quiet: bool, strict: bool, warn: bool, output_bits: usize) -> Result<(), i32> {
|
||||
|
@ -325,11 +325,11 @@ fn hashsum(algoname: &str, mut digest: Box<Digest>, files: Vec<String>, binary:
|
|||
.to_ascii_lowercase();
|
||||
if sum == real_sum {
|
||||
if !quiet {
|
||||
pipe_println!("{}: OK", ck_filename);
|
||||
println!("{}: OK", ck_filename);
|
||||
}
|
||||
} else {
|
||||
if !status {
|
||||
pipe_println!("{}: FAILED", ck_filename);
|
||||
println!("{}: FAILED", ck_filename);
|
||||
}
|
||||
failed += 1;
|
||||
}
|
||||
|
@ -337,9 +337,9 @@ fn hashsum(algoname: &str, mut digest: Box<Digest>, files: Vec<String>, binary:
|
|||
} else {
|
||||
let sum = safe_unwrap!(digest_reader(&mut digest, &mut file, binary, output_bits));
|
||||
if tag {
|
||||
pipe_println!("{} ({}) = {}", algoname, filename, sum);
|
||||
println!("{} ({}) = {}", algoname, filename, sum);
|
||||
} else {
|
||||
pipe_println!("{} {}{}", sum, binary_marker, filename);
|
||||
println!("{} {}{}", sum, binary_marker, filename);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
use std::io::{BufRead, BufReader, Read, stdin, Write};
|
||||
use std::io::{BufRead, BufReader, Read, stdin};
|
||||
use std::fs::File;
|
||||
use std::path::Path;
|
||||
use std::str::from_utf8;
|
||||
|
@ -115,8 +115,8 @@ pub fn uumain(args: Vec<String>) -> i32 {
|
|||
|
||||
for file in &files {
|
||||
if settings.verbose {
|
||||
if !firstime { pipe_println!(""); }
|
||||
pipe_println!("==> {} <==", file);
|
||||
if !firstime { println!(""); }
|
||||
println!("==> {} <==", file);
|
||||
}
|
||||
firstime = false;
|
||||
|
||||
|
@ -171,16 +171,12 @@ fn head<T: Read>(reader: &mut BufReader<T>, settings: &Settings) -> bool {
|
|||
match settings.mode {
|
||||
FilterMode::Bytes(count) => {
|
||||
for byte in reader.bytes().take(count) {
|
||||
if !pipe_print!("{}", byte.unwrap() as char) {
|
||||
return false;
|
||||
}
|
||||
print!("{}", byte.unwrap() as char);
|
||||
}
|
||||
},
|
||||
FilterMode::Lines(count) => {
|
||||
for line in reader.lines().take(count) {
|
||||
if !pipe_println!("{}", line.unwrap()) {
|
||||
return false;
|
||||
}
|
||||
println!("{}", line.unwrap());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,6 @@ extern crate uucore;
|
|||
use std::collections::hash_set::HashSet;
|
||||
use std::iter::repeat;
|
||||
use std::str;
|
||||
use std::io::Write;
|
||||
use std::net::ToSocketAddrs;
|
||||
|
||||
static SYNTAX: &'static str = "[OPTION]... [HOSTNAME]";
|
||||
|
|
|
@ -22,7 +22,6 @@ pub use uucore::libc;
|
|||
use uucore::libc::{getlogin, uid_t};
|
||||
use uucore::entries::{self, Passwd, Group, Locate};
|
||||
use uucore::process::{getgid, getuid, getegid, geteuid};
|
||||
use std::io::Write;
|
||||
use std::ffi::CStr;
|
||||
|
||||
macro_rules! cstr2cow {
|
||||
|
|
|
@ -18,7 +18,6 @@ mod mode;
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs;
|
||||
use std::io::Write;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::result::Result;
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
extern crate libc;
|
||||
|
||||
use std::io::Write;
|
||||
use std::path::Path;
|
||||
use std::fs;
|
||||
use uucore::mode;
|
||||
|
|
|
@ -15,7 +15,7 @@ extern crate libc;
|
|||
extern crate uucore;
|
||||
|
||||
use libc::{c_int, pid_t};
|
||||
use std::io::{Error, Write};
|
||||
use std::io::Error;
|
||||
use uucore::signals::ALL_SIGNALS;
|
||||
|
||||
static SYNTAX: &'static str = "[options] <pid> [...]";
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs::hard_link;
|
||||
use std::io::Write;
|
||||
use std::path::Path;
|
||||
use std::io::Error;
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs;
|
||||
use std::io::{BufRead, BufReader, Result, stdin, Write};
|
||||
use std::io::{BufRead, BufReader, Result, stdin};
|
||||
#[cfg(unix)] use std::os::unix::fs::symlink;
|
||||
#[cfg(windows)] use std::os::windows::fs::{symlink_file,symlink_dir};
|
||||
use std::path::{Path, PathBuf};
|
||||
|
|
|
@ -17,7 +17,6 @@ extern crate libc;
|
|||
extern crate uucore;
|
||||
|
||||
use std::ffi::CStr;
|
||||
use std::io::Write;
|
||||
|
||||
extern {
|
||||
// POSIX requires using getlogin (or equivalent code)
|
||||
|
|
|
@ -30,7 +30,6 @@ use uucore::libc::{S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP
|
|||
use std::fs;
|
||||
use std::fs::{DirEntry, FileType, Metadata};
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::io::Write;
|
||||
use std::cmp::Reverse;
|
||||
#[cfg(unix)]
|
||||
use std::collections::HashMap;
|
||||
|
|
|
@ -16,7 +16,6 @@ extern crate libc;
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs;
|
||||
use std::io::Write;
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
static NAME: &'static str = "mkdir";
|
||||
|
|
|
@ -17,7 +17,7 @@ extern crate uucore;
|
|||
|
||||
use libc::mkfifo;
|
||||
use std::ffi::CString;
|
||||
use std::io::{Error, Write};
|
||||
use std::io::Error;
|
||||
|
||||
static NAME: &'static str = "mkfifo";
|
||||
static VERSION: &'static str = env!("CARGO_PKG_VERSION");
|
||||
|
|
|
@ -20,7 +20,6 @@ use libc::{mode_t, dev_t};
|
|||
use libc::{S_IRUSR, S_IWUSR, S_IRGRP, S_IWGRP, S_IROTH, S_IWOTH, S_IFIFO, S_IFBLK, S_IFCHR};
|
||||
|
||||
use getopts::Options;
|
||||
use std::io::Write;
|
||||
|
||||
use std::ffi::CString;
|
||||
|
||||
|
|
|
@ -17,7 +17,6 @@ extern crate rand;
|
|||
extern crate uucore;
|
||||
|
||||
use std::env;
|
||||
use std::io::Write;
|
||||
use std::path::{PathBuf, is_separator};
|
||||
use std::mem::forget;
|
||||
use std::iter;
|
||||
|
|
|
@ -16,7 +16,7 @@ extern crate uucore;
|
|||
|
||||
use std::fs;
|
||||
use std::env;
|
||||
use std::io::{BufRead, BufReader, Result, stdin, Write};
|
||||
use std::io::{BufRead, BufReader, Result, stdin};
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
static NAME: &'static str = "mv";
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
@ -17,7 +17,7 @@ extern crate uucore;
|
|||
|
||||
use libc::{c_char, c_int, execvp};
|
||||
use std::ffi::CString;
|
||||
use std::io::{Error, Write};
|
||||
use std::io::Error;
|
||||
|
||||
const NAME: &'static str = "nice";
|
||||
const VERSION: &'static str = env!("CARGO_PKG_VERSION");
|
||||
|
|
|
@ -20,7 +20,7 @@ extern crate regex;
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs::File;
|
||||
use std::io::{BufRead, BufReader, Read, stdin, Write};
|
||||
use std::io::{BufRead, BufReader, Read, stdin};
|
||||
use std::iter::repeat;
|
||||
use std::path::Path;
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ use libc::{c_char, signal, dup2, execvp};
|
|||
use libc::{SIG_IGN, SIGHUP};
|
||||
use std::ffi::CString;
|
||||
use std::fs::{File, OpenOptions};
|
||||
use std::io::{Error, Write};
|
||||
use std::io::Error;
|
||||
use std::os::unix::prelude::*;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::env;
|
||||
|
|
|
@ -18,7 +18,6 @@ extern crate libc;
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
use std::io::Write;
|
||||
use std::env;
|
||||
|
||||
#[cfg(target_os = "linux")]
|
||||
|
|
|
@ -2,7 +2,6 @@ use std;
|
|||
use std::io;
|
||||
use std::io::BufReader;
|
||||
use std::fs::File;
|
||||
use std::io::Write;
|
||||
use std::vec::Vec;
|
||||
|
||||
pub enum InputSource<'a> {
|
||||
|
|
|
@ -34,7 +34,6 @@ mod output_info;
|
|||
mod mockstream;
|
||||
|
||||
use std::cmp;
|
||||
use std::io::Write;
|
||||
use byteorder_io::*;
|
||||
use multifilereader::*;
|
||||
use partialreader::*;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
@ -14,7 +14,7 @@ extern crate getopts;
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
use std::io::{BufRead, BufReader, Read, stdin, Write};
|
||||
use std::io::{BufRead, BufReader, Read, stdin};
|
||||
use std::iter::repeat;
|
||||
use std::fs::File;
|
||||
use std::path::Path;
|
||||
|
|
|
@ -16,7 +16,6 @@ extern crate getopts;
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
use std::io::Write;
|
||||
use std::env;
|
||||
|
||||
static NAME: &'static str = "printenv";
|
||||
|
|
|
@ -14,7 +14,6 @@ extern crate getopts;
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
use std::io::Write;
|
||||
use std::env;
|
||||
|
||||
static NAME: &'static str = "pwd";
|
||||
|
|
|
@ -15,7 +15,7 @@ extern crate getopts;
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs;
|
||||
use std::io::Write;
|
||||
use std::io::{Write, stdout};
|
||||
use std::path::PathBuf;
|
||||
use uucore::fs::{canonicalize, CanonicalizeMode};
|
||||
|
||||
|
@ -121,7 +121,7 @@ fn show(path: &PathBuf, no_newline: bool, use_zero: bool) {
|
|||
} else {
|
||||
println!("{}", path);
|
||||
}
|
||||
pipe_flush!();
|
||||
crash_if_err!(1, stdout().flush());
|
||||
}
|
||||
|
||||
fn show_usage(opts: &getopts::Options) {
|
||||
|
|
|
@ -15,7 +15,6 @@ extern crate getopts;
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs;
|
||||
use std::io::Write;
|
||||
use std::path::{Path, PathBuf};
|
||||
use uucore::fs::{canonicalize, CanonicalizeMode};
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@ extern crate getopts;
|
|||
extern crate uucore;
|
||||
|
||||
use std::env;
|
||||
use std::io::Write;
|
||||
use std::path::{Path, PathBuf};
|
||||
use uucore::fs::{canonicalize, CanonicalizeMode};
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
@ -15,7 +15,6 @@ extern crate getopts;
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs;
|
||||
use std::io::Write;
|
||||
use std::path::Path;
|
||||
|
||||
static NAME: &'static str = "rmdir";
|
||||
|
|
|
@ -9,7 +9,7 @@ extern crate getopts;
|
|||
extern crate uucore;
|
||||
|
||||
use std::cmp;
|
||||
use std::io::Write;
|
||||
use std::io::{Write, stdout};
|
||||
|
||||
static NAME: &'static str = "seq";
|
||||
static VERSION: &'static str = env!("CARGO_PKG_VERSION");
|
||||
|
@ -225,22 +225,18 @@ fn print_seq(first: f64, step: f64, last: f64, largest_dec: usize, separator: St
|
|||
let before_dec = istr.find('.').unwrap_or(ilen);
|
||||
if pad && before_dec < padding {
|
||||
for _ in 0..(padding - before_dec) {
|
||||
if !pipe_print!("0") {
|
||||
return;
|
||||
}
|
||||
print!("0");
|
||||
}
|
||||
}
|
||||
pipe_print!("{}", istr);
|
||||
print!("{}", istr);
|
||||
i += 1;
|
||||
value = first + i as f64 * step;
|
||||
if !done_printing(value, step, last) {
|
||||
if !pipe_print!("{}", separator) {
|
||||
return;
|
||||
}
|
||||
print!("{}", separator);
|
||||
}
|
||||
}
|
||||
if (first >= last && step < 0f64) || (first <= last && step > 0f64) {
|
||||
pipe_print!("{}", terminator);
|
||||
print!("{}", terminator);
|
||||
}
|
||||
pipe_flush!();
|
||||
crash_if_err!(1, stdout().flush());
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
@ -14,8 +14,7 @@ extern crate getopts;
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
use std::io::Write;
|
||||
use std::thread::{self};
|
||||
use std::thread;
|
||||
use std::time::Duration;
|
||||
|
||||
static NAME: &'static str = "sleep";
|
||||
|
|
|
@ -21,7 +21,7 @@ use uucore::entries;
|
|||
|
||||
use std::{fs, iter, cmp};
|
||||
use std::fs::File;
|
||||
use std::io::{Write, BufReader, BufRead};
|
||||
use std::io::{BufReader, BufRead};
|
||||
use std::borrow::Cow;
|
||||
use std::os::unix::fs::{FileTypeExt, MetadataExt};
|
||||
use std::path::Path;
|
||||
|
|
|
@ -5,7 +5,6 @@ extern crate uucore;
|
|||
|
||||
use libc::{c_int, size_t, c_char, FILE, _IOFBF, _IONBF, _IOLBF};
|
||||
use std::env;
|
||||
use std::io::Write;
|
||||
use std::ptr;
|
||||
|
||||
extern {
|
||||
|
|
|
@ -15,7 +15,7 @@ extern crate getopts;
|
|||
extern crate uucore;
|
||||
|
||||
use getopts::{Matches, Options};
|
||||
use std::io::{self, Write};
|
||||
use std::io;
|
||||
use std::os::unix::process::ExitStatusExt;
|
||||
use std::path::PathBuf;
|
||||
use std::process::Command;
|
||||
|
|
|
@ -15,7 +15,7 @@ extern crate getopts;
|
|||
extern crate uucore;
|
||||
|
||||
use std::fs::File;
|
||||
use std::io::{Read, Result, stdin, Write};
|
||||
use std::io::{Read, Result, stdin};
|
||||
use std::path::Path;
|
||||
|
||||
static NAME: &'static str = "sum";
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
|
||||
extern crate getopts;
|
||||
|
||||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
use std::fs::OpenOptions;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
@ -16,7 +16,7 @@ extern crate time;
|
|||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
use std::io::{ErrorKind, Write};
|
||||
use std::io::ErrorKind;
|
||||
use std::process::{Command, Stdio};
|
||||
use std::time::Duration;
|
||||
use uucore::process::ChildExt;
|
||||
|
|
|
@ -18,7 +18,7 @@ extern crate uucore;
|
|||
|
||||
use filetime::*;
|
||||
use std::fs::{self, File};
|
||||
use std::io::{self, Error, Write};
|
||||
use std::io::{self, Error};
|
||||
use std::path::Path;
|
||||
|
||||
static NAME: &'static str = "touch";
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
@ -16,7 +16,7 @@ extern crate uucore;
|
|||
|
||||
use std::ascii::AsciiExt;
|
||||
use std::fs::{File, metadata, OpenOptions};
|
||||
use std::io::{Result, Write};
|
||||
use std::io::Result;
|
||||
use std::path::Path;
|
||||
|
||||
#[derive(Eq, PartialEq)]
|
||||
|
|
|
@ -17,7 +17,7 @@ extern crate uucore;
|
|||
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::fs::File;
|
||||
use std::io::{BufRead, BufReader, Read, stdin, Write};
|
||||
use std::io::{BufRead, BufReader, Read, stdin};
|
||||
use std::path::Path;
|
||||
|
||||
static NAME: &'static str = "tsort";
|
||||
|
|
|
@ -18,7 +18,6 @@ extern crate libc;
|
|||
extern crate uucore;
|
||||
|
||||
use std::ffi::CStr;
|
||||
use std::io::Write;
|
||||
use uucore::fs::is_stdin_interactive;
|
||||
|
||||
extern {
|
||||
|
|
|
@ -273,5 +273,5 @@ fn unexpand(options: Options) {
|
|||
buf.truncate(0); // clear out the buffer
|
||||
}
|
||||
}
|
||||
pipe_flush!(output);
|
||||
crash_if_err!(1, output.flush())
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ extern crate uucore;
|
|||
use getopts::Options;
|
||||
use libc::{S_IFMT, S_IFLNK, S_IFREG};
|
||||
use libc::{lstat, unlink, c_char, stat};
|
||||
use std::io::{Error, ErrorKind, Write};
|
||||
use std::io::{Error, ErrorKind};
|
||||
use std::mem::uninitialized;
|
||||
|
||||
static NAME: &'static str = "unlink";
|
||||
|
|
|
@ -23,7 +23,7 @@ pub use uucore::libc;
|
|||
|
||||
use getopts::Options;
|
||||
use std::fs::File;
|
||||
use std::io::{Read, Write};
|
||||
use std::io::Read;
|
||||
use std::mem::transmute;
|
||||
|
||||
static NAME: &'static str = "uptime";
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
extern crate getopts;
|
||||
use std::io::Write;
|
||||
|
||||
pub struct HelpText<'a> {
|
||||
pub name : &'a str,
|
||||
|
@ -53,8 +52,8 @@ impl<'a> CoreOptions<'a> {
|
|||
let matches = match self.options.parse(&args[1..]) {
|
||||
Ok(m) => { Some(m) },
|
||||
Err(f) => {
|
||||
pipe_write!(&mut ::std::io::stderr(), "{}: error: ", self.help_text.name);
|
||||
pipe_writeln!(&mut ::std::io::stderr(), "{}", f);
|
||||
eprint!("{}: error: ", self.help_text.name);
|
||||
eprintln!("{}", f);
|
||||
::std::process::exit(1);
|
||||
}
|
||||
}.unwrap();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
@ -22,46 +22,36 @@ macro_rules! executable(
|
|||
#[macro_export]
|
||||
macro_rules! show_error(
|
||||
($($args:tt)+) => ({
|
||||
pipe_write!(&mut ::std::io::stderr(), "{}: error: ", executable!());
|
||||
pipe_writeln!(&mut ::std::io::stderr(), $($args)+);
|
||||
eprint!("{}: error: ", executable!());
|
||||
eprintln!($($args)+);
|
||||
})
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! show_warning(
|
||||
($($args:tt)+) => ({
|
||||
pipe_write!(&mut ::std::io::stderr(), "{}: warning: ", executable!());
|
||||
pipe_writeln!(&mut ::std::io::stderr(), $($args)+);
|
||||
eprint!("{}: warning: ", executable!());
|
||||
eprintln!($($args)+);
|
||||
})
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! show_info(
|
||||
($($args:tt)+) => ({
|
||||
pipe_write!(&mut ::std::io::stderr(), "{}: ", executable!());
|
||||
pipe_writeln!(&mut ::std::io::stderr(), $($args)+);
|
||||
eprint!("{}: ", executable!());
|
||||
eprintln!($($args)+);
|
||||
})
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! disp_err(
|
||||
($($args:tt)+) => ({
|
||||
pipe_write!(&mut ::std::io::stderr(), "{}: ", executable!());
|
||||
pipe_writeln!(&mut ::std::io::stderr(), $($args)+);
|
||||
pipe_writeln!(&mut ::std::io::stderr(), "Try '{} --help' for more information.", executable!());
|
||||
eprint!("{}: ", executable!());
|
||||
eprintln!($($args)+);
|
||||
eprintln!("Try '{} --help' for more information.", executable!());
|
||||
})
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! eprint(
|
||||
($($args:tt)+) => (pipe_write!(&mut ::std::io::stderr(), $($args)+))
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! eprintln(
|
||||
($($args:tt)+) => (pipe_writeln!(&mut ::std::io::stderr(), $($args)+))
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! crash(
|
||||
($exitcode:expr, $($args:tt)+) => ({
|
||||
|
@ -87,22 +77,6 @@ macro_rules! crash_if_err(
|
|||
)
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! pipe_crash_if_err(
|
||||
($exitcode:expr, $exp:expr) => (
|
||||
match $exp {
|
||||
Ok(_) => (),
|
||||
Err(f) => {
|
||||
if f.kind() == ::std::io::ErrorKind::BrokenPipe {
|
||||
()
|
||||
} else {
|
||||
crash!($exitcode, "{}", f)
|
||||
}
|
||||
},
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! return_if_err(
|
||||
($exitcode:expr, $exp:expr) => (
|
||||
|
@ -116,100 +90,6 @@ macro_rules! return_if_err(
|
|||
)
|
||||
);
|
||||
|
||||
// XXX: should the pipe_* macros return an Err just to show the write failed?
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! pipe_print(
|
||||
($($args:tt)+) => (
|
||||
match write!(&mut ::std::io::stdout(), $($args)+) {
|
||||
Ok(_) => true,
|
||||
Err(f) => {
|
||||
if f.kind() == ::std::io::ErrorKind::BrokenPipe {
|
||||
false
|
||||
} else {
|
||||
panic!("{}", f)
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! pipe_println(
|
||||
($($args:tt)+) => (
|
||||
match writeln!(&mut ::std::io::stdout(), $($args)+) {
|
||||
Ok(_) => true,
|
||||
Err(f) => {
|
||||
if f.kind() == ::std::io::ErrorKind::BrokenPipe {
|
||||
false
|
||||
} else {
|
||||
panic!("{}", f)
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! pipe_write(
|
||||
($fd:expr, $($args:tt)+) => (
|
||||
match write!($fd, $($args)+) {
|
||||
Ok(_) => true,
|
||||
Err(f) => {
|
||||
if f.kind() == ::std::io::ErrorKind::BrokenPipe {
|
||||
false
|
||||
} else {
|
||||
panic!("{}", f)
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! pipe_writeln(
|
||||
($fd:expr, $($args:tt)+) => (
|
||||
match writeln!($fd, $($args)+) {
|
||||
Ok(_) => true,
|
||||
Err(f) => {
|
||||
if f.kind() == ::std::io::ErrorKind::BrokenPipe {
|
||||
false
|
||||
} else {
|
||||
panic!("{}", f)
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! pipe_flush(
|
||||
() => (
|
||||
match ::std::io::stdout().flush() {
|
||||
Ok(_) => true,
|
||||
Err(f) => {
|
||||
if f.kind() == ::std::io::ErrorKind::BrokenPipe {
|
||||
false
|
||||
} else {
|
||||
panic!("{}", f)
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
($fd:expr) => (
|
||||
match $fd.flush() {
|
||||
Ok(_) => true,
|
||||
Err(f) => {
|
||||
if f.kind() == ::std::io::ErrorKind::BrokenPipe {
|
||||
false
|
||||
} else {
|
||||
panic!("{}", f)
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! safe_write(
|
||||
($fd:expr, $($args:tt)+) => (
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Arcterus <arcterus@mail.com>
|
||||
* (c) Alex Lyon <arcterus@mail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
|
|
@ -17,7 +17,7 @@ extern crate uucore;
|
|||
use getopts::{Matches, Options};
|
||||
use std::ascii::AsciiExt;
|
||||
use std::fs::File;
|
||||
use std::io::{stdin, BufRead, BufReader, Read, Write};
|
||||
use std::io::{stdin, BufRead, BufReader, Read};
|
||||
use std::path::Path;
|
||||
use std::result::Result as StdResult;
|
||||
use std::str::from_utf8;
|
||||
|
|
|
@ -15,7 +15,6 @@ use uucore::utmpx::{self, time, Utmpx};
|
|||
use uucore::libc::{STDIN_FILENO, ttyname, S_IWGRP};
|
||||
|
||||
use std::borrow::Cow;
|
||||
use std::io::prelude::*;
|
||||
use std::ffi::CStr;
|
||||
use std::path::PathBuf;
|
||||
use std::os::unix::fs::MetadataExt;
|
||||
|
|
|
@ -17,7 +17,6 @@ extern crate getopts;
|
|||
extern crate uucore;
|
||||
|
||||
use getopts::Options;
|
||||
use std::io::Write;
|
||||
|
||||
mod platform;
|
||||
|
||||
|
|
|
@ -17,7 +17,6 @@ extern crate getopts;
|
|||
extern crate uucore;
|
||||
|
||||
use getopts::Options;
|
||||
use std::io::Write;
|
||||
|
||||
static NAME: &'static str = "yes";
|
||||
static VERSION: &'static str = env!("CARGO_PKG_VERSION");
|
||||
|
@ -57,5 +56,5 @@ pub fn uumain(args: Vec<String>) -> i32 {
|
|||
}
|
||||
|
||||
pub fn exec(string: &str) {
|
||||
while pipe_println!("{}", string) { }
|
||||
loop { println!("{}", string) }
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue