From: Jim Meyering Date: Sun, 2 Dec 2001 20:05:33 +0000 (+0000) Subject: (touch): Extend the change of 2001-09-15 to work on X-Git-Tag: FILEUTILS-4_1_3~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7afc9d18292231719e569fbc89582e3d53d2293a;p=thirdparty%2Fcoreutils.git (touch): Extend the change of 2001-09-15 to work on systems for which errno is set to EPERM in that case. Thus, e.g., `touch /' by non-root gives a better diagnostic on systems like SunOS4. --- diff --git a/src/touch.c b/src/touch.c index a4225f9273..3590cb51bf 100644 --- a/src/touch.c +++ b/src/touch.c @@ -146,8 +146,8 @@ touch (const char *file) /* Don't save a copy of errno if it's EISDIR, since that would lead touch to give a bogus diagnostic for e.g., `touch /' (assuming we don't own / or have write access to it). On Solaris 5.6, - and probably other systems, it is EINVAL. */ - if (fd == -1 && errno != EISDIR && errno != EINVAL) + and probably other systems, it is EINVAL. On SunOS4, it's EPERM. */ + if (fd == -1 && errno != EISDIR && errno != EINVAL && errno != EPERM) open_errno = errno; }