Merge branch 'stable'
[gnulib.git] / doc / posix-functions / utimes.texi
index 293784a..0db82c9 100644 (file)
@@ -2,7 +2,7 @@
 @section @code{utimes}
 @findex utimes
 
-POSIX specification: @url{http://www.opengroup.org/susv3xsh/utimes.html}
+POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/utimes.html}
 
 Gnulib module: ---
 
@@ -14,8 +14,29 @@ Portability problems not fixed by Gnulib:
 @itemize
 @item
 This function is missing on some platforms:
-mingw, Interix 3.5, BeOS.
+Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS.
 @item
-This function is marked as ``legacy'' in POSIX.  Better use @code{utime}
+The declaration of this function lacks @code{const} in the second argument
+on some platforms:
+OSF/1 5.1.
+@item
+On some platforms, this function mis-handles trailing slash:
+FreeBSD 7.2, Solaris 9.
+@item
+This function cannot set full timestamp resolution.  In particular,
+some platforms incorrectly round rather than truncate.  Use
+@code{utimensat(AT_FDCWD,file,times,0)}, or the gnulib module utimens,
 instead.
+@item
+On some platforms, @code{utimes (file, NULL)} fails to set the
+file's timestamp to the current time:
+glibc 2.3.3.
+@item
+On some platforms, @code{utimes} failed on read-only files when
+@code{utime} worked fine.
+glibc 2.2.5.
 @end itemize
+
+Extension: Gnulib provides a module @samp{utimens} that works around these
+problems and allows to set the time with nanosecond resolution (as far as
+supported by the file system).