From 7280a913a12ebfe33e8cad1b217b84944bbd3681 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Thu, 8 Oct 2009 15:57:06 -0600 Subject: copy: allow symlink timestamp preservation on more systems * src/copy.c (utimens_symlink): Simplify by using lutimens. * m4/jm-macros.m4 (coreutils_MACROS): Drop utimensat; gnulib does this for us. * tests/cp/preserve-slink-time: Recognize lutimes support. --- src/copy.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'src') diff --git a/src/copy.c b/src/copy.c index 49e620afd..0a8b0e41d 100644 --- a/src/copy.c +++ b/src/copy.c @@ -123,20 +123,12 @@ static char const *top_level_dst_name; static inline int utimens_symlink (char const *file, struct timespec const *timespec) { - int err = 0; - -#if HAVE_UTIMENSAT - err = utimensat (AT_FDCWD, file, timespec, AT_SYMLINK_NOFOLLOW); + int err = lutimens (file, timespec); /* When configuring on a system with new headers and libraries, and running on one with a kernel that is old enough to lack the syscall, utimensat fails with ENOSYS. Ignore that. */ if (err && errno == ENOSYS) err = 0; -#else - (void) file; - (void) timespec; -#endif - return err; } -- cgit v1.2.3-54-g00ecf