use rightkit_fs::clone_file_nofollow;
use std::ffi::OsString;
use std::path::Path;
use std::process::ExitCode;
fn main() -> ExitCode {
let args: Vec<OsString> = std::env::args_os().skip(1).collect();
if args.len() != 2 {
eprintln!(
"{}",
serde_json::json!({ "ok": false, "code": "CLONE_USAGE", "message": "usage: rightkit-clonefile SRC DST" })
);
return ExitCode::from(2);
}
match clone_file_nofollow(Path::new(&args[0]), Path::new(&args[1])) {
Ok(()) => ExitCode::SUCCESS,
Err(error) => {
eprintln!(
"{}",
serde_json::json!({ "ok": false, "code": error.code(), "message": error.to_string() })
);
ExitCode::from(error.exit_code())
}
}
}