git: afb21c3a5910 - stable/14 - chflags(1): obey siginfo request on chflagsat(2) failure
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 06 Feb 2024 00:38:24 UTC
The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=afb21c3a5910fee2e6792121302840c5c2a69369 commit afb21c3a5910fee2e6792121302840c5c2a69369 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2024-01-30 18:07:59 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2024-02-06 00:37:37 +0000 chflags(1): obey siginfo request on chflagsat(2) failure (cherry picked from commit 2954af09f143ed1e484f7ca520e0d2611101e248) --- bin/chflags/chflags.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/chflags/chflags.c b/bin/chflags/chflags.c index 5c9a2f7e7f42..39191c9a3ae2 100644 --- a/bin/chflags/chflags.c +++ b/bin/chflags/chflags.c @@ -74,7 +74,7 @@ main(int argc, char *argv[]) u_long clear, newflags, set; long val; int Hflag, Lflag, Rflag, fflag, hflag, vflag, xflag; - int ch, fts_options, oct, rval; + int ch, e, fts_options, oct, rval; char *flags, *ep; Hflag = Lflag = Rflag = fflag = hflag = vflag = xflag = 0; @@ -196,10 +196,16 @@ main(int argc, char *argv[]) continue; if (chflagsat(AT_FDCWD, p->fts_accpath, newflags, atflag) == -1) { + e = errno; if (!fflag) { - warn("%s", p->fts_path); + warnc(e, "%s", p->fts_path); rval = 1; } + if (siginfo) { + (void)printf("%s: %s\n", p->fts_path, + strerror(e)); + siginfo = 0; + } } else if (vflag || siginfo) { (void)printf("%s", p->fts_path); if (vflag > 1 || siginfo)