mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-30 04:27:45 +00:00
Clean up with changes from Arcterus.
This commit is contained in:
parent
9d5631228a
commit
62632faa63
1 changed files with 14 additions and 27 deletions
|
@ -92,26 +92,19 @@ fn exec(dirs: Vec<String>, recursive: bool, mode: u16, verbose: bool) -> i32 {
|
||||||
let empty = Path::new("");
|
let empty = Path::new("");
|
||||||
for dir in &dirs {
|
for dir in &dirs {
|
||||||
let path = Path::new(dir);
|
let path = Path::new(dir);
|
||||||
if recursive {
|
if !recursive {
|
||||||
status |= mkdir(path, recursive, mode, verbose);
|
if let Some(parent) = path.parent() {
|
||||||
} else {
|
if parent != empty && !parent.exists() {
|
||||||
match path.parent() {
|
show_info!(
|
||||||
Some(parent) => {
|
"cannot create directory '{}': No such file or directory",
|
||||||
if parent != empty && !parent.exists() {
|
path.display()
|
||||||
show_info!(
|
);
|
||||||
"cannot create directory '{}': No such file or directory",
|
status = 1;
|
||||||
path.display()
|
continue;
|
||||||
);
|
|
||||||
status = 1;
|
|
||||||
} else {
|
|
||||||
status |= mkdir(path, recursive, mode, verbose);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
None => {
|
|
||||||
status |= mkdir(path, recursive, mode, verbose);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
status |= mkdir(path, recursive, mode, verbose);
|
||||||
}
|
}
|
||||||
status
|
status
|
||||||
}
|
}
|
||||||
|
@ -120,16 +113,10 @@ fn exec(dirs: Vec<String>, recursive: bool, mode: u16, verbose: bool) -> i32 {
|
||||||
* Wrapper to catch errors, return 1 if failed
|
* Wrapper to catch errors, return 1 if failed
|
||||||
*/
|
*/
|
||||||
fn mkdir(path: &Path, recursive: bool, mode: u16, verbose: bool) -> i32 {
|
fn mkdir(path: &Path, recursive: bool, mode: u16, verbose: bool) -> i32 {
|
||||||
if recursive {
|
let create_dir = if recursive { fs::create_dir_all } else { fs::create_dir };
|
||||||
if let Err(e) = fs::create_dir_all(path) {
|
if let Err(e) = create_dir(path) {
|
||||||
show_info!("cannot create directory '{}': {}", path.display(), e.to_string());
|
show_info!("{}: {}", path.display(), e.to_string());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if let Err(e) = fs::create_dir(path) {
|
|
||||||
show_info!("{}: {}", path.display(), e.to_string());
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if verbose {
|
if verbose {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue