X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Futimens.c;h=e12821962c6927bca06849810718a629b8c2b98c;hb=95454b6b2dbb9f57bf5623a0fd8d40fb2433c4d7;hp=e72b84046d3278bc07b3a14d1a8bb3ed460e8e01;hpb=e79ca436ed76c5537508f3901d7fefdc67412220;p=gnulib.git
diff --git a/lib/utimens.c b/lib/utimens.c
index e72b84046..e12821962 100644
--- a/lib/utimens.c
+++ b/lib/utimens.c
@@ -1,10 +1,11 @@
/* Set file access and modification times.
- Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software
+ Foundation, Inc.
- This program is free software; you can redistribute it and/or modify it
+ This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option) any
+ Free Software Foundation; either version 3 of the License, or any
later version.
This program is distributed in the hope that it will be useful,
@@ -13,8 +14,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program. If not, see . */
/* Written by Paul Eggert. */
@@ -26,6 +26,7 @@
#include
#include
+#include
#include
#if HAVE_UTIME_H
@@ -53,7 +54,7 @@ struct utimbuf
#endif
#ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
# define __attribute__(x)
# endif
#endif
@@ -73,8 +74,8 @@ struct utimbuf
Return 0 on success, -1 (setting errno) on failure. */
int
-futimens (int fd ATTRIBUTE_UNUSED,
- char const *file, struct timespec const timespec[2])
+gl_futimens (int fd ATTRIBUTE_UNUSED,
+ char const *file, struct timespec const timespec[2])
{
/* Some Linux-based NFS clients are buggy, and mishandle time stamps
of files in NFS file systems in some cases. We have no
@@ -87,10 +88,10 @@ futimens (int fd ATTRIBUTE_UNUSED,
problem affects many applications. */
#if HAVE_BUGGY_NFS_TIME_STAMPS
- if (0 <= fd)
- fsync (fd);
- else
+ if (fd < 0)
sync ();
+ else
+ fsync (fd);
#endif
/* There's currently no interface to set file timestamps with
@@ -183,5 +184,5 @@ futimens (int fd ATTRIBUTE_UNUSED,
int
utimens (char const *file, struct timespec const timespec[2])
{
- return futimens (-1, file, timespec);
+ return gl_futimens (-1, file, timespec);
}