Skip to content

Commit 6f955da

Browse files
oech3sylvestre
authored andcommitted
install -dv a >/dev/full panics
1 parent cd50a4d commit 6f955da

1 file changed

Lines changed: 18 additions & 12 deletions

File tree

src/uu/install/src/install.rs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ use std::ffi::OsString;
1616
use std::fmt::Debug;
1717
use std::fs::{self, metadata};
1818
use std::fs::{File, OpenOptions};
19+
use std::io::{Write, stdout};
1920
use std::path::{MAIN_SEPARATOR, Path, PathBuf};
2021
use std::process;
2122
use thiserror::Error;
@@ -496,10 +497,11 @@ fn directory(paths: &[OsString], b: &Behavior) -> UResult<()> {
496497
}
497498

498499
if b.verbose {
499-
println!(
500+
writeln!(
501+
stdout(),
500502
"{}",
501503
translate!("install-verbose-creating-directory", "path" => path_to_create.quote())
502-
);
504+
)?;
503505
}
504506
}
505507

@@ -627,10 +629,11 @@ fn standard(mut paths: Vec<OsString>, b: &Behavior) -> UResult<()> {
627629
result.push(part.as_os_str());
628630
if !result.is_dir() {
629631
// Don't display when the directory already exists
630-
println!(
632+
writeln!(
633+
stdout(),
631634
"{}",
632635
translate!("install-verbose-creating-directory-step", "path" => result.quote())
633-
);
636+
)?;
634637
}
635638
}
636639
}
@@ -757,7 +760,7 @@ fn chown_optional_user_group(path: &Path, b: &Behavior) -> UResult<()> {
757760
Err(e) => return Err(InstallError::MetadataFailed(e).into()),
758761
};
759762
match wrap_chown(path, &meta, owner_id, group_id, false, verbosity) {
760-
Ok(msg) if b.verbose && !msg.is_empty() => println!("chown: {msg}"),
763+
Ok(msg) if b.verbose && !msg.is_empty() => writeln!(stdout(), "chown: {msg}")?,
761764
Ok(_) => {}
762765
Err(e) => return Err(InstallError::ChownFailed(path.to_path_buf(), e).into()),
763766
}
@@ -779,10 +782,11 @@ fn chown_optional_user_group(path: &Path, b: &Behavior) -> UResult<()> {
779782
fn perform_backup(to: &Path, b: &Behavior) -> UResult<Option<PathBuf>> {
780783
if to.exists() {
781784
if b.verbose {
782-
println!(
785+
writeln!(
786+
stdout(),
783787
"{}",
784788
translate!("install-verbose-removed", "path" => to.quote())
785-
);
789+
)?;
786790
}
787791
let backup_path = backup_control::get_backup_path(b.backup_mode, to, &b.suffix);
788792
if let Some(ref backup_path) = backup_path {
@@ -988,16 +992,18 @@ fn copy(from: &Path, to: &Path, b: &Behavior) -> UResult<()> {
988992
}
989993

990994
if b.verbose {
991-
print!(
995+
write!(
996+
stdout(),
992997
"{}",
993998
translate!("install-verbose-copy", "from" => from.quote(), "to" => to.quote())
994-
);
999+
)?;
9951000
match backup_path {
996-
Some(path) => println!(
1001+
Some(path) => writeln!(
1002+
stdout(),
9971003
" {}",
9981004
translate!("install-verbose-backup", "backup" => path.quote())
999-
),
1000-
None => println!(),
1005+
)?,
1006+
None => writeln!(stdout())?,
10011007
}
10021008
}
10031009

0 commit comments

Comments
 (0)