Only ignore ENOSYS error from lutimes().
authorWayne Davison <wayned@samba.org>
Mon, 17 Dec 2007 01:18:01 +0000 (17:18 -0800)
committerWayne Davison <wayned@samba.org>
Mon, 17 Dec 2007 01:18:01 +0000 (17:18 -0800)
util.c

diff --git a/util.c b/util.c
index 2544b45..05748b1 100644 (file)
--- a/util.c
+++ b/util.c
@@ -147,8 +147,9 @@ int set_modtime(const char *fname, time_t modtime, mode_t mode)
                t[1].tv_usec = 0;
 # ifdef HAVE_LUTIMES
                if (S_ISLNK(mode)) {
-                       lutimes(fname, t);
-                       return 0; /* ignore errors */
+                       if (lutimes(fname, t) < 0 && errno != ENOSYS)
+                               return -1;
+                       return 0;
                }
 # endif
                return utimes(fname, t);