From 4d01a8fb5f783afbc4f35481970b8a7c6d22ca06 Mon Sep 17 00:00:00 2001 From: Eric Melville Date: Tue, 23 Jul 2002 04:54:57 +0000 Subject: [PATCH] Handle directories correctly. PR: 40801 MFC after: 5 days --- usr.bin/touch/touch.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/usr.bin/touch/touch.c b/usr.bin/touch/touch.c index d92af2ded5b1..ce2e712815bd 100644 --- a/usr.bin/touch/touch.c +++ b/usr.bin/touch/touch.c @@ -186,8 +186,11 @@ main(argc, argv) continue; /* Try reading/writing. */ - if (rw(*argv, &sb, fflag)) + if (!S_ISLNK(sb.st_mode) && !S_ISDIR(sb.st_mode) && + rw(*argv, &sb, fflag)) rval = 1; + else + warn("%s", *argv); } exit(rval); } @@ -312,8 +315,8 @@ rw(fname, sbp, force) int fd, needed_chmod, rval; u_char byte; - /* Try regular files and directories. */ - if (!S_ISREG(sbp->st_mode) && !S_ISDIR(sbp->st_mode)) { + /* Try regular files. */ + if (!S_ISREG(sbp->st_mode)) { warnx("%s: %s", fname, strerror(EFTYPE)); return (1); }