diff options
author | Ondřej Vašík <ovasik@redhat.com> | 2008-11-27 15:04:10 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2008-12-03 11:02:45 +0100 |
commit | b8497a3a7af5cacb6348854370b2b0d68fc66695 (patch) | |
tree | 2542a0c6f14fbf9e849654ec83075aa0ceb94e86 /src/chown-core.c | |
parent | c2e56e0de7d86bdc0f824d758a7efde4d5d7b235 (diff) | |
download | coreutils-b8497a3a7af5cacb6348854370b2b0d68fc66695.tar.xz |
chmod, chown, chgrp: honor --silent (-f) once again
* chmod.c (process_file): Make -f suppress fts-related diagnostics.
* chown-core.c (change_file_owner): Likewise.
Reported via <http://bugzilla.redhat.com/474220>.
Diffstat (limited to 'src/chown-core.c')
-rw-r--r-- | src/chown-core.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/chown-core.c b/src/chown-core.c index 4ab52ac53..cf0c941b6 100644 --- a/src/chown-core.c +++ b/src/chown-core.c @@ -296,18 +296,22 @@ change_file_owner (FTS *fts, FTSENT *ent, fts_set (fts, ent, FTS_AGAIN); return true; } - error (0, ent->fts_errno, _("cannot access %s"), quote (file_full_name)); + if (! chopt->force_silent) + error (0, ent->fts_errno, _("cannot access %s"), + quote (file_full_name)); ok = false; break; case FTS_ERR: - error (0, ent->fts_errno, _("%s"), quote (file_full_name)); + if (! chopt->force_silent) + error (0, ent->fts_errno, _("%s"), quote (file_full_name)); ok = false; break; case FTS_DNR: - error (0, ent->fts_errno, _("cannot read directory %s"), - quote (file_full_name)); + if (! chopt->force_silent) + error (0, ent->fts_errno, _("cannot read directory %s"), + quote (file_full_name)); ok = false; break; @@ -338,8 +342,9 @@ change_file_owner (FTS *fts, FTSENT *ent, { if (fstatat (fts->fts_cwd_fd, file, &stat_buf, 0) != 0) { - error (0, errno, _("cannot dereference %s"), - quote (file_full_name)); + if (! chopt->force_silent) + error (0, errno, _("cannot dereference %s"), + quote (file_full_name)); ok = false; } @@ -492,7 +497,8 @@ chown_files (char **files, int bit_flags, if (errno != 0) { /* FIXME: try to give a better message */ - error (0, errno, _("fts_read failed")); + if (! chopt->force_silent) + error (0, errno, _("fts_read failed")); ok = false; } break; |