diff options
Diffstat (limited to 'openat/examples')
-rw-r--r-- | openat/examples/exchange.rs | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/openat/examples/exchange.rs b/openat/examples/exchange.rs deleted file mode 100644 index 21fdf0a..0000000 --- a/openat/examples/exchange.rs +++ /dev/null @@ -1,39 +0,0 @@ -extern crate argparse; -extern crate openat; - -use std::process::exit; -use std::path::PathBuf; - -use argparse::{ArgumentParser, Parse}; -use openat::Dir; - -#[cfg(not(target_os="linux"))] -fn main() { - println!("Atomic exchange is not supported on this platform") -} - -#[cfg(target_os="linux")] -fn main() { - let mut path1 = PathBuf::new(); - let mut path2 = PathBuf::new(); - { - let mut ap = ArgumentParser::new(); - ap.refer(&mut path1) - .add_argument("path1", Parse, "First path of exchange operation") - .required(); - ap.refer(&mut path2) - .add_argument("path2", Parse, "Second path of exchange operation") - .required(); - ap.parse_args_or_exit(); - } - if path1.parent() != path2.parent() { - println!("Paths must be in the same directory"); - exit(1); - } - let parent = path1.parent().expect("path must have parent directory"); - let dir = Dir::open(parent).expect("can open directory"); - dir.local_exchange( - path1.file_name().expect("path1 must have filename"), - path2.file_name().expect("path2 must have filename"), - ).expect("can rename"); -} |