mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 11:37:44 +00:00
Merge pull request #168 from ebfe/fix-build-master
Fix build with rust master
This commit is contained in:
commit
27f1605c58
27 changed files with 49 additions and 51 deletions
|
@ -17,7 +17,6 @@ extern crate getopts;
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
#[phase(syntax, link)] extern crate log;
|
#[phase(syntax, link)] extern crate log;
|
||||||
|
|
||||||
use std::char;
|
|
||||||
use std::io::{println, File, stdin, stdout};
|
use std::io::{println, File, stdin, stdout};
|
||||||
use std::os;
|
use std::os;
|
||||||
use std::str;
|
use std::str;
|
||||||
|
@ -55,7 +54,7 @@ fn main() {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
let progname = args[0].clone();
|
let progname = args.get(0).clone();
|
||||||
let usage = usage("Base64 encode or decode FILE, or standard input, to standard output.", opts);
|
let usage = usage("Base64 encode or decode FILE, or standard input, to standard output.", opts);
|
||||||
let mode = if matches.opt_present("help") {
|
let mode = if matches.opt_present("help") {
|
||||||
Help
|
Help
|
||||||
|
@ -101,13 +100,9 @@ fn decode(input: &mut Reader, ignore_garbage: bool) {
|
||||||
to_decode = str::replace(to_decode, "\n", "");
|
to_decode = str::replace(to_decode, "\n", "");
|
||||||
|
|
||||||
if ignore_garbage {
|
if ignore_garbage {
|
||||||
let standard_chars: ~[char] =
|
let standard_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||||
bytes!("ABCDEFGHIJKLMNOPQRSTUVWXYZ",
|
|
||||||
"abcdefghijklmnopqrstuvwxyz",
|
|
||||||
"0123456789+/").iter().map(|b| char::from_u32(*b as u32).unwrap()).collect();
|
|
||||||
|
|
||||||
to_decode = to_decode
|
to_decode = to_decode
|
||||||
.trim_chars(|c| !standard_chars.contains(&c))
|
.trim_chars(|c| !standard_chars.contains_char(c))
|
||||||
.to_owned();
|
.to_owned();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,7 +110,7 @@ fn decode(input: &mut Reader, ignore_garbage: bool) {
|
||||||
Ok(bytes) => {
|
Ok(bytes) => {
|
||||||
let mut out = stdout();
|
let mut out = stdout();
|
||||||
|
|
||||||
match out.write(bytes) {
|
match out.write(bytes.as_slice()) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(f) => { crash!(1, "{}", f.to_str()); }
|
Err(f) => { crash!(1, "{}", f.to_str()); }
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ static VERSION: &'static str = "1.0.0";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = strip_dir(&args[ 0 ].clone());
|
let program = strip_dir(args.get(0));
|
||||||
|
|
||||||
//
|
//
|
||||||
// Argument parsing
|
// Argument parsing
|
||||||
|
@ -64,7 +64,7 @@ fn main() {
|
||||||
}
|
}
|
||||||
// too many arguments
|
// too many arguments
|
||||||
else if args.len() > 3 {
|
else if args.len() > 3 {
|
||||||
println(program + ": extra operand `" + args[ 3 ] + "'");
|
println(program + ": extra operand `" + args.get(3).clone() + "'");
|
||||||
println("Try `" + program + " --help' for more information.");
|
println("Try `" + program + " --help' for more information.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -73,12 +73,12 @@ fn main() {
|
||||||
// Main Program Processing
|
// Main Program Processing
|
||||||
//
|
//
|
||||||
|
|
||||||
let fullname = args[ 1 ].clone();
|
let fullname = args.get(1).clone();
|
||||||
|
|
||||||
let mut name = strip_dir(&fullname);
|
let mut name = strip_dir(&fullname);
|
||||||
|
|
||||||
if args.len() > 2 {
|
if args.len() > 2 {
|
||||||
let suffix = args[ 2 ].clone();
|
let suffix = args.get(2).clone();
|
||||||
name = strip_suffix(&name, &suffix);
|
name = strip_suffix(&name, &suffix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ use std::io::{BufferedWriter};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("A", "show-all", "equivalent to -vET"),
|
getopts::optflag("A", "show-all", "equivalent to -vET"),
|
||||||
getopts::optflag("b", "number-nonblank", "number nonempty output lines, overrides -n"),
|
getopts::optflag("b", "number-nonblank", "number nonempty output lines, overrides -n"),
|
||||||
|
|
|
@ -18,7 +18,7 @@ static VERSION: &'static str = "1.0.0";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("z", "zero", "separate output with NUL rather than newline"),
|
getopts::optflag("z", "zero", "separate output with NUL rather than newline"),
|
||||||
getopts::optflag("", "help", "display this help and exit"),
|
getopts::optflag("", "help", "display this help and exit"),
|
||||||
|
|
2
du/du.rs
2
du/du.rs
|
@ -88,7 +88,7 @@ fn du(path: &Path, mut my_stat: FileStat,
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].as_slice();
|
let program = args.get(0).as_slice();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
// In task
|
// In task
|
||||||
getopts::optflag("a", "all", " write counts for all files, not just directories"),
|
getopts::optflag("a", "all", " write counts for all files, not just directories"),
|
||||||
|
|
|
@ -71,7 +71,7 @@ fn convert_str(string: &str, index: uint, base: uint) -> (char, int) {
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("n", "", "do not output the trailing newline"),
|
getopts::optflag("n", "", "do not output the trailing newline"),
|
||||||
getopts::optflag("e", "", "enable interpretation of backslash escapes"),
|
getopts::optflag("e", "", "enable interpretation of backslash escapes"),
|
||||||
|
|
7
env/env.rs
vendored
7
env/env.rs
vendored
|
@ -53,7 +53,7 @@ fn print_env(null: bool) {
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = std::os::args();
|
let args = std::os::args();
|
||||||
let prog = args[0].as_slice();
|
let prog = args.get(0).as_slice();
|
||||||
|
|
||||||
// to handle arguments the same way than GNU env, we can't use getopts
|
// to handle arguments the same way than GNU env, we can't use getopts
|
||||||
let mut opts = box options {
|
let mut opts = box options {
|
||||||
|
@ -191,7 +191,10 @@ fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.program.len() >= 1 {
|
if opts.program.len() >= 1 {
|
||||||
match std::io::process::Process::status(opts.program.get(0).as_slice(), opts.program.slice_from(1)) {
|
use std::io::process::{Command, InheritFd};
|
||||||
|
let prog = opts.program.get(0).clone();
|
||||||
|
let args = opts.program.slice_from(1);
|
||||||
|
match Command::new(prog).args(args).stdin(InheritFd(0)).stdout(InheritFd(1)).stderr(InheritFd(2)).status() {
|
||||||
Ok(exit) =>
|
Ok(exit) =>
|
||||||
std::os::set_exit_status(match exit {
|
std::os::set_exit_status(match exit {
|
||||||
std::io::process::ExitStatus(s) => s,
|
std::io::process::ExitStatus(s) => s,
|
||||||
|
|
|
@ -29,9 +29,9 @@ static VERSION: &'static str = "1.0.0";
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
|
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
|
|
||||||
let (args, obs_width) = handle_obsolete(args);
|
let (args, obs_width) = handle_obsolete(args.as_slice().to_owned());
|
||||||
|
|
||||||
let opts = [
|
let opts = [
|
||||||
getopts::optflag("b", "bytes", "count using bytes rather than columns (meaning control characters such as newline are not treated specially)"),
|
getopts::optflag("b", "bytes", "count using bytes rather than columns (meaning control characters such as newline are not treated specially)"),
|
||||||
|
|
|
@ -25,7 +25,7 @@ extern {
|
||||||
|
|
||||||
fn main () {
|
fn main () {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].to_owned();
|
let program = args.get(0).to_owned();
|
||||||
|
|
||||||
let options = [
|
let options = [
|
||||||
optflag("f", "full", "Default option to show full name"),
|
optflag("f", "full", "Default option to show full name"),
|
||||||
|
@ -96,7 +96,7 @@ fn xgethostname() -> ~str {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn xsethostname(name: &~str) {
|
fn xsethostname(name: &~str) {
|
||||||
let vec_name: ~[libc::c_char] = name.bytes().map(|c| c as i8).collect();
|
let vec_name: Vec<libc::c_char> = name.bytes().map(|c| c as i8).collect();
|
||||||
|
|
||||||
let err = unsafe {
|
let err = unsafe {
|
||||||
sethostname (vec_name.as_ptr(), vec_name.len() as i32)
|
sethostname (vec_name.as_ptr(), vec_name.len() as i32)
|
||||||
|
|
|
@ -45,7 +45,7 @@ fn version() {
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
|
|
||||||
//
|
//
|
||||||
// Argument parsing
|
// Argument parsing
|
||||||
|
|
|
@ -30,7 +30,7 @@ static VERSION: &'static str = "1.0.0";
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
|
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
|
|
||||||
let opts = [
|
let opts = [
|
||||||
getopts::optflag("b", "binary", "read in binary mode"),
|
getopts::optflag("b", "binary", "read in binary mode"),
|
||||||
|
|
|
@ -70,12 +70,12 @@ fn main() {
|
||||||
strconv::ExpNone,
|
strconv::ExpNone,
|
||||||
false, false);
|
false, false);
|
||||||
if res.is_some() {
|
if res.is_some() {
|
||||||
unsafe { std::cast::transmute(res.unwrap()) }
|
unsafe { std::mem::transmute(res.unwrap()) }
|
||||||
} else {
|
} else {
|
||||||
crash!(1, "no mode given");
|
crash!(1, "no mode given");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
unsafe { std::cast::transmute(0o755 as u32) }
|
unsafe { std::mem::transmute(0o755 as u32) }
|
||||||
};
|
};
|
||||||
|
|
||||||
let dirs = matches.free;
|
let dirs = matches.free;
|
||||||
|
|
|
@ -25,7 +25,7 @@ static VERSION: &'static str = "1.0.0";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
|
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("s", "serial", "paste one file at a time instead of in parallel"),
|
getopts::optflag("s", "serial", "paste one file at a time instead of in parallel"),
|
||||||
|
@ -57,7 +57,7 @@ fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn paste(filenames: Vec<~str>, serial: bool, delimiters: ~str) {
|
fn paste(filenames: Vec<~str>, serial: bool, delimiters: ~str) {
|
||||||
let mut files: ~[io::BufferedReader<Box<Reader>>] = filenames.move_iter().map(|name|
|
let mut files: Vec<io::BufferedReader<Box<Reader>>> = filenames.move_iter().map(|name|
|
||||||
io::BufferedReader::new(
|
io::BufferedReader::new(
|
||||||
if name == "-".to_owned() {
|
if name == "-".to_owned() {
|
||||||
box io::stdio::stdin_raw() as Box<Reader>
|
box io::stdio::stdin_raw() as Box<Reader>
|
||||||
|
@ -66,14 +66,14 @@ fn paste(filenames: Vec<~str>, serial: bool, delimiters: ~str) {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
).collect();
|
).collect();
|
||||||
let delimiters: ~[~str] = delimiters.chars().map(|x| x.to_str()).collect();
|
let delimiters: Vec<~str> = delimiters.chars().map(|x| x.to_str()).collect();
|
||||||
let mut delim_count = 0;
|
let mut delim_count = 0;
|
||||||
if serial {
|
if serial {
|
||||||
for file in files.mut_iter() {
|
for file in files.mut_iter() {
|
||||||
let mut output = "".to_owned();
|
let mut output = "".to_owned();
|
||||||
loop {
|
loop {
|
||||||
output = output + match file.read_line() {
|
output = output + match file.read_line() {
|
||||||
Ok(line) => line.trim_right() + delimiters[delim_count % delimiters.len()],
|
Ok(line) => line.trim_right() + delimiters.get(delim_count % delimiters.len()).clone(),
|
||||||
Err(f) => if f.kind == io::EndOfFile {
|
Err(f) => if f.kind == io::EndOfFile {
|
||||||
break
|
break
|
||||||
} else {
|
} else {
|
||||||
|
@ -103,7 +103,7 @@ fn paste(filenames: Vec<~str>, serial: bool, delimiters: ~str) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
output = output + delimiters[delim_count % delimiters.len()];
|
output = output + delimiters.get(delim_count % delimiters.len()).clone();
|
||||||
delim_count += 1;
|
delim_count += 1;
|
||||||
}
|
}
|
||||||
if files.len() == eof_count {
|
if files.len() == eof_count {
|
||||||
|
|
|
@ -26,7 +26,7 @@ static NAME: &'static str = "printenv";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("0", "null", "end each output line with 0 byte rather than newline"),
|
getopts::optflag("0", "null", "end each output line with 0 byte rather than newline"),
|
||||||
getopts::optflag("h", "help", "display this help and exit"),
|
getopts::optflag("h", "help", "display this help and exit"),
|
||||||
|
|
|
@ -25,7 +25,7 @@ static VERSION: &'static str = "1.0.0";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("", "help", "display this help and exit"),
|
getopts::optflag("", "help", "display this help and exit"),
|
||||||
getopts::optflag("", "version", "output version information and exit"),
|
getopts::optflag("", "version", "output version information and exit"),
|
||||||
|
|
2
rm/rm.rs
2
rm/rm.rs
|
@ -31,7 +31,7 @@ static NAME: &'static str = "rm";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
|
|
||||||
// TODO: make getopts support -R in addition to -r
|
// TODO: make getopts support -R in addition to -r
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
|
|
|
@ -24,7 +24,7 @@ static NAME: &'static str = "rmdir";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
|
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("", "ignore-fail-on-non-empty", "ignore each failure that is solely because a directory is non-empty"),
|
getopts::optflag("", "ignore-fail-on-non-empty", "ignore each failure that is solely because a directory is non-empty"),
|
||||||
|
|
|
@ -25,7 +25,7 @@ static NAME: &'static str = "sleep";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
|
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("h", "help", "display this help and exit"),
|
getopts::optflag("h", "help", "display this help and exit"),
|
||||||
|
|
|
@ -25,7 +25,7 @@ static VERSION: &'static str = "1.0.0";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
|
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("b", "before", "attach the separator before instead of after"),
|
getopts::optflag("b", "before", "attach the separator before instead of after"),
|
||||||
|
@ -86,7 +86,7 @@ fn tac(filenames: Vec<~str>, before: bool, _: bool, separator: ~str) {
|
||||||
buf.truncate(len - 1);
|
buf.truncate(len - 1);
|
||||||
data = buf.into_owned();
|
data = buf.into_owned();
|
||||||
}
|
}
|
||||||
let split_vec: ~[&str] = data.split_str(separator).collect();
|
let split_vec: Vec<&str> = data.split_str(separator).collect();
|
||||||
let rev: ~str = split_vec.iter().rev().fold("".to_owned(), |a, &b|
|
let rev: ~str = split_vec.iter().rev().fold("".to_owned(), |a, &b|
|
||||||
a + if before {
|
a + if before {
|
||||||
separator + b
|
separator + b
|
||||||
|
|
|
@ -25,7 +25,7 @@ static NAME: &'static str = "tee";
|
||||||
static VERSION: &'static str = "1.0.0";
|
static VERSION: &'static str = "1.0.0";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
match options(args()).and_then(exec) {
|
match options(args().as_slice()).and_then(exec) {
|
||||||
Ok(_) => set_exit_status(0),
|
Ok(_) => set_exit_status(0),
|
||||||
Err(_) => set_exit_status(1)
|
Err(_) => set_exit_status(1)
|
||||||
}
|
}
|
||||||
|
@ -149,5 +149,5 @@ fn with_path<T>(path: &Path, cb: || -> IoResult<T>) -> IoResult<T> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn warn(message: &str) {
|
fn warn(message: &str) {
|
||||||
error!("{}: {}", args()[0], message);
|
error!("{}: {}", args().get(0), message);
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ static NAME: &'static str = "truncate";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
|
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("c", "no-create", "do not create files that do not exist"),
|
getopts::optflag("c", "no-create", "do not create files that do not exist"),
|
||||||
|
|
|
@ -53,7 +53,7 @@ static NAME: &'static str = "uname";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].as_slice();
|
let program = args.get(0).as_slice();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("h", "help", "display this help and exit"),
|
getopts::optflag("h", "help", "display this help and exit"),
|
||||||
getopts::optflag("a", "all", "Behave as though all of the options -mnrsv were specified."),
|
getopts::optflag("a", "all", "Behave as though all of the options -mnrsv were specified."),
|
||||||
|
|
|
@ -18,7 +18,7 @@ extern crate getopts;
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
|
|
||||||
use std::os;
|
use std::os;
|
||||||
use std::cast::transmute;
|
use std::mem::transmute;
|
||||||
use std::io::{print, File};
|
use std::io::{print, File};
|
||||||
use std::ptr::null;
|
use std::ptr::null;
|
||||||
use std::from_str::from_str;
|
use std::from_str::from_str;
|
||||||
|
@ -49,7 +49,7 @@ extern {
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("v", "version", "output version information and exit"),
|
getopts::optflag("v", "version", "output version information and exit"),
|
||||||
getopts::optflag("h", "help", "display this help and exit"),
|
getopts::optflag("h", "help", "display this help and exit"),
|
||||||
|
|
|
@ -20,7 +20,7 @@ extern crate getopts;
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
|
|
||||||
use std::io::print;
|
use std::io::print;
|
||||||
use std::cast;
|
use std::mem;
|
||||||
use std::os;
|
use std::os;
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
use std::str;
|
use std::str;
|
||||||
|
@ -49,7 +49,7 @@ static NAME: &'static str = "users";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].as_slice();
|
let program = args.get(0).as_slice();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("h", "help", "display this help and exit"),
|
getopts::optflag("h", "help", "display this help and exit"),
|
||||||
getopts::optflag("V", "version", "output version information and exit"),
|
getopts::optflag("V", "version", "output version information and exit"),
|
||||||
|
@ -103,7 +103,7 @@ fn exec(filename: &str) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*line).ut_type == USER_PROCESS {
|
if (*line).ut_type == USER_PROCESS {
|
||||||
let user = str::raw::from_c_str(cast::transmute(&(*line).ut_user));
|
let user = str::raw::from_c_str(mem::transmute(&(*line).ut_user));
|
||||||
users.push(user);
|
users.push(user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2
wc/wc.rs
2
wc/wc.rs
|
@ -35,7 +35,7 @@ static NAME: &'static str = "wc";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("c", "bytes", "print the byte counts"),
|
getopts::optflag("c", "bytes", "print the byte counts"),
|
||||||
getopts::optflag("m", "chars", "print the character counts"),
|
getopts::optflag("m", "chars", "print the character counts"),
|
||||||
|
|
|
@ -43,7 +43,7 @@ static NAME: &'static str = "whoami";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].as_slice();
|
let program = args.get(0).as_slice();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("h", "help", "display this help and exit"),
|
getopts::optflag("h", "help", "display this help and exit"),
|
||||||
getopts::optflag("V", "version", "output version information and exit"),
|
getopts::optflag("V", "version", "output version information and exit"),
|
||||||
|
|
|
@ -26,7 +26,7 @@ static NAME: &'static str = "yes";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
let program = args[0].clone();
|
let program = args.get(0).clone();
|
||||||
let opts = ~[
|
let opts = ~[
|
||||||
getopts::optflag("h", "help", "display this help and exit"),
|
getopts::optflag("h", "help", "display this help and exit"),
|
||||||
getopts::optflag("V", "version", "output version information and exit"),
|
getopts::optflag("V", "version", "output version information and exit"),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue