diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2024-01-30 18:07:59 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2024-01-30 20:21:55 +0000 |
commit | 2954af09f143ed1e484f7ca520e0d2611101e248 (patch) | |
tree | 094e967470aa011ce1546a05bea8705d81fdb0a2 /bin/chflags/chflags.c | |
parent | 30c741c6e4bb66a5814c6c3783de9032e86380e6 (diff) | |
download | src-2954af09f143ed1e484f7ca520e0d2611101e248.tar.gz src-2954af09f143ed1e484f7ca520e0d2611101e248.zip |
Diffstat (limited to 'bin/chflags/chflags.c')
-rw-r--r-- | bin/chflags/chflags.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/bin/chflags/chflags.c b/bin/chflags/chflags.c index 0972240558df..a78ebbfd471d 100644 --- a/bin/chflags/chflags.c +++ b/bin/chflags/chflags.c @@ -61,7 +61,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; @@ -183,10 +183,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) |